| CMP0138 |
| ------- |
| |
| .. 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. |
| |
| This policy was introduced in CMake version 3.24. Use the |
| :command:`cmake_policy` command to set it to ``OLD`` or ``NEW`` explicitly. |
| Unlike many policies, CMake version |release| does *not* warn |
| when this policy is not set and simply uses ``OLD`` behavior. |
| |
| .. include:: DEPRECATED.txt |