CMakeLists.txt语法规则:数学运算 math

一. 简介

前面几篇文章学习了 CMakeLists.txt语法中的一些常用变量,常用命令,双引号的作用。条件判断语句,循环语句等等。
本文简单学习一下 CMakeLists.txt语法中数学运算 match。

二. CMakeLists.txt语法规则:数学运算 math

在 cmake 中如何使用数学运算呢?

其实,cmake 提供了一个命令用于实现数学运算功能。这个命令就是 math(),如下所示:

复制代码
math(EXPR <output variable> <math expression>)

math 命令中,第一个参数是一个固定的关键字 EXPR

第二个参数是一个返回参数,将数学运算结果 存放在这个变量中;

而第三个参数则是一个数学运算表达式,支持的运算符包括:+(加)、-(减)、*(乘)、
/ (除)、 % (求余)、 | (按位或)、 & (按位与)、 ^ (按位异或)、 ~ (按位取反)、 << (左移)、 >> (右 移)以及这些运算符的组合运算,它们的含义与 C 语言中相同。

譬如:

复制代码
math(EXPR out_var "1+1") #计算 1+1
math(EXPR out_var "100 * 2") ##计算 100x2
math(EXPR out_var "10 & 20") #计算 10 & 20

我们进行测试:

复制代码
# math()命令测试
math(EXPR out_var "100 + 100")
message("${out_var}")

math(EXPR out_var "100 - 50")
message("${out_var}")

math(EXPR out_var "100 * 100")
message("${out_var}")

math(EXPR out_var "100 / 50")
message("${out_var}")

math(EXPR out_var "(100 & 100) * 50 - 2")
message("${out_var}")

测试结果如下:

这里简单学习一下 CMakeLists.txt语法中的数学运算。

相关推荐
生万千欢喜心9 分钟前
linux 安装 Elasticsearch Kibana
linux·elasticsearch·jenkins
qq_3482318511 分钟前
Ubuntu 24.04 环境配置 AI自动化编程 gstack
linux·运维·人工智能·ubuntu
橙子也要努力变强17 分钟前
信号捕捉与不可捕捉机制(进阶篇)
linux·服务器·c++
小则又沐风a19 分钟前
Linux使用指南和基础指令(1)
java·linux·运维
ALINX技术博客21 分钟前
【黑金云课堂】FPGA技术教程Linux开发:Petalinux安装
linux·运维·fpga开发
橙子也要努力变强22 分钟前
信号的处理方式与生命周期(核心机制篇)
linux·网络·c++
小此方24 分钟前
Re:Linux系统篇(二)指令篇 · 一:基础六大指令精讲+Linux操作技巧——让你从小白到入门
linux·服务器
SilentSamsara31 分钟前
ConfigMap 与 Secret:配置注入的四种姿势与安全边界
linux·运维·服务器·安全·微服务·kubernetes·k8s
飘忽不定的bug31 分钟前
记录:RK3576 适配开源GPU驱动(panfrost)
linux·gpu·rk3576·panfrost
Lentou34 分钟前
部署项目之systemd部署
linux·运维·服务器