我有以下代码:
int main() {
#ifdef COMMIT_VERSION
cout << "app version: " << COMMIT_VERSION << endl;
#endif
}
Run Code Online (Sandbox Code Playgroud)
我想调用cmake,以便它将在命令行上定义的COMMIT_VERSION变量传递给g ++,从而传递给我的应用程序.例如,在调用之后:
cmake -WHAT_IS_THE_OPTION_NAME COMMIT_VERSION='"Hello Version"'
make
./a.out
Run Code Online (Sandbox Code Playgroud)
产生输出
app version: Hello Version
Run Code Online (Sandbox Code Playgroud)
Dre*_*wen 11
您可以使用该-D <var>:<type>=<value>选项在cmake脚本中添加定义(type并且value是可选的),如下所示:
cmake -D COMMIT_VERSION='"whatever version here"' ...
Run Code Online (Sandbox Code Playgroud)
然后,在脚本内部,您可以使用该add_definitions函数将定义传递给g ++:
add_definitions(-DCOMMIT_VERSION=${COMMIT_VERSION})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10106 次 |
| 最近记录: |