2009-09-28 6 views
7

Ich verwende cmake für mein Projekt, aber ich habe eine andere Bibliothek in einem Unterverzeichnis (say lib /), die ein einfaches Makefile verwendet. Wie weise ich CMake an, das Makefile in lib als Teil des Build-Prozesses auszuführen?Bibliotheken von Drittanbietern in CMake

+0

Dieses Makefile ist einzeln oder durch Cmake erzeugt? –

+1

mögliche Duplikate von [So automatisieren Sie das Erstellen von Third-Party-Bibliothek mit cmake] (http://stackoverflow.com/questions/11728216/how-to-automate-building-of-third-party-library-using-cmake) – Alex

Antwort

2

Wenn Ihr/lib seine eigene CMakeLists.txt enthält, benutzen Sie einfach die add_subdirectory Befehl:

add_subdirectory(/path/of/your/lib/that/contains/CMakeLists.txt) 

Else

Sie exec_program Befehl verwenden:

exec_program(script.sh) 

wo script.sh ist

#!/bin/sh 
cd /path/of/your/lib/ && make 

nicht

chmod +x script.sh 

Meiner Meinung nach vergessen, die erste Lösung ist besser !!!

+1

Danke für die Antwort, aber execute_process() hat es ersetzt. Ich fand die Antwort am nächsten Tag. – Nikhil

5

Die Lösung ist zu verwenden:

execute_process (COMMAND make WORKING_DIRECTORY ${project_SOURCE_DIR}/path/to/lib)