Imported Upstream version 3.12.1
[platform/upstream/cmake.git] / Help / policy / CMP0074.rst
1 CMP0074
2 -------
3
4 :command:`find_package` uses ``<PackageName>_ROOT`` variables.
5
6 In CMake 3.12 and above the :command:`find_package(<PackageName>)` command now
7 searches prefixes specified by the :variable:`<PackageName>_ROOT` CMake
8 variable and the :envvar:`<PackageName>_ROOT` environment variable.
9 Package roots are maintained as a stack so nested calls to all ``find_*``
10 commands inside find modules also search the roots as prefixes.  This policy
11 provides compatibility with projects that have not been updated to avoid using
12 ``<PackageName>_ROOT`` variables for other purposes.
13
14 The ``OLD`` behavior for this policy is to ignore ``<PackageName>_ROOT``
15 variables.  The ``NEW`` behavior for this policy is to use
16 ``<PackageName>_ROOT`` variables.
17
18 This policy was introduced in CMake version 3.12.  CMake version
19 |release| warns when the policy is not set and uses ``OLD`` behavior.
20 Use the :command:`cmake_policy` command to set it to ``OLD`` or ``NEW``
21 explicitly.
22
23 .. include:: DEPRECATED.txt