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