cmake——list
2023-12-22 18:11:50
cmake之list
在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版本。
文章来源:https://blog.csdn.net/weixin_43739167/article/details/135155978
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!