unset¶
取消设置变量、缓存变量或环境变量。
取消设置普通变量¶
- unset(<variable> [PARENT_SCOPE])¶
从当前作用域中移除一个普通变量,使其变为未定义。
如果存在
PARENT_SCOPE,则该变量将从当前作用域的上一级作用域中移除。更多详情请参阅set()命令中的相同选项。
注意
当评估 变量引用(形式为 ${VAR})时,CMake 首先查找同名普通变量。如果不存在这样的普通变量,CMake 才会查找同名的缓存条目。因此,**取消设置一个普通变量可能会暴露之前被隐藏的缓存变量**。若要强制使形式为 ${VAR} 的变量引用返回空字符串,请使用 set(<variable> ""),这会清空普通变量但保持其定义状态。
取消设置缓存条目¶
- unset(CACHE{<variable>})¶
版本 4.2 中添加。
从缓存中移除
<variable>,使其变为未定义。
- unset(<variable> CACHE)¶
此签名出于兼容性目的而支持。建议优先使用其他签名。