New in version 3.15.
Compiler id for IBM Clang-based XL compilers is now XLClang
.
CMake 3.15 and above recognize that IBM’s Clang-based XL compilers that define __ibmxl__
are a new front-end distinct from xlc
with a different command line and set of capabilities. CMake now prefers to present this to projects by setting the CMAKE_<LANG>_COMPILER_ID
variable to XLClang
instead of XL
. However, existing projects may assume the compiler id for Clang-based XL is just XL
as it was in CMake versions prior to 3.15. Therefore this policy determines for Clang-based XL compilers which compiler id to report in the CMAKE_<LANG>_COMPILER_ID
variable after language <LANG>
is enabled by the project()
or enable_language()
command. The policy must be set prior to the invocation of either command.
The OLD
behavior for this policy is to use compiler id XL
. The NEW
behavior for this policy is to use compiler id XLClang
.
This policy was introduced in CMake version 3.15. Use the cmake_policy()
command to set this policy to OLD
or NEW
explicitly. Unlike most policies, CMake version 3.19.0-rc3 does not warn by default when this policy is not set and simply uses OLD
behavior. See documentation of the CMAKE_POLICY_WARNING_CMP0089
variable to control the warning.
Note
The OLD
behavior of a policy is deprecated by definition
and may be removed in a future version of CMake.
© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.19/policy/CMP0089.html