每次编译后,我使用以下命令将配置文件复制到构建目录中。
# Gather list of all .xml and .conf files in "/config"
file(GLOB ConfigFiles ${CMAKE_SOURCE_DIR}/config/*.xml
${CMAKE_SOURCE_DIR}/config/*.conf)
foreach(ConfigFile ${ConfigFiles})
add_custom_command(TARGET MyTarget PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E
copy ${ConfigFile} $<TARGET_FILE_DIR:MyTarget>)
endforeach()
每次我编译项目时都会触发此操作。是否有可能在CMakeLists.txt中创建一个目标,以便在不需要编译任何内容的情况下复制文件?就像“make copy”一样。
add_custom_command
命令吗?一个用于主可执行目标,另一个用于复制目标?因为现在自定义命令大致如下:add_custom_command(TARGET ${PRODUCT} PRE_BUILD
。我希望文件在构建主目标或执行“make copy”时被复制。 - B Faleyadd_dependencies(${PRODUCT} copy)
让${PRODUCT}
依赖于copy
。 - Angew is no longer proud of SOFILE(COPY ...)
命令来实现这个功能? - wilx