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 版本中移除。