J'ai la structure de répertoire suivante :
/CMakeLists.txt
/component-a/CMakeLists.txt
/...
/component-b/CMakeLists.txt
/...
/doc/CMakeLists.txt
/create-doc.sh
Le shell script create-doc.sh
crée un fichier de documentation ( doc.pdf
). Comment puis-je utiliser CMake pour exécuter ce shell script au moment de la construction et copier le fichier doc.pdf
dans le répertoire de construction ?
Je l'ai essayé en utilisant add_custom_command
dans le CMakeLists.txt
dans le répertoire doc
:
add_custom_command ( OUTPUT doc.pdf
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/create-doc.sh
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/)
Malheureusement, la commande n'est jamais exécutée.
J'ai aussi essayé execute_process
:
execute_process ( COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/create-doc.sh
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/ )
Maintenant, le script est exécuté pendant la phase de configuration, mais pas au moment de la construction.