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