2009-09-28 17 views
7

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

+0

Questo Makefile è singolo o generato da CMake? –

+1

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

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)

Problemi correlati