CMake 使用方法

2021-07-11 09:32:14 字數 2424 閱讀 8987

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...