# CMP0011

Included scripts do automatic `cmake_policy()` PUSH and POP.

In CMake 2.6.2 and below, CMake Policy settings in scripts loaded by the `include()` and `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, `include()` and `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 `include()` and `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 3.28.3 warns when the policy is not set and uses `OLD` behavior. Use the `cmake_policy()` command to set it to `OLD` or `NEW` explicitly.

Note

The `OLD` behavior of a policy is `deprecated by definition` and may be removed in a future version of CMake.