文章目录
- 作用域
- 获取环境变量
- 初始化
- 查看
- 特殊的环境变量
环境变量类似普通变量,但也有些不同,如下:
作用域
在一个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/cmake/help/latest/manual/cmake-language.7.html#cmake-language-environment-variables
- https://cmake.org/cmake/help/latest/manual/cmake-env-variables.7.html#manual:cmake-env-variables(7)