我想要做的是在cmake中创建一个自定义命令。但是我想在命令的字符串参数中进行一些操作。
我有2个如下设置的变量。
set(VERSION_MAJOR 1)
set(VERSION_MINOR 0)
我想将VERSION_MAJOR乘以10,然后加上VERSION_MINOR。但是我如何才能像user_version=VERSION_MAJOR * 10 + VERSION_MINOR
一样使用user_version。
该命令可以正常工作。
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
答案 0 :(得分:1)
您可以使用CMake命令math
:
set(VERSION_MAJOR 1)
set(VERSION_MINOR 0)
# multiply VERSION_MAJOR by 10 and add VERSION_MINOR
# set MY_VERSION to the resulting value
math(EXPR MY_VERSION "${VERSION_MAJOR} * 10 + ${VERSION_MINOR}")
add_custom_command(
...
COMMAND sqlite3 ${DB_FILE} "PRAGMA user_version=${MY_VERSION}"
...
)