取消变量、缓存变量或环境变量的设置。
取消变量、缓存变量
unset(<variable> [CACHE | PARENT_SCOPE])
从当前范围中删除一个普通变量,使其成为未定义的。如果存在CACHE,则删除缓存变量,而不是普通变量。注意,当计算${VAR}形式的变量引用时,CMake首先搜索具有该名称的普通变量。如果不存在这样的普通变量,CMake将搜索具有该名称的缓存项。因此,取消普通变量的设置可以公开以前隐藏的缓存变量。要强制一个形式为${VAR}
的变量引用返回一个空字符串,请使用set(< variable > “”),它会清除普通变量,但保留其定义。
如果PARENT_SCOPE存在,则该变量将从当前作用域上面的作用域中移除。有关详细信息,请参阅set()命令中的相同选项。
取消环境变量
unset(ENV{<variable>})
从当前可用的环境变量中移除< variable >。后续调用$ENV{< variable >}将返回空字符串。
该命令只影响当前的CMake进程,而不是调用CMake的进程,也不影响整个系统环境,也不影响后续构建或测试进程的环境。