2011-08-18 82 views
19

爲什麼下面的命令不起作用?Cmake list-get命令

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

我希望它分配給aHEAD而是我越來越NOTFOUND

我已經嘗試圍繞${MY_LIST}用雙引號,並將索引更改爲1而不是0(不知道爲什麼有人會這樣做,但它並沒有傷害嘗試)。

回答

28

list commands需要unsubstituted變量作爲第二個參數,即:

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

真棒。我(仍然)在文檔中沒有看到。謝謝! – freitass

+1

從文檔中確實不太清楚。 CMake文檔不包含使用示例是很糟糕的。 :-( – Ignitor

+0

令人驚訝地不清楚,謝謝你的光芒 –