CMP0074

3.12 版本新增。

find_package() 使用 <PackageName>_ROOT 变量。

在 CMake 3.12 及更高版本中,find_package(<PackageName>) 命令现在会搜索 <PackageName>_ROOT CMake 变量和 <PackageName>_ROOT 环境变量指定的路径。软件包根目录被维护为一个栈,因此在 find 模块和 config 包内部对所有 find_* 命令的嵌套调用也会将这些根目录作为前缀进行搜索。此策略兼容未更新以避免将 <PackageName>_ROOT 变量用于其他目的的项目。

此策略的 OLD 行为是忽略 <PackageName>_ROOT 变量。此策略的 NEW 行为是使用 <PackageName>_ROOT 变量。

此策略在 CMake 版本 3.12 中引入。它可以由 cmake_policy()cmake_minimum_required() 设置。如果未设置,CMake 会发出警告并使用 OLD 行为。

注意

策略的 OLD 行为 按照定义已被弃用,并可能在未来的 CMake 版本中被移除。