如何在cmake字符串中进行算术运算

如何在cmake字符串中进行算术运算,cmake,Cmake,我想做的是在cmake中创建一个自定义命令。但我想在命令的字符串参数中执行一些操作 我有两个变量,如下所示 set(VERSION_MAJOR 1) set(VERSION_MINOR 0) 我想把大版本乘以10,再加上小版本。但是我如何使用用户版本,比如user\u version=version\u MAJOR*10+version\u MINOR。 这个命令运行良好 add_custom_command( ... COMMAND sqlite3 ${DB_FILE} "PRAGMA us

我想做的是在cmake中创建一个自定义命令。但我想在命令的字符串参数中执行一些操作

我有两个变量,如下所示

set(VERSION_MAJOR 1)
set(VERSION_MINOR 0)
我想把大版本乘以10,再加上小版本。但是我如何使用用户版本,比如
user\u version=version\u MAJOR*10+version\u MINOR
。 这个命令运行良好

add_custom_command(
...
COMMAND sqlite3 ${DB_FILE} "PRAGMA user_version=${VERSION_MAJOR}"
...
)
但我想这样使用它

add_custom_command(
...
    COMMAND sqlite3 ${DB_FILE} "PRAGMA user_version=${VERSION_MAJOR * 10 + VERSION_MINOR}"
...
)

cmake版本:3.5.1

您可以使用cmake命令:

set(主要版本1)
设置(版本0)
#将主版本乘以10,再加副版本
#将MY_VERSION设置为结果值
数学(EXPR MY_VERSION“${VERSION_MAJOR}*10+${VERSION_MINOR}”)
添加自定义命令(
...
命令sqlite3${DB_FILE}“PRAGMA user_version=${MY_version}”
...
)

CMake中有一个数学函数,它的用法如下:
math(EXPR MY\u USER\u VERSION“${VERSION\u MAJOR}*10+${VERSION\u MINOR}”)