diff options
author | Brad King <brad.king@kitware.com> | 2022-06-10 15:05:35 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2022-06-10 15:05:43 (GMT) |
commit | 865bc4a0682d0681a9cb428eed6c8b18e977e4e8 (patch) | |
tree | e33877fe390be5eb20055badeb8edd4b35a7c6d0 /Help/policy | |
parent | d63ec8645f5b296bb6b09f47240f26cf44994429 (diff) | |
parent | ec08bc17526a7e22c1a18d5262ca0ca0c391ec6e (diff) | |
download | CMake-865bc4a0682d0681a9cb428eed6c8b18e977e4e8.zip CMake-865bc4a0682d0681a9cb428eed6c8b18e977e4e8.tar.gz CMake-865bc4a0682d0681a9cb428eed6c8b18e977e4e8.tar.bz2 |
Merge topic 'CheckIPOSupported-honor-flags' into release-3.24
ec08bc1752 CheckIPOSupported: Compile check using flags of calling project
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7343
Diffstat (limited to 'Help/policy')
-rw-r--r-- | Help/policy/CMP0138.rst | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/Help/policy/CMP0138.rst b/Help/policy/CMP0138.rst index c7f0e2d..a86849d 100644 --- a/Help/policy/CMP0138.rst +++ b/Help/policy/CMP0138.rst @@ -3,7 +3,25 @@ CMP0138 .. versionadded:: 3.24 -Placeholder for reverted policy. +: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. |