0

我的目标是在名为 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 无法更新到与构建目录中的相同。

4

1 回答 1

0

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

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

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

于 2012-12-03T13:12:57.260 回答