mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-19 02:17:27 +08:00
Help: Add explicit <PackageName>_ROOT variable documentation
Add documentation for both the CMake variable and environment variable of this name pattern. Update references to these names to link to their documents. Clarify the pattern used to construct their names.
This commit is contained in:
@@ -62,8 +62,11 @@ added to the search.
|
|||||||
If ``NO_DEFAULT_PATH`` is not specified, the search process is as follows:
|
If ``NO_DEFAULT_PATH`` is not specified, the search process is as follows:
|
||||||
|
|
||||||
.. |FIND_PACKAGE_ROOT_PREFIX_PATH_XXX_SUBDIR| replace::
|
.. |FIND_PACKAGE_ROOT_PREFIX_PATH_XXX_SUBDIR| replace::
|
||||||
|prefix_XXX_SUBDIR| for each ``<prefix>`` in ``PackageName_ROOT`` if called
|
|prefix_XXX_SUBDIR| for each ``<prefix>`` in the
|
||||||
from within a find module
|
:variable:`<PackageName>_ROOT` CMake variable and the
|
||||||
|
:envvar:`<PackageName>_ROOT` environment variable if
|
||||||
|
called from within a find module loaded by
|
||||||
|
:command:`find_package(<PackageName>)`
|
||||||
|
|
||||||
.. |CMAKE_PREFIX_PATH_XXX_SUBDIR| replace::
|
.. |CMAKE_PREFIX_PATH_XXX_SUBDIR| replace::
|
||||||
|prefix_XXX_SUBDIR| for each ``<prefix>`` in :variable:`CMAKE_PREFIX_PATH`
|
|prefix_XXX_SUBDIR| for each ``<prefix>`` in :variable:`CMAKE_PREFIX_PATH`
|
||||||
@@ -76,13 +79,16 @@ If ``NO_DEFAULT_PATH`` is not specified, the search process is as follows:
|
|||||||
|prefix_XXX_SUBDIR| for each ``<prefix>`` in
|
|prefix_XXX_SUBDIR| for each ``<prefix>`` in
|
||||||
:variable:`CMAKE_SYSTEM_PREFIX_PATH`
|
:variable:`CMAKE_SYSTEM_PREFIX_PATH`
|
||||||
|
|
||||||
1. If called from within a find module, search prefix paths unique to the
|
1. If called from within a find module loaded by
|
||||||
current package being found. Specifically look in the ``PackageName_ROOT``
|
:command:`find_package(<PackageName>)`, search prefixes unique to the
|
||||||
CMake and environment variables. The package root variables are maintained
|
current package being found. Specifically look in the
|
||||||
as a stack so if called from nested find modules, root paths from the
|
:variable:`<PackageName>_ROOT` CMake variable and the
|
||||||
parent's find module will be searched after paths from the current module,
|
:envvar:`<PackageName>_ROOT` environment variable.
|
||||||
i.e. ``CurrentPackage_ROOT``, ``ENV{CurrentPackage_ROOT}``,
|
The package root variables are maintained as a stack so if called from
|
||||||
``ParentPackage_ROOT``, ``ENV{ParentPackage_ROOT}``, etc.
|
nested find modules, root paths from the parent's find module will be
|
||||||
|
searched after paths from the current module,
|
||||||
|
i.e. ``<CurrentPackage>_ROOT``, ``ENV{<CurrentPackage>_ROOT}``,
|
||||||
|
``<ParentPackage>_ROOT``, ``ENV{<ParentPackage>_ROOT}``, etc.
|
||||||
This can be skipped if ``NO_PACKAGE_ROOT_PATH`` is passed.
|
This can be skipped if ``NO_PACKAGE_ROOT_PATH`` is passed.
|
||||||
See policy :policy:`CMP0074`.
|
See policy :policy:`CMP0074`.
|
||||||
|
|
||||||
|
@@ -262,8 +262,10 @@ The set of installation prefixes is constructed using the following
|
|||||||
steps. If ``NO_DEFAULT_PATH`` is specified all ``NO_*`` options are
|
steps. If ``NO_DEFAULT_PATH`` is specified all ``NO_*`` options are
|
||||||
enabled.
|
enabled.
|
||||||
|
|
||||||
1. Search paths specified in the ``PackageName_ROOT`` CMake and environment
|
1. Search paths specified in the :variable:`<PackageName>_ROOT` CMake
|
||||||
variables. The package root variables are maintained as a stack so if
|
variable and the :envvar:`<PackageName>_ROOT` environment variable,
|
||||||
|
where ``<PackageName>`` is the package to be found.
|
||||||
|
The package root variables are maintained as a stack so if
|
||||||
called from within a find module, root paths from the parent's find
|
called from within a find module, root paths from the parent's find
|
||||||
module will also be searched after paths for the current package.
|
module will also be searched after paths for the current package.
|
||||||
This can be skipped if ``NO_PACKAGE_ROOT_PATH`` is passed.
|
This can be skipped if ``NO_PACKAGE_ROOT_PATH`` is passed.
|
||||||
|
15
Help/envvar/PackageName_ROOT.rst
Normal file
15
Help/envvar/PackageName_ROOT.rst
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<PackageName>_ROOT
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Calls to :command:`find_package(<PackageName>)` will search in prefixes
|
||||||
|
specified by the ``<PackageName>_ROOT`` environment variable, where
|
||||||
|
``<PackageName>`` is the name given to the ``find_package`` call
|
||||||
|
and ``_ROOT`` is literal. For example, ``find_package(Foo)`` will search
|
||||||
|
prefixes specified in the ``Foo_ROOT`` environment variable (if set).
|
||||||
|
See policy :policy:`CMP0074`.
|
||||||
|
|
||||||
|
This variable may hold a single prefix or a list of prefixes separated
|
||||||
|
by ``:`` on UNIX or ``;`` on Windows (the same as the ``PATH`` environment
|
||||||
|
variable convention on those platforms).
|
||||||
|
|
||||||
|
See also the :variable:`<PackageName>_ROOT` CMake variable.
|
@@ -20,6 +20,7 @@ Environment Variables that Control the Build
|
|||||||
/envvar/DESTDIR
|
/envvar/DESTDIR
|
||||||
/envvar/LDFLAGS
|
/envvar/LDFLAGS
|
||||||
/envvar/MACOSX_DEPLOYMENT_TARGET
|
/envvar/MACOSX_DEPLOYMENT_TARGET
|
||||||
|
/envvar/PackageName_ROOT
|
||||||
|
|
||||||
Environment Variables for Languages
|
Environment Variables for Languages
|
||||||
===================================
|
===================================
|
||||||
|
@@ -204,6 +204,7 @@ Variables that Change Behavior
|
|||||||
/variable/CMAKE_WARN_DEPRECATED
|
/variable/CMAKE_WARN_DEPRECATED
|
||||||
/variable/CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION
|
/variable/CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION
|
||||||
/variable/CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY
|
/variable/CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY
|
||||||
|
/variable/PackageName_ROOT
|
||||||
|
|
||||||
Variables that Describe the System
|
Variables that Describe the System
|
||||||
==================================
|
==================================
|
||||||
|
@@ -1,18 +1,19 @@
|
|||||||
CMP0074
|
CMP0074
|
||||||
-------
|
-------
|
||||||
|
|
||||||
:command:`find_package` uses ``PackageName_ROOT`` variables.
|
:command:`find_package` uses ``<PackageName>_ROOT`` variables.
|
||||||
|
|
||||||
In CMake 3.12 and above the ``find_package(PackageName)`` command now searches
|
In CMake 3.12 and above the :command:`find_package(<PackageName>)` command now
|
||||||
a prefix specified by a ``PackageName_ROOT`` CMake or environment variable.
|
searches prefixes specified by the :variable:`<PackageName>_ROOT` CMake
|
||||||
|
variable and the :envvar:`<PackageName>_ROOT` environment variable.
|
||||||
Package roots are maintained as a stack so nested calls to all ``find_*``
|
Package roots are maintained as a stack so nested calls to all ``find_*``
|
||||||
commands inside find modules also search the roots as prefixes. This policy
|
commands inside find modules also search the roots as prefixes. This policy
|
||||||
provides compatibility with projects that have not been updated to avoid using
|
provides compatibility with projects that have not been updated to avoid using
|
||||||
``PackageName_ROOT`` variables for other purposes.
|
``<PackageName>_ROOT`` variables for other purposes.
|
||||||
|
|
||||||
The ``OLD`` behavior for this policy is to ignore ``PackageName_ROOT``
|
The ``OLD`` behavior for this policy is to ignore ``<PackageName>_ROOT``
|
||||||
variables. The ``NEW`` behavior for this policy is to use ``PackageName_ROOT``
|
variables. The ``NEW`` behavior for this policy is to use
|
||||||
variables.
|
``<PackageName>_ROOT`` variables.
|
||||||
|
|
||||||
This policy was introduced in CMake version 3.12. CMake version
|
This policy was introduced in CMake version 3.12. CMake version
|
||||||
|release| warns when the policy is not set and uses ``OLD`` behavior.
|
|release| warns when the policy is not set and uses ``OLD`` behavior.
|
||||||
|
@@ -46,8 +46,9 @@ Commands
|
|||||||
were added to expose ``TOUCH`` functionality without having to use
|
were added to expose ``TOUCH`` functionality without having to use
|
||||||
CMake's command-line tool mode with :command:`execute_process`.
|
CMake's command-line tool mode with :command:`execute_process`.
|
||||||
|
|
||||||
* The :command:`find_package` command now searches a prefix specified by
|
* The :command:`find_package` command now searches prefixes specified by
|
||||||
a ``PackageName_ROOT`` CMake or environment variable. Package roots are
|
the :variable:`<PackageName>_ROOT` CMake variable and the
|
||||||
|
:envvar:`<PackageName>_ROOT` environment variable. Package roots are
|
||||||
maintained as a stack so nested calls to all ``find_*`` commands inside
|
maintained as a stack so nested calls to all ``find_*`` commands inside
|
||||||
find modules also search the roots as prefixes.
|
find modules also search the roots as prefixes.
|
||||||
See policy :policy:`CMP0074`.
|
See policy :policy:`CMP0074`.
|
||||||
|
14
Help/variable/PackageName_ROOT.rst
Normal file
14
Help/variable/PackageName_ROOT.rst
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
<PackageName>_ROOT
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Calls to :command:`find_package(<PackageName>)` will search in prefixes
|
||||||
|
specified by the ``<PackageName>_ROOT`` CMake variable, where
|
||||||
|
``<PackageName>`` is the name given to the ``find_package`` call
|
||||||
|
and ``_ROOT`` is literal. For example, ``find_package(Foo)`` will search
|
||||||
|
prefixes specified in the ``Foo_ROOT`` CMake variable (if set).
|
||||||
|
See policy :policy:`CMP0074`.
|
||||||
|
|
||||||
|
This variable may hold a single prefix or a
|
||||||
|
:ref:`;-list <CMake Language Lists>` of multiple prefixes.
|
||||||
|
|
||||||
|
See also the :envvar:`<PackageName>_ROOT` environment variable.
|
@@ -219,8 +219,8 @@ class cmMakefile;
|
|||||||
SELECT(POLICY, CMP0073, \
|
SELECT(POLICY, CMP0073, \
|
||||||
"Do not produce legacy _LIB_DEPENDS cache entries.", 3, 12, 0, \
|
"Do not produce legacy _LIB_DEPENDS cache entries.", 3, 12, 0, \
|
||||||
cmPolicies::WARN) \
|
cmPolicies::WARN) \
|
||||||
SELECT(POLICY, CMP0074, "find_package uses PackageName_ROOT variables.", 3, \
|
SELECT(POLICY, CMP0074, "find_package uses <PackageName>_ROOT variables.", \
|
||||||
12, 0, cmPolicies::WARN) \
|
3, 12, 0, cmPolicies::WARN) \
|
||||||
SELECT(POLICY, CMP0075, \
|
SELECT(POLICY, CMP0075, \
|
||||||
"Include file check macros honor CMAKE_REQUIRED_LIBRARIES.", 3, 12, \
|
"Include file check macros honor CMAKE_REQUIRED_LIBRARIES.", 3, 12, \
|
||||||
0, cmPolicies::WARN)
|
0, cmPolicies::WARN)
|
||||||
|
@@ -3,7 +3,7 @@ Foo_ROOT :<base>/foo/cmake_root
|
|||||||
ENV{Foo_ROOT} :<base>/foo/env_root
|
ENV{Foo_ROOT} :<base>/foo/env_root
|
||||||
+
|
+
|
||||||
CMake Warning \(dev\) at CMP0074-common.cmake:[0-9]+ \(find_package\):
|
CMake Warning \(dev\) at CMP0074-common.cmake:[0-9]+ \(find_package\):
|
||||||
Policy CMP0074 is not set: find_package uses PackageName_ROOT variables.
|
Policy CMP0074 is not set: find_package uses <PackageName>_ROOT variables.
|
||||||
Run "cmake --help-policy CMP0074" for policy details. Use the cmake_policy
|
Run "cmake --help-policy CMP0074" for policy details. Use the cmake_policy
|
||||||
command to set the policy and suppress this warning.
|
command to set the policy and suppress this warning.
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user