2013-10-02 20 views
10

La dichiarazione CMake IF ha anche l'opzione OR? Qualcosa come: IF (NOT this OR that) ... ENDIF?CMake SE (qualcosa O qualcos'altro)

Ho la riga if (NOT ${TARGET_PLATFORM} STREQUAL "test"), che rimuove alcuni file di costruzione dal progetto. Voglio aggiungere una seconda opzione di piattaforma di destinazione, "my_board", che deve rimuovere quegli stessi file di build. Ho provato ad aggiungere uno elseif(NOT ${TARGET_PLATFORM} STREQUAL "my_board") dopo il primo IF, ma non ha avuto successo.

È ciò che sto cercando di fare con CMake e, in tal caso, qual è la sintassi corretta?

Grazie

+3

risposto alla mia domanda. Capitale o funziona bene! Per il mio esempio la soluzione sarebbe: if (NOT ($ {TARGET_PLATFORM} STREQUAL "test" OPPURE $ {TARGET_PLATFORM} STREQUAL "my_board")) –

+0

La documentazione online di cmake è ottima, ne fa un uso liberale. [cmake: if command] (http://www.cmake.org/cmake/help/cmake2.6docs.html#command:if) analizza il tutto. – grim

+1

Puoi rispondere alla tua domanda e contrassegnarla come "risolto" =). – JonesV

risposta

9
if (NOT (${TARGET_PLATFORM} STREQUAL "test" OR ${TARGET_PLATFORM} STREQUAL "my_board")) 

o più semplicemente

if (CONDITION1 OR CONDITION2) 
Problemi correlati