J'utilise cmake pour mon projet, mais j'ai une autre bibliothèque dans un sous-répertoire (disons lib /) qui utilise un Makefile simple. Comment puis-je demander à CMake d'exécuter le fichier Makefile dans la bibliothèque dans le cadre du processus de construction?Bibliothèques tierces dans CMake
7
A
Répondre
2
Si votre/lib contient son propre CMakeLists.txt, il suffit d'utiliser la commande add_subdirectory:
add_subdirectory(/path/of/your/lib/that/contains/CMakeLists.txt)
Else
vous devez utiliser exec_program commande:
exec_program(script.sh)
où script.sh est
#!/bin/sh
cd /path/of/your/lib/ && make
ne pas oublier
chmod +x script.sh
À mon avis, la première solution est mieux !!!
+1
merci pour la réponse, mais execute_process() l'a remplacé. J'ai trouvé la réponse le lendemain. – Nikhil
5
La solution consiste à utiliser:
execute_process (COMMAND make WORKING_DIRECTORY ${project_SOURCE_DIR}/path/to/lib)
Ce Makefile est unique ou généré par cmake? –
duplication possible de [Comment automatiser la construction de la bibliothèque de tiers en utilisant cmake] (http://stackoverflow.com/questions/11728216/how-to-automate-building-of-third-party-library-using-cmake) – Alex