5838aba1aa
Diagnostics which check the sanity of exported include paths previously skipped over any path containing a generator expression. Introduce a policy to issue an error message in such cases. The export files created in the OLD behavior are not usable, because they contain relative paths or paths to the source or build location which are not suitable for use on installation. CMake will report an error on import.
78 lines
1.8 KiB
ReStructuredText
78 lines
1.8 KiB
ReStructuredText
.. 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.
|
|
|
|
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
|