CMake命令之list

用途:提供一些列表操作

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返回列表的长度

GET返回列表中指定下标的元素

APPEND添加新元素到列表中

INSERT 将新元素插入到列表中指定的位置

REMOVE_ITEM从列表中删除某个元素

REMOVE_AT从列表中删除指定下标的元素

REMOVE_DUPLICATES从列表中删除重复的元素

REVERSE 将列表的内容实地反转,改变的是列表本身,而不是其副本

SORT 将列表按字母顺序实地排序,改变的是列表本身,而不是其副本

列表的子命令APPEND, INSERT, REMOVE_AT, REMOVE_ITEM,REMOVE_DUPLICATES, REVERSE以及SORT在当前的CMake变量域创建一些新值。与SET命令类似,即使列表本身是在父域中定义的,LIST命令也只会在当前域创建新的变量值,为了将这些操作的结果向上传递,需要通过SET PARENT_SCOPE, SET CACHE INTERNAL或其他值域扩展的方法。

注意:cmake中的列表是以分号隔开的一组字符串。可以使用set命令创建一个列表。例如:set(var a b c d e)创建了一个这样的列表:a;b;c;d;e。 set(var “a b c d e”)创建了一个字符串或只有一个元素的列表。

当指定索引值时,<element index>为大于或等于0的值。它从列表的开始处索引,0代表列表的第一个元素。如果<element index>为小于或等于-1的值,它从列表的结尾处索引,-1代表列表的最后一个元素。

时间: 2024-11-01 04:42:18

CMake命令之list的相关文章

CMake命令:CMake构建系统的骨架

CMake命令:CMake构建系统的骨架 80个命令(转载自http://www.cnblogs.com/coderfenghc/archive/2012/06/16/CMake_ch_01.html#2996205) CMD#1: add_custom_command为生成的构建系统添加一条自定义的构建规则. add_custom_command命令有两种主要的功能:第一种是为了生成输出文件,添加一条自定义命令. add_custom_command(OUTPUT output1 [outpu

Zsh安装CMake补全脚本进行CMake命令补全

最近在尝试使用Zsh,发现其补全命令的功能相当厉害.但对CMake命令的补全在默认的5.0.5中好像没有看到,网上找了下关于配置Zsh补全的文章也没有多少.     于是自己动手,发现在Zsh安装目录下有个functions的文件夹,里面都有以_开头的各种补全提示文件,比如_sed,_awk等,于是尝试在网上 下到zsh_cmake补全文件之后,重命名为_cmake放置该文件夹中(注意Windows用户的换行符,在这个上浪费了很多时间,使用 dos2unix可以解决)重新启动Zsh,享受CMak

mysql配置文件夹错误:在安装mysql 5.6.19 时运行cmake命令是出现CMake Error: The source directory does not appear to contai

在安装mysql 5.5.xx 时运行cmake命令是出现CMake Error: The source directory does not appear to contain CMakeLists.txt.的错误,刚開始以为是cmake版本号有问题,到最后才发现是当前文件夹错了. 在运行cmake时没有切换到mysql的源代码文件夹导致了这个错误,切换到mysql的源代码文件夹又一次运行cmake命令就可以. 下面的命令在解压后的文件夹内运行下面命令: cmake \ -DCMAKE_INS

mysql配置目录错误:在安装mysql 5.6.19 时执行cmake命令是出现CMake Error: The source directory does not appear to contai

在安装mysql 5.5.xx 时执行cmake命令是出现CMake Error: The source directory does not appear to contain CMakeLists.txt.的错误,刚开始以为是cmake版本有问题,到最后才发现是当前目录错了. 在执行cmake时没有切换到mysql的源码目录导致了这个错误,切换到mysql的源码目录重新执行cmake命令即可. 以下的命令在解压后的目录内执行以下命令: cmake \ -DCMAKE_INSTALL_PREF

CMake 命令行设定编译环境

笔者电脑安装了两个版本的VS(VS2012  和 VS2010),在使用CMake编译的时候,如果只在对应目录的命令行输入 "cmake .." 则系统会自动选择使用新版本(VS2012)进行编译,如果在一些场合一定要用VS2010编译,可以使用CMake 在Windows 平台上的GUI进行设置,更简便的方法是在命令行中设置参数. 设置方法如下: CMake一般过程是:在含有CMakeLists.txt 文件的目录下,打开命令行窗口,mkdir bin 建立子文件夹,cd bin 进

CMake 命令

1.Usage cmake [options] <path-to-source> cmake [options] <path-to-existing-build> Specify a source directory to (re-)generate a build system for it in the current working directory. Specify an existing build directory to re-generate its build

CMake命令之export

export Export targets from the build tree for use by outside projects. export(EXPORT <export-name> [NAMESPACE <namespace>] [FILE <filename>]) Create a file <filename> that may be included by outside projects to import targets from

(Linux)初探cmake .和make命令

cmake编译OpenCV工程 首先我们看到文件夹中有一cpp文件,CMakeLists.txt文件和一张图片 首先进行cmake .命令 接着进行make命令 . 然后就得到了可执行文件,也就是说可执行文件是make出来的 然后./opencv_example执行就OK咯~ 原文地址:https://www.cnblogs.com/Todd-Qi/p/9929118.html

make makefile cmake qmake都是什么,有什么区别

原文:https://www.zhihu.com/question/27455963 作者:玟清链接:https://www.zhihu.com/question/27455963/answer/36722992来源:知乎著作权归作者所有,转载请联系作者获得授权. 1. make 是用来执行Makefile的2. Makefile是类unix环境下(比如Linux)的类似于批处理的"脚本"文件.其基本语法是: 目标+依赖+命令,只有在目标文件不存在,或目标比依赖的文件更旧,命令才会被执