Cmake Files nur einmal abarbeiten
-
Hallo,
ich habe ein cmake projekt, welches von verschiedenen anderen abhängt, die wiederum von anderen abhängen usw.. Unterprojekte werden mit add_subdirectory eingebunden. Das führt jedoch zu fehlern, wenn dasselbe projekt zum zweiten mal eingebunden wird (z.B. durch 2 verschiedene projekte, die vom gleichen mutterprojekt eingebunden werden). Das liegt daran, dass targets global eindeutig sein müssen (was auch sicherlich sinnvoll ist).
weiß jemand wie ich verhindere, dass ein cmake target ein zweites mal definiert wird?
grüße Martin
-
das Problem habe ich auch. Habe mir bis jetzt damit geholfen, eine Wrapperfunktion um add_subdirectory zu schreiben, die dann über eine Variable verhindert (quasi ein include-guard) dass add_subdirectory ein zweites mal für das jeweilige Verzeichnis aufgerufen wird.
-
Benötigst du da nicht eine globale Variable? Wie kann ich die denn setzen?
BTW: wieso führt cmake den code innerhalb von
if (TRUE) ... endif (TRUE)
nicht aus?
-
die BTW frage hat sich erledigt (cmake erwartet nen string)
-
matlantis schrieb:
Benötigst du da nicht eine globale Variable? Wie kann ich die denn setzen?
das geht mit get/set_property ... GLOBAL