CMake是一個開源、跨平台的工具,旨在構建、測試和打包軟件,CMake可以使用簡單的語句和編譯配置文件來控制軟件的編譯過程。在這里主要介紹CMake語句、CMake的流程控制、內置變量、查看log
CMake語句主要有3類用法:
- 設置變量:set、file、list、find_library、aux_source_directory、generator expressions;
- 設置target:就是呀構建的目標是什么,語句有add_library、add_executable;
- 設置target的屬性:包括add_definitions、target_link_libraries、link_directories、include_directories、target_include_directories;
一、設置變量的CMake語句
set語句:可以將一個或者多邊值賦值給變量
set(SystemPath include/de/test/h);
set(SystemPath
include/de/test1/h
include/de/test2/h
include/de/test3/h
include/de/test4/h)
file:使用正則表達式來匹配文件,將文件路徑賦值給第一個參數,通常和GLOB來一起使用
file(GLOB gemfield_SRC_list ${root}/*?*.cpp)
List:對list進行各種操作,第一個參數表示操作類型。
list(REMOVE_ITEM ......)
find_library:尋找一個庫,將找到的庫的絕對路徑賦值給變量
find_library(libg_path lib.tt PATHS ${CUDA_TOOLKIT_ROOT_Dir}/lib32)
aux_source_directory:將指定目錄中的所有文件名稱存儲在一個類型是list的集合變量中。
二、設置taget
Add_library :將名稱為name參數的修改為一個Library
add_library(test SOURCES $(FileSources))
add_executable:使用指定的源文件來添加一個執行的工程
三、設置target屬性
add_defintions:添加一個宏
target_link_libraries:添加編譯lib庫
target_link_libraries(test $(testLibes) name)
