Cmake基礎教程(二):添加源文件
1、直接添加源文件到生成目標
? ? ? ?通常源文件與 CMakeLists?位于同一路徑,并且源文件個數(shù)較少。
? ? ? ?添加生成目標時添加。例如:add_executable (test main.c test.c)? 或 add_library (test?STATIC?test1.c test2.c) 則是在生成可執(zhí)行文件或靜態(tài)庫時,通過源文件名鏈接源文件。
2、先添加生成目標,再鏈接源文件。
? ? ? ?此時需要使用 target_sources 命令,在生成目標命令后使用,也可以用于追加新的源文件。命令包含3個參數(shù):目標、源文件依賴范圍、源文件/文件集 (可以是多個,同時每個文件對應一個范圍參數(shù))。
例如:target_sources(test?PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/source/add.cpp)
3、搜索命令
? ? ? ?搜索命令可以將某個目錄中的所有源文件放在一個變量中,這個變量可以在生成目標或鏈接源文件時通過 ${ }?使用這個值使用,而不用依次列舉文件名。
? ? ? ?① file 命令:可以用于搜索指定目錄中特定格式的文件并將其放入一個變量中,可以使用該命令一次性添加目錄中的源文件,而且可以同時添加多種類型的文件。例如:?file (GLOB SRC ${CMAKE_CURRENT_SOURCE_DIR}/test?"*.c") 可以將當前目錄中的所有 .c 文件放在SRC變量中。
? ? ? ②?aux_source_directory 命令:可以用于搜索指定目錄中源文件并將其放入一個變量中,例如:aux_source_directory? (${CMAKE_CURRENT_SOURCE_DIR}/test SRC)?將當前目錄中的源文件放在SRC變量中。