CMP0167¶
3.30 版本新增。
FindBoost 模块已被移除。
CMake 3.29 及更早版本提供了 FindBoost 模块,但需要不断更新才能跟上上游 Boost 的发布。上游 Boost 1.70 及更高版本提供了 BoostConfig.cmake 包配置文件。find_package(Boost CONFIG) 直接查找上游包,无需查找模块。
CMake 3.30 及更高版本倾向于不提供 FindBoost 模块,以便 find_package(Boost) 调用(不带 CONFIG 或 NO_MODULE 选项)直接查找上游的 BoostConfig.cmake。此策略为尚未移植到使用上游 Boost 包的项目提供了兼容性。
此策略的 OLD 行为是让 find_package(Boost) 加载 CMake 的 FindBoost 模块。NEW 行为是让 find_package(Boost) 搜索上游的 BoostConfig.cmake。
此策略在 CMake 版本 3.30 中引入。它可以通过 cmake_policy() 或 cmake_minimum_required() 设置。如果未设置,CMake 会发出警告并使用 OLD 行为。
注意
策略的 OLD 行为 根据定义已被弃用,并可能在 CMake 的未来版本中被移除。