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 に答える