CMP0138

在版本 3.24 中新增。

CheckIPOSupported 使用呼叫專案的旗標。

CheckIPOSupported 模組 check_ipo_supported() 命令會編譯一個測試專案,以判斷工具鏈是否支援 INTERPROCEDURAL_OPTIMIZATION。CMake 3.23 及更早版本會使用 CMAKE_<LANG>_FLAGSCMAKE_<LANG>_FLAGS_<CONFIG> 變數的預設值來執行檢查,這些預設值適用於目前的環境和工具鏈設定。然而,某些專案可能會修改這些旗標變數,以新增影響工具鏈 IPO 功能可用性的旗標。CMake 3.24 及更高版本會優先使用呼叫專案針對這些變數的值。此原則為尚未更新以預期此行為的專案提供相容性。

此原則的 OLD 行為是忽略呼叫專案的 CMAKE_<LANG>_FLAGSCMAKE_<LANG>_FLAGS_<CONFIG> 值。此原則的 NEW 行為是在測試專案中使用這些變數的值作為編譯器旗標。

此原則是在 CMake 版本 3.24 中引入的。它可以由 cmake_policy()cmake_minimum_required() 設定。如果未設定,CMake 不會 發出警告,並使用 OLD 行為。

注意

原則的 OLD 行為是 依照定義已棄用,並且可能會在未來的 CMake 版本中移除。