Quindi, ci sono molti modi per copiare i file (e directory) a CMake
runtime (file(COPY ...)
, configure_file(...)
e add_custom_command()
tutto il lavoro *), ma non ho ancora trovato il modo di fare un file o una directory copiati dall'origine per creare la directory appaiono in un archivio generato da CPack. Ho pensato che avrei this SO answer risolvere il problema, in quanto collega in realtà la copia ad un target che poi avere una installazione è legato ad esso:Copia di file e la loro inclusione in un archivio CPack
install(TARGET mytarget DESTINATION bin)
mentre io avevo riconosciuto che i comandi file()
e configure_file()
non hanno un evidente modo per essere aggiunto a un bersaglio. Ma questo non ha funzionato. Quindi, dato un semplice CMakeLists.txt, come quello qui sotto, come faccio a far apparire tutti i file (inclusa la directory exmaple
) nell'archivio ?!
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)
* non ho ancora scoperto che uno di questi 3 metodi è in realtà (la maggior parte?) Corretto - in modo da tutto il consiglio anche su questo sarà apprezzato enormemente
Come funzionerebbe per un * pacchetto sorgente * piuttosto che una distribuzione binaria? Il generatore di pacchetti sorgente CPack sembra essere piuttosto limitato nella sua configurabilità. – kynan