2011-08-18 27 views
19

Tại sao lệnh sau không hoạt động?Lệnh Cmake list-get

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

Tôi muốn nó gán a-HEAD nhưng thay vào đó tôi nhận được NOTFOUND.

Tôi đã thử xung quanh ${MY_LIST} với dấu ngoặc kép và thay đổi chỉ mục thành 1 thay vì 0 (không biết tại sao một người nào đó làm điều đó nhưng không đau).

Trả lời

28

Các list commands đòi hỏi một biến unsubstituted như là đối số thứ hai, tức là .:

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

ảnh vui nhộn. Tôi (vẫn) không thấy điều đó ở tài liệu. Cảm ơn! – freitass

+1

Nó thực sự không rõ ràng từ các tài liệu. Rất tệ khi tài liệu CMake không chứa các ví dụ sử dụng. :-( – Ignitor

+0

đáng kinh ngạc không rõ ràng. –