2011-11-02 1 views
6

Piszę definicję w rodzicu CMakeLists.txt Chcę, aby definicja ta została odziedziczona w podkatalogu projektu. Więc jeśli mam projekt jakCMAKE dziedziczy definicję od rodzica

root 
    |- CMakeLists.txt 
    |- A 
    | |- CMakeLists.txt 
    |- B 
    |- CMakeLists.txt 

definicja miałem napisane w głównym CMakeLists.txt powinien udać się do dziecka.

Jak to zrobić?

Odpowiedz

7

Zmiana kolejności uwzględnienia dokonanych zmian. W przeszłości używałem

CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0) 
SET(ENV{OSDEP} "linux") 
SET(ENV{BIT} 64) 
SET(ENV{XUL} 5000) 
ADD_SUBDIRECTORY(lib/src/json) 
add_definitions("-_DDEBUG") 

które zmieniły ostatnich dwóch linii do

add_definitions("-_DDEBUG") 
ADD_SUBDIRECTORY(lib/src/json) 
1

To zależy od sposobu używania CMakeLists.txt A i B w CMakeLists.txt.

Sposób CMAKE polega na wykonaniu add_subdirectory (i zdecydowanie zalecam, po długiej walce) w CMakeLists.txt root dla A i B. Następnie A i B mają wszystkie zmienne z katalogu głównego i root mają wszystkie cele dostępne od A i B.