环境变量类似普通变量,但也有些不同,如下:
作用域
在一个CMake进程中环境变量具有全局作用域
获取环境变量
使用ENV操作符获取环境变量,例如$ENV{<name>},通过if(DEFINED ENV{<name>})或if(NOT DEFINED ENV{<name>})判断是否有定义某个环境变量,注意判断语句里没有$符号,环境变量名字中的特殊符号要转义。例如:
set(ProgramFiles_x86 "$ENV{ProgramFiles\(x86\)}")
初始化
由调用CMake的进程的环境变量进行初始化,可以通过set()和unset()改变值,但是只影响当前CMake进程。
cmake -E <name>=<value>在修改的环境中运行cmake,
查看
cmake -E environment显示当前所有环境变量
特殊的环境变量
例如CMAKE_PREFIX_PATH, CMAKE_INCLUDE_PATH, CMAKE_LIBRARY_PATH等。参见这里
参考:
- https://cmake.org/cmake/help/latest/variable/ENV.html
- https://cmake.org/cma

9317

被折叠的 条评论
为什么被折叠?



