CMP0011¶
警告
此策略的 OLD
行为在 CMake 4.0 版本中已移除。此策略必须通过调用 cmake_minimum_required()
或 cmake_policy()
设置为 NEW
。
包含的脚本会自动进行 cmake_policy()
PUSH 和 POP。
在 CMake 2.6.2 及更早版本中,通过 include()
和 find_package()
命令加载的脚本中的 CMake 策略设置会影响包含者。需要显式调用 cmake_policy(PUSH)
和 cmake_policy(POP)
来隔离策略更改并保护包含者。虽然一些脚本旨在影响其包含者的策略,但大多数脚本并非如此。在 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 4.0 版本中移除之前,可以通过 cmake_policy()
或 cmake_minimum_required()
进行设置。如果未设置,CMake 会发出警告,并使用 OLD
行为。