CMake
文章平均质量分 86
跨平台编译配置工具CMake相关
万俟淋曦
CSDN专家博主,阿里云专家博主,中国人工智能学会会员。分享机器人领域技术,包括SLAM,ROS,CV,DL等,助力机器人领域研究者成长进步。
展开
-
[CMake教程] 循环
所以他可以传入多个变量以接受多个列表的遍历,传入多个变量时,变量的数量应该和列表的数量相同。可以是由分号或空格分隔的项目列表,也可以是一个列表变量。作为一个编程语言,CMake也少不了循环流程控制,他提供两种循环。但如果只传入一个变量,将会把对应列表的元素存入到。与绝大多数编程语言一样,CMake也可以通过。为真,则执行循环,示例如下:(列表操作详见。这个用法可以并行遍历多个列表,可以发现。> 0),相当于有一个迭代变量。的用法基本一样,唯一不同的是,用。指定迭代范围的开始(),并可选指定步长(原创 2023-09-03 20:14:29 · 966 阅读 · 0 评论 -
[CMake教程] CMake列表 - list
列表在CMake中大量使用。b;c"归根结底,列表只是一个由分号分隔列表项的单个字符串,这使得操作单个列表项变得不太方便。CMake提供了list()其中,<command>是处理列表的命令,每个命令有各自的ReadingSearchOrdering。原创 2023-08-27 19:29:24 · 2980 阅读 · 0 评论 -
CMake学习(七) —— option
一、基本语法option(<variable> "<help_text>" [value])variable 是变量名。help_text 是描述信息。value 是变量初始值,只能是 ON 或 OFF。二、注意1. 对于value,不给定或给定其他值都默认 OFF# CMake最低版本要求cmake_minimum_required(VERSION ...原创 2020-01-28 23:20:05 · 3533 阅读 · 1 评论 -
[CMake教程] if 和 else
如果需要对项目进行有条件的编译,则需要用到。可以是常量、变量、字符串。原创 2020-01-28 23:19:45 · 30333 阅读 · 2 评论 -
[CMake教程] 使用 message() 打印信息
使得在 CMakeLists.txt 中可以设置消息等级。大多数情况下只是打印一些变量与普通消息,例如。是在CMake 3.15 才被引入的新特性。另外,CMake 3.17 引入。三个等级的消息不会被打印。其中,对于mode类型,原创 2020-01-28 23:19:14 · 2743 阅读 · 0 评论 -
[CMake教程] 使用变量
CMake同样可以使用变量,比如当依赖文件过多或需要生成的项目繁杂,就可以使用变量统一管理,也便于以后的条件编译。一、定义变量CMake 定义变量分显式和隐式两种。显式定义即使用 set 等语句,可以自定义变量名称。隐式定义是在使用其他语句时自动创建的变量,如 project 是定义项目名称的,但在定义名称的同时,<projectname>_BINARY_DIR 和 <p...原创 2020-01-28 23:18:46 · 5467 阅读 · 0 评论 -
[CMake教程] 引用外部链接库
有了链接库后要在源码中添加,使用target_link_libraries语句。target_link_libraries(<target> ... <item>... ...)target 是要添加链接库的目标,并且必须由 add_executable() 或 add_library() 创建,并且一定不能成为 ALIAS目标。item 是要链接的库,可以是库的名...原创 2020-01-28 23:18:19 · 1051 阅读 · 0 评论 -
[CMake教程] 生成链接库
一般开发都不是自己的纯代码,都会用别人或自己写的的库。CMake也有相应的语句:原创 2020-01-28 23:16:41 · 1292 阅读 · 0 评论 -
[CMake教程] 最简单的CMakeLists.txt — CMake Hello World
我们平时编译程序时,所使用的各种IDE已经帮你规划好编译流程,但这样编译可控性不好,有时不能按照自己的意愿编译,并且有些IDE不能跨平台,需要重新建工程,很不方便。而CMake可以解决以上问题,特别是在Linux上使用更加方便。接下来是CMake最简单的也是基本的使用流程:一、编写CMakeLists.txt# CMake最低版本要求cmake_minimum_required(VERSI...原创 2020-01-28 23:15:39 · 3544 阅读 · 0 评论