| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- .. cmake-manual-description: CMake Policies Reference
- cmake-policies(7)
- *****************
- .. only:: html or latex
- .. contents::
- Introduction
- ============
- Policies in CMake are used to preserve backward compatible behavior
- across multiple releases. When a new policy is introduced, newer CMake
- versions will begin to warn about the backward compatible behavior. It
- is possible to disable the warning by explicitly requesting the OLD, or
- backward compatible behavior using the :command:`cmake_policy` command.
- It is also possible to request NEW, or non-backward compatible behavior
- for a policy, also avoiding the warning.
- The :command:`cmake_minimum_required` command does more than report an
- error if a too-old version of CMake is used to build a project. It
- also sets all policies introduced in that CMake version or earlier to
- NEW behavior. To manage policies without increasing the minimum required
- CMake version, the :command:`if(POLICY)` command may be used:
- .. code-block:: cmake
- if(POLICY CMP0990)
- cmake_policy(SET CMP0990 NEW)
- endif()
- This has the effect of using the NEW behavior with newer CMake releases which
- users may be using and not issuing a compatibility warning.
- The setting of a policy is confined in some cases to not propagate to the
- parent scope. For example, if the files read by the :command:`include` command
- or the :command:`find_package` command contain a use of :command:`cmake_policy`,
- that policy setting will not affect the caller by default. Both commands accept
- an optional ``NO_POLICY_SCOPE`` keyword to control this behavior.
- The :variable:`CMAKE_MINIMUM_REQUIRED_VERSION` variable may also be used
- to determine whether to report an error on use of deprecated macros or
- functions.
- All Policies
- ============
- .. toctree::
- :maxdepth: 1
- /policy/CMP0000
- /policy/CMP0001
- /policy/CMP0002
- /policy/CMP0003
- /policy/CMP0004
- /policy/CMP0005
- /policy/CMP0006
- /policy/CMP0007
- /policy/CMP0008
- /policy/CMP0009
- /policy/CMP0010
- /policy/CMP0011
- /policy/CMP0012
- /policy/CMP0013
- /policy/CMP0014
- /policy/CMP0015
- /policy/CMP0016
- /policy/CMP0017
- /policy/CMP0018
- /policy/CMP0019
- /policy/CMP0020
- /policy/CMP0021
- /policy/CMP0022
- /policy/CMP0023
- /policy/CMP0024
- /policy/CMP0025
- /policy/CMP0026
- /policy/CMP0027
- /policy/CMP0028
- /policy/CMP0029
- /policy/CMP0030
- /policy/CMP0031
- /policy/CMP0032
- /policy/CMP0033
- /policy/CMP0034
- /policy/CMP0035
- /policy/CMP0036
- /policy/CMP0037
- /policy/CMP0038
- /policy/CMP0039
- /policy/CMP0040
- /policy/CMP0041
- /policy/CMP0042
|