CMake
ランタイム(file(COPY ...)
、configure_file(...)
、add_custom_command()
)でファイルやディレクトリをコピーする方法はたくさんありますが、どのように作成するかはまだわかりませんソースからビルドディレクトリにコピーされたファイルまたはディレクトリは、CPackによって生成されたアーカイブに表示されます。それは実際にそれにリンクされてインストールされますターゲットにコピーを結ぶように私はそれthis SO answerは、それを修正するだろうけれども:ファイルをコピーしてCPackアーカイブにコピーする
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つの方法のいずれかが実際にどの判明していない - ので、この上の任意のアドバイスはあまりにも巨大に
バイナリ配布ではなく、*ソースパッケージ*の場合はどのように動作しますか? CPackソースパッケージジェネレータは、設定可能性がかなり制限されているようです。 – kynan