因此,有很多方法可以在CMake
运行时复制文件(和目录)(file(COPY ...)
以及configure_file(...)
所有add_custom_command()
工作*),但我还没有找到如何使从源复制到构建目录的文件或目录出现在生成的存档中通过 CPack。我虽然这个 SO 答案会解决它,因为它实际上将复制链接到一个目标,然后将安装链接到它:
install(TARGET mytarget DESTINATION bin)
而我确实认识到file()
andconfigure_file()
命令没有明显的方法可以添加到目标中。但是,这没有用。那么,给定一个简单的 CMakeLists.txt,如下所示,我如何使所有文件(包括exmaple
目录)出现在存档中?!
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
enable_language(FORTRAN)
add_executable(mytarget ${PROJECT_SOURCE_DIR}/myprog.for)
install(TARGETS mytarget DESTINATION bin)
add_custom_command(TARGET mytarget PREBUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory
${PROJECT_SOURCE_DIR}/examplefiles ${PROJECT_BINARY_DIR}/examplefiles)
set(CPACK_GENERATOR "TGZ")
include(CPack)
*我还没有发现这三种方法中的哪一种实际上是(最?)正确的 - 所以任何关于这方面的建议也将不胜感激