Cmake總結

Cmake可以幫助我們簡化對多個文件的同時編譯,使得項目構建變得簡單起來。Cmake的主要特點是:
跨平臺,並可生成native編譯配置文件,在Linux/Unix平臺,生成makefile,在蘋果平臺,可以生成xcode,在Windows平臺,可以生成MSVC的工程文件;簡化編譯構建過程和編譯過程,Cmake的工具鏈非常簡單:cmake+make;Cmake有兩種編譯方式:in-source build(內部構建),out-of-source build(外部構建)。

1.cmake變量引用的方式:
cmake中使用IF使 {}取值。

2.自定義變量的方式:
使用SET 指令,就可以構建一個自定義變量了,比如SET(SRC_LIST main.c t1.c t2.c),就可以通過${SRC_LIST}來引用這個自定義變量了。

3.cmake常用變量:
CMAKE_BINARY_DIR=PROJECT_BINARY_DIR=< projectname >_BINARY_DIR,如果是in source編譯,就是工程頂層目錄,如果是out-of-source編譯,指的是工程編譯發生的目錄。

CMAKE_SOURCE_DIR=PROJECT_SOURCE_DIR=< projectname >_SOURCE_DIR,無論哪種編譯方式,都是工程頂層目錄。

CMAKE_CURRENT_SOURCE_DIR指的是當前處理的CMkeLists.txt所在的路徑。

EXECUTABLE_OUTPUT_PATH和LIBRARY_OUTPUT_PATH分別重新定義最終結果的存放目錄。

4.cmake調用環境變量的方式:
使用$ENV{NAME}就可以調用系統的環境變量了。

5.cmake常用指令:
MESSAGE用於向終端輸出用戶定義的信息。
ADD_DEPENDENCIES定義target依賴的其他target,確保在編譯本target之前,其他的target已經被構建。
ADD_EXECUTABLE
ADD_LIBRARY
ADD_SUBDIRECTORY
ADD_TEST
FILE
INCLUDE
INATALL
FIND_指令
IF
WHILE

注意:在linux系統中,一般的流程如下:
源文件→cmakelists.txt→cmake→makefile→make→生成可執行文件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章