cmake是乙個跨平台的安裝(編譯)工具,可以用簡單的語句來描述所有平台的安裝(編譯過程)。他能夠輸出各種各樣的makefile或者project檔案,能測試編譯器所支援的c++特性,類似unix下的automake。
cmake 使用方法
cmake的所有的語句都寫在乙個叫:cmakelists.txt 的檔案中。當cmakelists.txt檔案確定後,可以用ccmake命令對相關 的變數值進行配置。這個命令必須指向cmakelists.txt所在的目錄。配置完成之後,應用cmake命令生成相應的makefile(在unix like系統下)或者 project檔案(指定用window下的相應程式設計工具編譯時)。
其基本操作流程為:
$> ccmake directory
$> cmake directory
$> make
其中directory為cmakelist.txt所在目錄;
cmake的執行就是這麼簡單,其難點在於如何編寫cmakelists.txt檔案,下面結合例子簡單介紹cmakelists.txt的編寫,看下面這個cmakelists.txt
#project name
project(test_math)
#head file path
include_directories(
include
#source directory
aux_source_directory(src dir_srcs)
#set environment variable
set(test_math
$#set extern libraries
set(libraries
libm.so
#add executable file
add_executable(../bin/bin $)
#add link library
target_link_libraries(../bin/bin $)
或者用下面這個cmakelists.txt
#project name
project(test_math)
#head file path
include_directories(
include
#source directory
aux_source_directory(src dir_srcs)
#set environment variable
set(test_math
$#add executable file
add_executable(../bin/bin $)
#add link library
target_link_libraries(../bin/bin m)
這是乙個測試數學函式的程式的cmakelists.txt,"#"後面為注釋的內容,cmake的命令全部為大寫
第2行指定生成的工程名為test_math
第4行指定頭檔案目錄為include
第8行指定源檔案目錄為src,並將其賦值給環境變數dir_srcs
第10行設定環境變數test_math的值為環境變數dir_srcs的值,此處用於顯示如何用環境變數對環境變數進行賦值
第14行將數學函式庫賦值給環境變數libraries,當然,可以不用這個環境變數,而在後面直接使用該庫名
第18行用於指定生成檔案,將環境變數test_math目錄下的所有檔案編譯生成../bin目錄下的可執行檔案bin
第20行指定../bin/bin執行時的鏈結庫為環境變數libraries的值-libm.so
下面給出原始檔
/src/main.c:
#include
#include"../include/a.h"
int main()
double b=25.0;
double a=0.0;
a=get_sqrt(b);
printf("a is %lf, b is %lf\n",a,b);
return 0;
/src/a.c
#include"../include/a.h"
double get_sqrt(double var1)
return sqrt(var1);
/include/a.h
#ifndef a_file_header_inc
#define a_file_header_inc
#include
double get_sqrt(double var1);
#endif
將cmakelists.txt放在當前目錄下,執行cmakelists.txt
$> cmake .
$> make
即可生成可執行檔案,在目錄/bin下的bin檔案,好了執行看其效果是否和所想一樣。
CMake 使用方法
cmake是乙個跨平台的安裝 編譯 工具,可以用簡單的語句來描述所有平台的安裝 編譯過程 他能夠輸出各種各樣的makefile或者project檔案,能測試編譯器所支援的c 特性,類似unix下的automake。cmake 使用方法 cmake的所有的語句都寫在乙個叫 cmakelists.txt...
Cmake 使用方法
cmake是乙個跨平台的安裝 編譯 工具,可以用簡單的語句來描述所有平台的安裝 編譯過程 他能夠輸出各種各樣的makefile或者project檔案,能測試編譯器所支援的c 特性,類似unix下的automake。cmake 使用方法 cmake的所有的語句都寫在乙個叫 cmakelists.txt...
CMake 使用方法
cmake是乙個跨平台的安裝 編譯 工具,可以用簡單的語句來描述所有平台的安裝 編譯過程 他能夠輸出各種各樣的makefile或者project檔案,能測試編譯器所支援的c 特性,類似unix下的automake。cmake 使用方法 cmake的所有的語句都寫在乙個叫 cmakelists.txt...