Cmake基础教程(二):添加源文件
1、直接添加源文件到生成目标
通常源文件与 CMakeLists 位于同一路径,并且源文件个数较少。
添加生成目标时添加。例如:add_executable (test main.c test.c) 或 add_library (test STATIC test1.c test2.c) 则是在生成可执行文件或静态库时,通过源文件名链接源文件。
2、先添加生成目标,再链接源文件。
此时需要使用 target_sources 命令,在生成目标命令后使用,也可以用于追加新的源文件。命令包含3个参数:目标、源文件依赖范围、源文件/文件集 (可以是多个,同时每个文件对应一个范围参数)。
例如: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变量中。