CMP0011¶
纳入的脚本会进行自动 cmake_policy()
PUSH 和 POP。
在 CMake 2.6.2 及更低版本中,include()
和 find_package()
命令加载的脚本中,CMake 策略设置会影响 include 者。必须明确调用 cmake_policy(PUSH)
和 cmake_policy(POP)
才能隔离策略变更,从而保护 include 者。有些脚本会影响 include 者的策略,但大多数脚本不会。在 CMake 2.6.3 及更高版本中,include()
和 find_package()
默认情况下会在纳入的脚本周围对策略堆栈进行 PUSH
和 POP
,但会提供一个 NO_POLICY_SCOPE
选项来禁用此操作。此策略确定了是否为兼容性隐含 NO_POLICY_SCOPE
。对于此策略,OLD
行为是为 include()
和 find_package()
命令隐含 NO_POLICY_SCOPE
。对于此策略,NEW
行为是允许这些命令执行其默认的 cmake_policy PUSH
和 POP
。
此策略在 CMake 2.6.3 版本中引入。它可以通过 cmake_policy()
或 cmake_minimum_required()
来设置。如果未设置,CMake 会发出警告并使用 OLD
行为。
注意
策略的 OLD
行为 在 应用 定义 后 已 弃用
,并且可能在将来版本的 CMake 中被移除。