CMP0138ΒΆ
New in version 3.24.
CheckIPOSupported
uses flags from calling project.
The CheckIPOSupported
module check_ipo_supported()
command compiles a test project to determine whether the toolchain
supports INTERPROCEDURAL_OPTIMIZATION
. CMake 3.23 and
below run the check with the default values of the
CMAKE_<LANG>_FLAGS
and 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 CMAKE_<LANG>_FLAGS
and
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.
This policy was introduced in CMake version 3.24. Use the
cmake_policy()
command to set it to OLD
or NEW
explicitly.
Unlike many policies, CMake version 3.27.9 does not warn
when this policy is not set and simply uses OLD
behavior.
Note
The OLD
behavior of a policy is
deprecated by definition
and may be removed in a future version of CMake.