CMP0067

在 3.8 版本中新增。

try_compile() 原始碼檔案簽名中,採用語言標準。

try_compile() 原始碼檔案簽名的目的是允許調用者檢查是否能夠使用目前的工具鏈編譯給定的原始碼檔案。為了匹配編譯器的行為,任何語言標準模式都應該匹配。然而,CMake 3.7 及更早版本並未如此。CMake 3.8 及更高版本傾向於使用變數的值來採用 CCXX (C++) 和 CUDA 的語言標準設定:

此策略為不希望自動使用語言標準設定的專案提供相容性。

此策略的 OLD 行為是在產生 try_compile 測試專案時忽略語言標準設定變數。此策略的 NEW 行為是採用語言標準設定變數。

此策略在 CMake 3.8 版本中引入。可以使用 cmake_policy()cmake_minimum_required() 設定。如果未設定,CMake 預設情況下會發出警告,並使用 OLD 行為。

請參閱 CMAKE_POLICY_WARNING_CMP0067 變數的文件以控制警告。

注意

策略的 OLD 行為 根據定義為已棄用,並可能在未來的 CMake 版本中移除。