CMP0011 — CMake 4.2.6 Documentation

# CMP0011

Warning

The `OLD` behavior of this policy was removed in CMake version 4.0. This policy must be set to `NEW` by a call to `cmake_minimum_required()` or `cmake_policy()`.

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. Prior to removal in CMake version 4.0, it could be set by `cmake_policy()` or `cmake_minimum_required()`. If it was not set, CMake warned, and used `OLD` behavior.