完全なディレクトリ構造をターゲットディレクトリに再帰的にコピーし、後で実行するときにコピーされたディレクトリを削除するルールをCMakeで定義するにはどうすればよいmake clean
ですか?
1701 次
1 に答える
3
使用する
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/target_dir
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/dir ${CMAKE_BINARY_DIR}/target_dir)
add_custom_target(copy_dir_target ALL
DEPENDS ${CMAKE_BINARY_DIR}/target_dir)
CMake は、 の OUTPUT で生成されたファイル/ディレクトリを自動的に追加する必要がありますadd_custom_command()
。
それがうまくいかない場合は、 でコピーしたいファイルを収集してから、で単一のファイルのみをコピーしfile(GLOB ...)
、最後にすべてを単一の呼び出しにラップすることができます。このようにして、ターゲットディレクトリ自体を除いて、すべてのファイルが消去されます。add_custom_command()
foreach(FILE ${FILES})
add_custom_command()
最後に、ADDITIONAL_MAKE_CLEAN_FILES
ソースディレクトリのプロパティを設定して遊ぶことができますが、ファイルをそれぞれのバイナリディレクトリにコピーしてください。
于 2012-10-15T13:56:36.470 に答える