CMP0066

於版本 3.7 加入。

try_compile() 原始檔簽名中採用每個組態的旗標。

try_compile() 命令的原始檔簽名使用測試專案中 CMAKE_<LANG>_FLAGS 變數的值,以便測試編譯的行為與主專案中的行為一致。然而,CMake 3.6 及更早版本並不會採用組態特定的編譯器旗標,例如 CMAKE_<LANG>_FLAGS_DEBUG 變數中的旗標。CMake 3.7 及更高版本傾向於也採用組態特定的編譯器旗標。此策略為不希望使用組態特定編譯器旗標的專案提供相容性。

此策略的 OLD 行為是忽略組態特定的旗標變數,例如 CMAKE_<LANG>_FLAGS_DEBUG,並且僅使用 CMake 內建的預設值來對應當前的編譯器和平台。

此策略的 NEW 行為是採用組態特定的旗標變數,例如 CMAKE_<LANG>_FLAGS_DEBUG

此策略是在 CMake 3.7 版本中引入的。它可以透過 cmake_policy()cmake_minimum_required() 設定。如果未設定,CMake 預設不會發出警告,並使用 OLD 行為。

請參閱 CMAKE_POLICY_WARNING_CMP0066 變數的文件來控制警告。

注意

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