CMake
そのため、実行時にファイル (およびディレクトリ) をコピーする方法は多数あります ( file(COPY ...)
、configure_file(...)
およびadd_custom_command()
すべての作業*) が、ソースからビルド ディレクトリにコピーされたファイルまたはディレクトリを、生成されたアーカイブに表示する方法をまだ見つけていません。 CPackによる。私は、このSOの答えはそれを修正すると思います.実際にはコピーをターゲットにリンクし、インストールがリンクされます:
install(TARGET mytarget DESTINATION bin)
file()
一方、コマンドとconfigure_file()
コマンドをターゲットに追加する明らかな方法がないことは認識していました。しかし、これはうまくいきませんでした。では、以下のような単純な CMakeLists.txt が与えられた場合、すべてのファイル (exmaple
ディレクトリを含む) をアーカイブに表示するにはどうすればよいでしょうか?!
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
enable_language(FORTRAN)
add_executable(mytarget ${PROJECT_SOURCE_DIR}/myprog.for)
install(TARGETS mytarget DESTINATION bin)
add_custom_command(TARGET mytarget PREBUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory
${PROJECT_SOURCE_DIR}/examplefiles ${PROJECT_BINARY_DIR}/examplefiles)
set(CPACK_GENERATOR "TGZ")
include(CPack)
* これら 3 つの方法のうちどれが実際に (最も?) 正しいかはまだわかっていません。そのため、これに関するアドバイスも大歓迎です。