cmake工具簡介

2021-07-25 02:09:25 字數 2450 閱讀 9294

ttposted @ 2023年10月13日 03:38 in

cmake , 25057 閱讀

cmake是乙個跨平台的安裝(編譯)工具,可以用簡單的語句來描述所有平台的安裝(編譯過程)。他能夠輸出各種各樣的makefile或者project檔案,能測試編譯器所支援的c++特性,類似unix下的automake。

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

() /src/a.c

#include"../include/a.h"

double get_sqrt

(double 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教程

檔名稱 cmakelists.txt 檔案內容 乙個總工程的根目錄 宣告要求的 cmake 最低版本 cmake minimum required version 2.8 宣告乙個 cmake 工程 project robotics 設定編譯模式 set cmake build type debug...

編譯配置工具 CMake

cmake是乙個比make更高階的編譯配置工具,主要編寫cmakelists.txt檔案,然後使用cmake指令生成makefile檔案.cmake編譯 cmake directory makedirectory是cmakelist.txt所在目錄 command args.command是命令名,...

Linux下cmake使用簡介

cmake好像都說比直接寫makefile牛一點,因為它可以自動生成makefile。專門針對檔案比較多的情況,要不是這幾天在用別人的 一大堆,我覺得用makefile也夠了,但是據說linux程式設計師必備技能啊,所以還是要學學這麼高階的東西。在源 目錄src中建立cmakelists.txt檔案...