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
7
A
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)
Dieses Makefile ist einzeln oder durch Cmake erzeugt? –
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