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语法中的数学运算。

相关推荐
逢生博客1 小时前
Ubuntu 安装 gvm 管理 Go 语言开发环境
linux·ubuntu·golang·gvm
多吃蔬菜!!!2 小时前
vscode 搭建C/C++开发环境搭建(linux)
linux·c语言·c++
李李李li3 小时前
Ubuntu 22.04 安装tensorrt
linux·tensorrt
phoenix09814 小时前
Linux入门DAY29
linux·运维
入秋5 小时前
Linux服务器安装部署 Nginx、Redis、PostgreSQL、Docker
linux·前端
Mr. Cao code5 小时前
使用Tomcat Clustering和Redis Session Manager实现Session共享
java·linux·运维·redis·缓存·tomcat
zcz16071278215 小时前
Linux 网络命令大全
linux·运维·网络
the sun345 小时前
Reactor设计模式及其在epoll中的应用
linux·运维·服务器·c++
喜欢你,还有大家5 小时前
Linux笔记7——shell编程基础-1
linux·运维·笔记
运维成长记6 小时前
Top 100 Linux Interview Questions and Answers
linux·运维·服务器