2013-10-02 17 views
10

Czy instrukcja CMake IF ma również opcję OR? Coś jak: IF (NOT this OR that) ... ENDIF?CMake IF (coś LUB coś innego)

Mam linię if (NOT ${TARGET_PLATFORM} STREQUAL "test"), która usuwa pewne pliki kompilacji z projektu. Chcę dodać drugą opcję platformy docelowej, "my_board", która musi usunąć te same pliki kompilacji. Próbowałem dodać elseif(NOT ${TARGET_PLATFORM} STREQUAL "my_board") po pierwszym IF, ale to się nie udało.

Czy to, co próbuję zrobić z CMake, a jeśli tak, to jaka jest właściwa składnia?

Dzięki

+3

odpowiedział na moje własne pytanie. Capital OR działa dobrze! Dla mojego przykładu rozwiązaniem byłoby: if (NIE ($ {TARGET_PLATFORM} STREQUAL "test" LUB $ {TARGET_PLATFORM} STREQUAL "my_board")) –

+0

Dokumentacja online cmake jest świetna, wykorzystaj ją w sposób liberalny. [cmake: if command] (http://www.cmake.org/cmake/help/cmake2.6docs.html#command:if) psuje całą sprawę. – grim

+1

Możesz odpowiedzieć na własne pytanie i oznaczyć je jako "rozwiązane" =). – JonesV

Odpowiedz

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

lub prościej

if (CONDITION1 OR CONDITION2) 
Powiązane problemy