Help/policy/CMP0138.rst
.. versionadded:: 3.24
:module:CheckIPOSupported uses flags from calling project.
The :module:CheckIPOSupported module :command:check_ipo_supported
command compiles a test project to determine whether the toolchain
supports :prop_tgt:INTERPROCEDURAL_OPTIMIZATION. CMake 3.23 and
below run the check with the default values of the
:variable:CMAKE_<LANG>_FLAGS and :variable:CMAKE_<LANG>_FLAGS_<CONFIG>
variables for the current environment and toolchain settings.
However, some projects may modify these flag variables to add
flags that affect availability of the toolchain's IPO features.
CMake 3.24 and above prefer to honor the calling project's values
for these variables. This policy provides compatibility for projects
that have not been updated to expect this behavior.
The OLD behavior for this policy is to ignore the calling
project's values of :variable:CMAKE_<LANG>_FLAGS and
:variable:CMAKE_<LANG>_FLAGS_<CONFIG>. The NEW behavior
for this policy is to use the values of those variables as
compiler flags in the test project.
.. |INTRODUCED_IN_CMAKE_VERSION| replace:: 3.24 .. |WARNS_OR_DOES_NOT_WARN| replace:: does not warn .. include:: include/STANDARD_ADVICE.rst
.. include:: include/DEPRECATED.rst