CMake语法详解

什么是CMake

  • AS2.2以上,构建原始库的默认工具是Cmake
  • CMake是一个跨平台的构建工具,可以用简单的语句来描述所有平台的安装(编译过程)。CMake并不直接构建最终的软件,而是产生其他工具的脚本(如makefile)
注释
  • 单行注释 #XXXXX
  • 多行注释 #[[XXXXXXX]]
变量

CMake中所有的变量都是string类型。可以使用set()和unset()命令来声明或移除一个变量
变量的引用 ${变量名}

列表(lists)

列表也是字符串,可以把列表看做一个特殊的变量,这个变量有多个值

set(列表名 值1 值2 ... 值N)

或者

set(列表名 "值1;值2;...;值N")  

列表的应用 ${列表名}

流程控制-操作符

CMake的操作符都是大小写敏感的
在这里插入图片描述

布尔常量值

在这里插入图片描述

条件命令
if(表达式)
	COMMAND(ARGS ...)
elseif(表达式)
	COMMAND(ARGS ...)
else(表达式)
	COMMAND(ARGS ...)
循环命令
while(表达式)
	COMMAND(ARGS ...)
endwhile(表达式)

break()命令可以跳出整个循环,continue()可以跳出当前循环

循环遍历一
foreach(循环变量 参数1 参数2 ... 参数N)
	COMMAND(ARGS ...)
endforeach(循环变量)   

例如

foreach(item 1 2 3)
message("item = ${item}")
endforeach(item)
循环遍历二
foreach(循环变量 RANGE total)
	COMMAND(ARGS ...)
endforeach(循环变量)

从0循环到total

循环遍历三
foreach(循环变量 RANGE start stop step)
	COMMAND(ARGS ...)
endforeach(循环变量)

循环范围从start到stop,循环增量为setp

循环遍历四
foreach(循环变量 IN LISTS 列表名)
	COMMAND(ARGS ...)
endforeach(循环变量)  
自定义函数
function(func x y z)
	message("x = ${x}")
	message("y = ${y}")
	message("z = ${z}")
	message("ARGC = ${ARGC}") #表示传入参数的个数
	message("ARGV = ${ARGV}") #表示所有参数的列表 比如1:2:3
	message("ARGV0") #参数1
	message("ARGV1") #参数2
	message("ARGV2") #参数3
endfunction(func) #结尾

func(1 2 3) # 进行调用
自定义宏命令
macro (ma x y z)
	message("call macro ma")
	message("x = ${x}")
	message("y = ${y}")
	message("z = ${z}")
endmacro(ma)

ma(1 2 3)
变量的作用域
  • 全局层:cache变量,在整个项目范围可见,一般在set定义变量时,指定CACHE参数就能定义为cache变量
  • 目录层:在当前目录CMakeLists.txt定义,以及在该文件包含的其他cmake源文件中定义的变量
  • 函数层:在命令函数中定义的变量,属于函数作用域的变量
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
CMake是一款跨平台的开源构建工具,用于管理和构建软件项目。CMake手册详解CMake官方提供的教程文档,旨在帮助开发者深入了解和学习CMake的使用方法和功能。 CMake手册详解下载可以通过多种方式实现。首先,可以访问CMake官方网站,从中文或英文文档页面下载最新的CMake手册详解。同时,CMake还提供了在线文档,可以直接在网页上查看和学习。 此外,CMake的源代码仓库中也包含了完整的CMake手册详解,可以通过克隆或下载源代码仓库的方式获取。在源代码仓库中,手册详解通常在docs目录下,按照不同版本和语言进行组织和分类。 另一种常见的获取CMake手册详解的方式是通过社区和论坛。CMake拥有广泛的用户社区,许多开发者在论坛中分享他们编写的教程和手册详解。可以通过搜索引擎或加入相关社区来获取这些用户贡献的手册详解,并进行下载和学习。 无论通过哪种方式获取CMake手册详解,建议选择最新版本的手册以获取最新的特性和功能说明。通过仔细阅读手册详解,开发者可以系统性地学习CMake的用法,并运用CMake来管理和构建自己的软件项目。手册中还包含了各种示例和案例,帮助开发者更好地理解和应用CMake的各个方面。 总之,CMake手册详解是学习和使用CMake的重要参考资料,通过下载和阅读手册详解,开发者可以更好地掌握CMake的功能和用法,加快软件项目的构建和管理速度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

氦客

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值