CMP0074¶
3.12 版本新增。
find_package() 使用 <PackageName>_ROOT 变量。
在 CMake 3.12 及以上版本中,find_package(<PackageName>) 命令现在会搜索由 <PackageName>_ROOT CMake 变量和 <PackageName>_ROOT 环境变量所指定的前缀。软件包根路径(Package roots)以栈的形式维护,因此在 find 模块和 config 软件包内部对所有 find_* 命令的嵌套调用也会将这些根路径作为前缀进行搜索。此策略旨在为尚未更新以避免将 <PackageName>_ROOT 变量用于其他目的的项目提供兼容性。
该策略的 OLD 行为是忽略 <PackageName>_ROOT 变量。该策略的 NEW 行为是使用 <PackageName>_ROOT 变量。
此策略在 CMake 3.12 版本中引入。可以通过 cmake_policy() 或 cmake_minimum_required() 进行设置。如果未设置,CMake 将发出警告并使用 OLD 行为。
注意
策略的 OLD 行为根据定义已被弃用,并可能在未来版本的 CMake 中被移除。