如何将构建目录中的构建目标复制到父目录?

时间:2012-12-03 06:05:13

标签: linux cmake

我的目标是在名为example1的构建目录中构建的,但资源位于构建之外的数据目录中,即../ 我正在使用它来复制目标:

file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/../example1) #remove old one
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/build/example1 DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/../)

它们的每一行单独工作,但当我把它们放在一起时,它们不起作用,example1不能更新到与构建目录中的相同。

1 个答案:

答案 0 :(得分:0)

如果你的目标被命名为“Example1”,那么你应该能够做到:

add_custom_command(TARGET Example1 POST_BUILD
                   COMMAND ${CMAKE_COMMAND} -E copy
                       $<TARGET_FILE:Example1> ${CMAKE_CURRENT_BINARY_DIR}/..)

但是,如果将您的构建树中的exe副本复制到源树中,最好考虑通过将源树中所需的资源复制到构建树中来保持源树的清洁。