| CMP0218 |
| ------- |
| |
| .. versionadded:: 4.4 |
| |
| The :variable:`CMAKE_WARN_DEPRECATED` and :variable:`CMAKE_ERROR_DEPRECATED` |
| variables are ignored. |
| |
| In CMake 4.3 and below, these variables controlled whether deprecation messages |
| resulted in warnings, errors, or were suppressed. However, not all deprecation |
| messages considered the non-cache values. |
| |
| CMake 4.4 introduced a new, unified system for managing |
| :manual:`diagnostics <cmake-diagnostics(7)>` that prefers the |
| :command:`cmake_diagnostic` command for manipulating diagnostic actions. |
| |
| This policy provides compatibility with projects that relied on these variables |
| and have not been updated to be aware of the change. |
| |
| The ``OLD`` behavior for this policy is to use the variables to control |
| deprecation messages which respected the non-cache values of these variables |
| in CMake 4.3 and earlier. |
| |
| The ``NEW`` behavior does not ascribe any special meaning to the non-cache |
| values of these variables and uses the :diagnostic:`CMD_DEPRECATED` diagnostic |
| state to control all deprecation messages. |
| |
| .. note:: |
| |
| The :variable:`CMAKE_WARN_DEPRECATED` and :variable:`CMAKE_ERROR_DEPRECATED` |
| *cache* variables are synchronized with the initial state of the |
| :diagnostic:`CMD_DEPRECATED` diagnostic, regardless of this policy's setting. |
| (The synchronization happens at a point prior to when it is possible to |
| manipulate policies.) However, this behavior is deprecated and will be |
| removed in a future version of CMake. |
| |
| Any deprecation messages introduced in CMake 4.4 or later are controlled by the |
| :diagnostic:`CMD_DEPRECATED` diagnostic regardless of the setting of this |
| policy. |
| |
| .. |INTRODUCED_IN_CMAKE_VERSION| replace:: 4.4 |
| .. |WARNS_OR_DOES_NOT_WARN| replace:: |
| warns when either variable is accessed or modified |
| .. include:: include/STANDARD_ADVICE.rst |
| |
| .. include:: include/DEPRECATED.rst |