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