CMake系统环境变量扩展

时间:2018-12-06 12:22:51

标签: cmake

使用CMake,我尝试在自定义文件中扩展环境变量值。 我执行以下操作

configure_file(config.cnf.in config.cnf)

我不使用@ONLY属性。

config.cnf.in内容:

[options]
some_value1 = @VAR_FROM_CMAKE@   // ok
some_value2 = ${SYSTEM_ENV_VAR}  // empty result
some_value2 = ${VAR_FROM_CMAKE}  // ok -- from CMake?!

@VAR_FROM_CMAKE@成功展开,但是 ${SYSTEM_ENV_VAR}不是-空值。

我很困惑-@VAR@${VAR}-仅导致CMAKE变量,而不导致系统env?

所以我的问题是: 是否可以使用CMake在自定义文件中扩展系统环境变量?

1 个答案:

答案 0 :(得分:2)

您没有正确评估系统变量:正确的命令是$ENV{SYSTEM_ENV_VAR}(在这里查看:https://cmake.org/cmake/help/latest/variable/ENV.html

[options]
some_value1 = @VAR_FROM_CMAKE@
some_value2 = $ENV{SYSTEM_ENV_VAR}
some_value2 = ${VAR_FROM_CMAKE}