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.25.3 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.