Sto usando cmake per il mio progetto, ma ho un'altra libreria in una sottodirectory (ad esempio lib /) che usa un Makefile semplice. Come si ordina a CMake di eseguire il Makefile in lib come parte del processo di compilazione?Librerie di terze parti in CMake
7
A
risposta
2
Se il/lib contiene il proprio CMakeLists.txt, basta usare il add_subdirectory comando:
add_subdirectory(/path/of/your/lib/that/contains/CMakeLists.txt)
Else
è necessario utilizzare exec_program comando:
exec_program(script.sh)
dove script.sh è
#!/bin/sh
cd /path/of/your/lib/ && make
non dimenticare
chmod +x script.sh
A mio parere, la prima soluzione è meglio !!!
+1
grazie per la risposta, ma execute_process() lo ha sostituito. Ho trovato la risposta il giorno successivo. – Nikhil
5
La soluzione è quella di utilizzare:
execute_process (COMMAND make WORKING_DIRECTORY ${project_SOURCE_DIR}/path/to/lib)
Questo Makefile è singolo o generato da CMake? –
possibile duplicato di [Come automatizzare la creazione di una libreria di terze parti utilizzando cmake] (http://stackoverflow.com/questions/11728216/how-to-automate-building-of-third-party-library-using-cmake) – Alex