unset

取消設定變數、快取變數或環境變數。

取消設定一般變數或快取條目

unset(<variable> [CACHE | PARENT_SCOPE])

從目前作用域移除一般變數,使其變成未定義。如果存在 CACHE,則會移除快取變數而不是一般變數。

如果存在 PARENT_SCOPE,則變數會從目前作用域之上的作用域中移除。有關更多詳細資訊,請參閱 set() 命令中的相同選項。

注意

當評估 變數參考 (形式為 ${VAR}) 時,CMake 首先搜尋具有該名稱的一般變數。如果不存在這樣的一般變數,CMake 接著會搜尋具有該名稱的快取條目。因此,取消設定一般變數可能會暴露先前隱藏的快取變數。若要強制形式為 ${VAR} 的變數參考傳回空字串,請使用 set(<variable> ""),這會清除一般變數,但使其保持已定義狀態。

取消設定環境變數

unset(ENV{<variable>})

從目前可用的 環境 變數 中移除 <variable>。後續呼叫 $ENV{<variable>} 將會傳回空字串。

此命令僅影響目前的 CMake 程序,不影響呼叫 CMake 的程序、整個系統環境,也不影響後續建置或測試程序的環境。

參見