CMake学习记录--list(列表操作命令)

CMake是一个跨平台的工程管理工具,能方便的把工程转换为vs各个版本、Borland Makefiles、MSSYS Makefiles、NMake Makefiles等工程,对于经常在不同IDE下使用管理同一个工程提供了很大的便利。自己把使用过程中的点点滴滴记录下来。

list 列表操作命令。

1、 list(LENGTH <list> <output variable>)

2、 list(GET <list> <element index> [<element index> ...] <output variable>)
3、 list(APPEND <list> <element> [<element> ...])
4、 list(FIND <list> <value> <output variable>)

例:(摘自WebKit-r169998的cmakliset文件)

 

[plain]  view plain  copy
 
 print?
  1. # -----------------------------------------------------------------------------  
  2. # Determine which port will be built  
  3. # -----------------------------------------------------------------------------  
  4. #定义ALL_PORTS  
  5. set(ALL_PORTS Efl WinCE GTK)  
  6. set(PORT "NOPORT" CACHE STRING "choose which WebKit port to build (one of ${ALL_PORTS})")  
  7. set(PORT GTK)  
  8. #在ALL_PORTS中查找 ${PORT} == "GTK",并返回在ALL_PORTS 之中的索引 RET  
  9. list(FIND ALL_PORTS ${PORT} RET)  
  10. if (${RET} EQUAL -1)  
  11.     message(FATAL_ERROR "Please choose which WebKit port to build (one of ${ALL_PORTS})")  
  12. endif ()  

 

 

 


    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>)

CMakeLists学习一、find_package查找包 CMakeLists学习一、find_package查找包前言引例环境变量find_package查询路径设定查询路径默认路径链接库问题find_package()命令 前言 很久之前就想写关于CMakeLists相关的学习记录,但当时的重点在数学基础内容上,这一块就搁置了,现在重新记录一下。 首先就是cmake中查找第三方包指令find_package()的原理 引例 图像相关的工程中,最常用的第三方包OpenCV需要通过CMakeLists来配置,常见写法如下: find_package(OpenCV 阅读详情

相关推荐

CMakelist的使用

CMakelist的使用

网络资源是无限的 6479

cmake命令之list

一、介绍 cmakelist命令即对列表的一系列操作,cmake中的列表变量是用分号;分隔的一组字符串,创建列表可以使用set命令(参考set命令),例如:set (var a b c d)创建了一个列表 "a;b;c;d",而set (var "a b c d")则是只创建了一个变量"a c c d"。list命令的具体格式根据子命令不同会有所区别。 下面是list提供的命令 list(LENGTH <list><output variable>) lis

sinat_31608641的博客 9566

[CMake教程] CMake列表 - list

列表CMake中大量使用。b;c"归根结底,列表只是一个由分号分隔列表项的单个字符串,这使得操作单个列表项变得不太方便。CMake提供了list()其中,<command>是处理列表的命令,每个命令有各自的ReadingSearchOrdering。

淋曦的进击手记 6588

CMake指令:list

CMake中的list命令是处理列表数据的重要工具,支持多种子命令操作。常见命令包括:APPEND/PREPEND/INSERT添加元素,REMOVE_ITEM/REMOVE_AT删除元素,REMOVE_DUPLICATES去重,LENGTH获取长度,GET获取元素,JOIN连接为字符串,REVERSE反转,SORT排序,CLEAR清空,CONCAT合并列表。与set命令相比,list专注于列表元素的动态操作,而set用于变量赋值。使用时需注意列表是空格分隔的字符串,索引从0开始,命令大小写敏感。list

红军不怕远征难,万水千山只等闲 2498

Cmake】【Cmake实践】【cmake的使用学习记录

main.cpp内容为: CMakeLists.txt的内容为 ${}是获取变量的值 开始构建 可以看到输出是: 并且生成了: CMakeFiles文件夹 CMakeCache.txt cmake_install.cmake Makefile最重要的 进行工程的实际创建 输出: 可以看到在当前目录生成可执行文件 hello 运行可执行文件 1.2 简单的解释 1.2.0 约定说明 [] 表示可以省略 指令大小写都可以 1.2.1 指令语法 PROJECT的指令语法

qq_45954434的博客 4456

CMake学习记录

用于全局或目录范围的库链接,适合简单项目。用于特定目标的库链接,适合需要精确控制库链接的大型项目,推荐使用。add_definitions(-D宏名称)

wj617906617的博客 1346

cmake命令记录

cmake命令记录

qq_43651267的博客 762

CMake 实践与踩坑记录(一)

CMake实践 系统的记录一下学习cmake的过程,主要参考《Cmake Practice》这个文档,里面有一些小错误也一并改了。那么,正式开始! 一、安装Cmake 可以直接去官网安装,或者直接使用命令行sudo apt-get install cmake即可,由于已经安装过,所以是如下界面: 上图可以具体看到cmake的版本,当然也可以用cmake -version查看安装的版本,如下图所示。...

weixin_43619346的博客 1089

cmake_CMake打印消息命令message(),CMAKE_SOURCE_DIR、CMAKE_BINARY_DIR,CMAKE_CURRENT_LIST_FILE/DIR/LINE/FILE

CMake定义了环境变量来控制CMake的行为,设置的环境变量仅在当前CMAKE进程中生效,而不影响调用CMake的进行,也不影响整个系统环境,也不会影响后续构建或测试进程的环境。set (ENV{变量名} [值])$ENV{变量名}

weixin_43916755的博客 847

CMake Variables 变量列表(使用注释记录,逐步更新)

CMake Variables 变量列表 Contents 内容CMake Variables 变量列表Variables that Provide Information 提供信息的变量Variables that Change Behavior 改变行为的变量Variables that Describe the System 描述系统的变量Variables that Control the Build 控制编译的变量Variables for Languages 语言相关的变量Variables f

yjkhtddx的专栏 1252

cmake学习记录

Cmake学习记录

知识,既贵,又便宜。 380

CMake 学习

使用set来定义变量,其中set存储的皆为字符串string类型使用关键字进行宏定义,这里的宏定义不是标准的宏定义。

qq_43603598的博客 1252

cmake记录

CMAKE

David_BY的博客 363

CMAKE学习记录

cmake和autotools是makefile的上层工具,它们的目的是为了产生可移植的makefile,并简化自己动手写makefile时的巨大工作量。RPATH、RUNPATH、LD_LIBRARY_PATH三者之间,优先级为RPATH > LD_LIBRARY_PATH > RUNPATH。当RUNPATH存在时,则RPATH失效。RUNPATH不适用于间接依赖的库。使用RUNPATH时,可能需要配合使用LD_LIBRARY_PATH来指定依赖库文件的路径。root@

tang063的专栏 287
上一篇: [转] sqlserver 中查看trigger的disabled/enabled情况
下一篇: Http请求数据格式
weixin_34146410
博客等级 码龄11年 4871粉丝 135原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值