我在一些子项目中有 shell 脚本。这些项目不编译任何东西。我想要的是将脚本和/或预构建的二进制文件复制到与编译本地应用程序相同的位置。
#configure_file(test.sh test.sh COPYONLY)
add_custom_target(run ALL DEPENDS test.sh)
#add_custom_target(foo
# COMMAND cp test.sh
# ${CMAKE_CURRENT_BINARY_DIR}/test.sh)
add_custom_command(
OUTPUT test.sh
COMMAND cp test.sh ${CMAKE_CURRENT_BINARY_DIR}/test.sh
DEPENDS test.sh)
# COMMAND ${CMAKE_COMMAND} -E copy
# ${CMAKE_SOURCE_DIR}/test.sh
# ${CMAKE_CURRENT_BINARY_DIR}/test.sh)
这显示了我尝试的一切。
configure_file 仅在我进行干净构建且不再进行时才有效。每次我进行差异构建时,我都需要它工作。