https://github.com/Kitware/CMake
Raw File
Tip revision: b45f9b364382839995c76bc9794bb5ae8fb787b5 authored by Brad King on 01 November 2022, 17:10:48 UTC
CMake 3.25.0-rc3
Tip revision: b45f9b3
CMP0011.rst
CMP0011
-------

Included scripts do automatic :command:`cmake_policy` PUSH and POP.

In CMake 2.6.2 and below, CMake Policy settings in scripts loaded by
the :command:`include` and :command:`find_package` commands would affect
the includer.  Explicit invocations of ``cmake_policy(PUSH)`` and
``cmake_policy(POP)`` were required to isolate policy changes and protect
the includer.  While some scripts intend to affect the policies of their
includer, most do not.  In CMake 2.6.3 and above, :command:`include` and
:command:`find_package` by default ``PUSH`` and ``POP`` an entry on
the policy stack around an included
script, but provide a ``NO_POLICY_SCOPE`` option to disable it.  This
policy determines whether or not to imply ``NO_POLICY_SCOPE`` for
compatibility.  The ``OLD`` behavior for this policy is to imply
``NO_POLICY_SCOPE`` for :command:`include` and :command:`find_package` commands.
The ``NEW`` behavior for this policy is to allow the commands to do
their default cmake_policy ``PUSH`` and ``POP``.

This policy was introduced in CMake version 2.6.3.  CMake version
|release| warns when the policy is not set and uses ``OLD`` behavior.  Use
the :command:`cmake_policy` command to set it to ``OLD`` or ``NEW`` explicitly.

.. include:: DEPRECATED.txt
back to top