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 中被删除。