New in version 3.12.
find_package()
uses <PackageName>_ROOT
variables.
In CMake 3.12 and above the find_package(<PackageName>)
command now searches prefixes specified by the <PackageName>_ROOT
CMake variable and the <PackageName>_ROOT
environment variable. Package roots are maintained as a stack so nested calls to all find_*
commands inside find modules and config packages also search the roots as prefixes. This policy provides compatibility with projects that have not been updated to avoid using <PackageName>_ROOT
variables for other purposes.
The OLD
behavior for this policy is to ignore <PackageName>_ROOT
variables. The NEW
behavior for this policy is to use <PackageName>_ROOT
variables.
This policy was introduced in CMake version 3.12. CMake version 3.19.0-rc3 warns when the policy is not set and uses OLD
behavior. Use the cmake_policy()
command to set it to OLD
or NEW
explicitly.
Note
The OLD
behavior of a policy is deprecated by definition
and may be removed in a future version of CMake.
© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.19/policy/CMP0074.html