2009-09-28 14 views
7

Używam cmake do mojego projektu, ale mam inną bibliotekę w podkatalogu (np. Lib /), która używa zwykłego pliku Makefile. Jak mogę polecić CMake uruchomić Makefile w lib jako część procesu kompilacji?Biblioteki stron trzecich w CMake

+0

Ten Makefile jest pojedynczy lub generowane przez cmake? –

+1

możliwy duplikat [Jak zautomatyzować budowę biblioteki stron trzecich za pomocą cmake] (http://stackoverflow.com/questions/11728216/how-to-automate-building-of-third-party-library-using-cmake) – Alex

Odpowiedz

2

Jeśli/lib zawiera własną CMakeLists.txt, wystarczy użyć add_subdirectory polecenie:

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

Else

trzeba użyć exec_program polecenie:

exec_program(script.sh) 

gdzie script.sh jest

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

nie zapomnij

chmod +x script.sh 

Moim zdaniem pierwsze rozwiązanie jest lepsze !!!

+1

dziękuję za odpowiedź, ale execute_process() zastąpił ją. Znalazłem odpowiedź następnego dnia. – Nikhil

5

Rozwiązaniem jest użycie:

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

Powiązane problemy