CMP0138¶
在版本 3.24 中新增。
CheckIPOSupported
使用來自調用專案的旗標。
CheckIPOSupported
模組 check_ipo_supported()
命令編譯一個測試專案,以確定工具鏈是否支援 INTERPROCEDURAL_OPTIMIZATION
。CMake 3.23 及更低版本使用當前環境和工具鏈設定的 CMAKE_<LANG>_FLAGS
和 CMAKE_<LANG>_FLAGS_<CONFIG>
變數的預設值來執行檢查。然而,某些專案可能會修改這些旗標變數,以新增影響工具鏈 IPO 功能可用性的旗標。CMake 3.24 及更高版本傾向於尊重調用專案的這些變數值。此政策為尚未更新以預期此行為的專案提供相容性。
此政策的 OLD
行為是忽略調用專案的 CMAKE_<LANG>_FLAGS
和 CMAKE_<LANG>_FLAGS_<CONFIG>
值。NEW
行為是使用這些變數的值作為測試專案中的編譯器旗標。
此政策在 CMake 版本 3.24 中引入。它可以由 cmake_policy()
或 cmake_minimum_required()
設定。如果未設定,CMake 不會發出警告,並使用 OLD
行為。
注意
政策的 OLD
行為依 定義已棄用
,並可能在未來版本的 CMake 中移除。