2009-09-28 8 views
7

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

+0

Ce Makefile est unique ou généré par cmake? –

+1

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

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) 

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)

Questions connexes