$ENV 在 CMake 中是啥意思

Posted

技术标签:

【中文标题】$ENV 在 CMake 中是啥意思【英文标题】:What does $ENV mean in CMake$ENV 在 CMake 中是什么意思 【发布时间】:2020-04-18 04:39:59 【问题描述】:

$ENV 在 CMake 中是什么意思?例如:

set(BOOST_ROOT $ENVHOME/dev/cpp/thirdparty/boost)

【问题讨论】:

【参考方案1】:

$ENV用于获取环境变量[1]的值。

在您的示例中,$ENVHOME 将获取环境变量 $HOME 的值。假设$HOME 的值为/home/wls。运行您显示的 sn-p 会将 CMake 变量 BOOST_ROOT 设置为 /home/wls/dev/cpp/thirdparty/boost

$ENV 不限于与$HOME 一起使用。您可以将它用于任何可用的环境变量。

请注意,ENV 也与 set() 一起使用。请注意,此ENV$ENV 不同。 ENVset() 中通常以这种方式使用:

set(ENV<variable> [<value>])

ENV 在上述上下文中用于表示您设置值的变量是环境变量。正如set() [2] 的文档中所述,以这种方式更改环境变量将影响以后使用$ENV 读取该变量的结果值。

参考资料:

[1]https://cmake.org/cmake/help/latest/variable/ENV.html [2]https://cmake.org/cmake/help/latest/command/set.html#set-environment-variable

【讨论】:

以上是关于$ENV 在 CMake 中是啥意思的主要内容,如果未能解决你的问题,请参考以下文章

“||”是啥意思在 var 语句中是啥意思? [复制]

“内容”是啥意思:在招摇/openapi“响应”中是啥意思:

& 是啥意思。 (& 点)在 Ruby 中是啥意思?

问号和点运算符是啥意思?在 C# 6.0 中是啥意思?

"CONST func(arg);" 是啥意思在C语言中是啥意思?

-> 在 C++ 中是啥意思? [复制]