CMAKE_POLICY_DEFAULT_CMP<NNNN>

在 CMake 策略 CMP<NNNN> 其他情况均未设置时的默认值。

命令 cmake_minimum_required(VERSION)cmake_policy(VERSION) 默认情况下会将给定版本之后引入的策略设置为未设置状态。设置 CMAKE_POLICY_DEFAULT_CMP<NNNN>OLDNEW 来指定策略 CMP<NNNN> 的默认值,其中 <NNNN> 是策略编号。

项目不应通过 CMake 代码设置此变量来设置自己的策略;请改用 cmake_policy(SET)。此变量旨在外部设置项目本身尚未更新其策略的那些策略。

  • 运行 CMake 的用户可以在缓存中设置此变量(例如 -DCMAKE_POLICY_DEFAULT_CMP<NNNN>=<OLD|NEW>)。将其设置为 OLD 以在使用旧行为时抑制策略警告,或设置为 NEW 以尝试使用新行为构建项目。

  • 项目可以在调用 add_subdirectory() 添加第三方项目之前设置此变量,以在不修改第三方代码的情况下设置其策略。

请参阅 CMAKE_POLICY_VERSION_MINIMUM 根据引入它们的 CMake 版本将策略设置为 NEW