深入浅出CMake(二):基础语法及实现九九乘法表

本文深入介绍了CMake的基础语法,包括条件判断、循环、变量设置、list操作、文件读写、字符串处理和数学运算,并通过实现九九乘法表举例说明其使用方法,帮助读者掌握CMake的基本用法。
摘要由CSDN通过智能技术生成

《深入浅出CMake(一):基础篇》文章中,我们已经知道了怎么依葫芦画瓢编写简单的 CMake 构建文件了,但如果应对复杂的工程的话,这还是远远不够的。

CMake 是一套编译构建体系,所以它有自己的一套语法概念,也有自己的 CMake Language,你可以讲它看做是一套脚本语言,所以它能做很多编程的事情。

这篇博文的目的是对 CMake 的基础语法进行概括,文章最后用一个九九乘法表的例子让读者加深印象。

文章开始前,让我们先回想 C/C++、JAVA、PYTHON 等等这些编程语言有什么特征

  • 能够进行条件判断 if/else
  • 能够循环处理 while/for/foreach
  • 能够操作字符串 string
  • 能够读写文件

这些特征足够我们在日常开发中编写常见的算法逻辑,处理很多问题了。

幸运的是 CMake 有类似的语法,能实现类似的功能。

CMake 有一个很重要的概念叫做命令.

COMMAND()

CMake 构建过程的操作基本上依靠各种各样的命令完成的,比如之前我们见过的

project(test)
add_executable(hello hello.cpp)

相信不难理解,官网中关于命令完整介绍在这里

下面开始,简单对 CMake 中一些语法过一眼

条件判断 if()/endif()

比如,它可以进行条件判断

if(<condition>)
  <commands>
elseif(<condition>) # optional block, can be repeated
  <commands>
else()              # optional block
  <commands>
endif()

if() 和 endif() 是配对使用的。

循环判断 foreach()/while()

foreach(<loop_var> <items>)
  <commands>
endforeach()

items 是一个 list,里面的元素用分号 ; 或者空格分割开来
比如

foreach(index A B C D)

也可以这样

foreach(index RANGE 9)

RANGE 是指定的迭代模型,index 取值从 0 到 9,包括 9.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

frank909

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

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

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

打赏作者

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

抵扣说明:

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

余额充值