list(LENGTH <list><output variable>) list(GET <list> <elementindex> [<element index> ...]<output variable>) list(APPEND <list><element> [<element> ...]) list(FIND <list> <value><output variable>) list(INSERT <list><element_index> <element> [<element> ...]) list(REMOVE_ITEM <list> <value>[<value> ...]) list(REMOVE_AT <list><index> [<index> ...]) list(REMOVE_DUPLICATES <list>) list(REVERSE <list>) list(SORT <list>)
LENGTH 返回list的長度spa
GET 返回list中index的element到value中code
APPEND 添加新element到list中blog
FIND 返回list中element的index,沒有找到返回-1排序
INSERT 將新element插入到list中index的位置索引
REMOVE_ITEM 從list中刪除某個elementelement
REMOVE_AT 從list中刪除指定index的element字符串
REMOVE_DUPLICATES 從list中刪除重複的elementclass
REVERSE 將list的內容反轉變量
SORT 將list按字母順序排序cli
LIST與SET命令相似,即便列表自己是在父域中定義的,LIST命令也只會在當前域建立新的變量,要想將這些操做的結果向上傳遞,須要經過SET PARENT_SCOPE, SET CACHE INTERNAL或運用其餘值域擴展的方法。
注意:cmake中的list是以分號隔開的一組字符串。能夠使用set命令建立一個列表。例如:set(var a b c d e)建立了一個這樣的列表:a;b;c;d;e。 set(var 「a b c d e」)建立了一個字符串或只有一個元素的列表。
當指定index時,若是<element index>爲大於或等於0的值,它從列表的開始處索引,0表明列表的第一個元素。若是<element index>爲小於或等於-1的值,它從列表的結尾處索引,-1表明列表的最後一個元素。