unset¶
取消設定變數、快取變數或環境變數。
取消設定一般變數或快取條目¶
unset(<variable> [CACHE | PARENT_SCOPE])
從目前作用域移除一般變數,使其變為未定義。如果存在 CACHE
,則會移除快取變數,而不是一般變數。
如果存在 PARENT_SCOPE
,則會從目前作用域之上的作用域移除變數。請參閱 set()
命令中的相同選項以了解更多詳細資訊。
注意
在評估 變數參考 (形式為 ${VAR}
) 時,CMake 會先搜尋具有該名稱的一般變數。如果不存在這樣的一般變數,CMake 會接著搜尋具有該名稱的快取條目。因此,取消設定一般變數可能會暴露先前隱藏的快取變數。要強制形式為 ${VAR}
的變數參考回傳空字串,請使用 set(<variable> "")
,這會清除一般變數,但使其保持已定義。
取消設定環境變數¶
unset(ENV{<variable>})
從目前可用的 環境變數
中移除 <variable>
。後續呼叫 $ENV{<variable>}
將會回傳空字串。
此命令只會影響目前的 CMake 程序,不會影響呼叫 CMake 的程序、整個系統環境,或是後續建置或測試程序的環境。