在CMake中,list
命令用于处理列表(Lists)。下面是一些常用的list
命令的参数和示例:
list(APPEND listName element1 [element2 ...])
: 向列表末尾添加元素。
listName
: 列表的名称。element1 [element2 ...]
: 要追加到列表末尾的元素。set(myList 1 2 3)
list(APPEND myList 4 5)
message(STATUS "APPEND: ${myList}") # 输出:APPEND: 1;2;3;4;5
list(INSERT listName index element1 [element2 ...])
: 在指定位置插入元素。
listName
: 列表的名称。index
: 要插入元素的位置。element1 [element2 ...]
: 要插入的元素。set(myList 1 2 3)
list(INSERT myList 2 5)
message(STATUS "INSERT: ${myList}") # 输出:INSERT: 1;2;5;3
list(REMOVE_ITEM listName element1 [element2 ...])
: 从列表中移除指定的元素。
listName
: 列表的名称。element1 [element2 ...]
: 要从列表中移除的元素。set(myList 1 2 3)
list(REMOVE_ITEM myList 2)
message(STATUS "REMOVE_ITEM: ${myList}") # 输出:REMOVE_ITEM: 1;3
list(REMOVE_AT listName index)
: 移除指定位置的元素。
listName
: 列表的名称。index
: 要移除的元素的位置。set(myList 1 2 3)
list(REMOVE_AT myList 1)
message(STATUS "REMOVE_AT: ${myList}") # 输出:REMOVE_AT: 1;3
list(LENGTH listName outputVariable)
: 获取列表的长度。
listName
: 列表的名称。outputVariable
: 用于存储列表长度的变量。set(myList 1 2 3)
list(LENGTH myList len)
message(STATUS "LENGTH: ${len}") # 输出:LENGTH: 3
list(GET listName index outputVariable)
: 获取列表中指定位置的元素。
listName
: 列表的名称。index
: 要获取的元素的位置。outputVariable
: 用于存储获取的元素的变量。set(myList 1 2 3)
list(GET myList 1 elem)
message(STATUS "GET: ${elem}") # 输出:GET: 2
list(FIND listName value outputVariable)
: 查找列表中第一次出现指定值的位置。
listName
: 列表的名称。value
: 要查找的元素的值。outputVariable
: 用于存储查找到的位置的变量。set(myList 1 2 3)
list(FIND myList 2 index)
message(STATUS "FIND: ${index}") # 输出:FIND: 1
list(REVERSE listName)
: 反转列表的顺序。
listName
: 列表的名称。set(myList 1 2 3)
list(REVERSE myList)
message(STATUS "REVERSE: ${myList}") # 输出:REVERSE: 3;2;1
这些是一些常见的list
命令的用法。CMake的文档中还有更多的参数和选项,具体取决于你的需求和CMake版本。