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