6

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 つの方法のうちどれが実際に (最も?) 正しいかはまだわかっていません。そのため、これに関するアドバイスも大歓迎です。

4

1 に答える 1