5 votes

Exécuter un shell script personnalisé avec CMake

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.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X