2011-08-18 16 views
19

Dlaczego następujące polecenie nie działa?Polecenie Cmake list-get

SET(MY_LIST a b c d) 
LIST(GET ${MY_LIST} 0 HEAD) 
MESSAGE("HEAD = ${HEAD}") 

chcę go przypisać a do HEAD ale zamiast Dostaję NOTFOUND.

Próbowałem już okolic ${MY_LIST} z podwójnymi cudzysłowami i zmieniłem indeks na 1 zamiast 0 (nie wiem, dlaczego ktoś by to zrobił, ale nie zaszkodzi spróbować).

Odpowiedz

28

list commands wymaga unsubstituted zmienną jako drugi argument, tj .:

set (MY_LIST a b c d) 
list (GET MY_LIST 0 HEAD) 
message ("HEAD = ${HEAD}") 
+0

super. Ja (nadal) nie widziałem tego na dokumentach. Dzięki! – freitass

+1

To naprawdę nie wynika z dokumentów. Szkoda, że ​​dokumentacja CMake nie zawiera przykładów użycia. :-( – Ignitor

+0

niesamowicie niejasne. Dzięki za rzucanie światła –