各コンパイル後に、configファイルをビルドディレクトリにコピーします。CMake:ファイルをコピーするターゲットを持つ方法
# Gather list of all .xml and .conf files in "/config"
file(GLOB ConfigFiles ${CMAKE_SOURCE_DIR}/config/*.xml
${CMAKE_SOURCE_DIR}/config/*.conf)
foreach(ConfigFile ${ConfigFiles})
add_custom_command(TARGET MyTarget PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E
copy ${ConfigFile} $<TARGET_FILE_DIR:MyTarget>)
endforeach()
このアクションは、プロジェクトをコンパイルするたびにトリガーされます。何かをコンパイルせずにファイルをコピーするCMakeLists.txtのターゲットを作成することは可能ですか? "コピーを作る"のようなもの。
ありがとうございました。 2つの別々の 'add_custom_command'コマンドが必要ですか? 1つは実行可能なメインターゲット用、もう1つはコピー先用です。 'add_custom_command(TARGET $ {PRODUCT} PRE_BUILD')。私は主なターゲットを作るとき、または"コピーを作る "ときにファイルをコピーしたい。 – Meysam
@Meysamこの場合、 – Angew
@Meysam - 更新された回答 – Fraser