add_custom_target
增加一个没有输出的目标,使得它总是被构建。
add_custom_target(Name [ALL] [command1 [args1...]]
[COMMAND command2 [args2...] ...]
[DEPENDS depend depend depend ...]
[BYPRODUCTS [files...]]
[WORKING_DIRECTORY dir]
[COMMENT comment]
[JOB_POOL job_pool]
[VERBATIM] [USES_TERMINAL]
[COMMAND_EXPAND_LISTS]
[SOURCES src1 [src2...]]
)
一般情况下,只用到其中的两三个。
add_custom_target(CopyTask
COMMAND ${CMAKE_COMMAND} -E copy_director ${CMAKE_CURRENT_SOURCE_DIR}/config ${CMAKE_CURRENT_SOURCE_DIR}/etc
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/log.txt
${CMAKE_CURRENT_SOURCE_DIR}/etc
)
根目录下config文件夹,或者有log.txt文件,那么文件夹内的文件和log.txt会拷贝到etc文件夹下。
${CMAKE_COMMAND}是CMake的路径,-E使得CMake运行命令而不是构建,
copy_directory和copy是cmake_command_line,后面两个参数是command_line的参数。
add_custom_command
为某个目标添加一个定制命令。
这种定制命令可以设置在,构建这个目标过程中的某些时机。
浙公网安备 33010602011771号