FPHSA: Revise and format documentation
Use better reStructuredText markup and add cross-references.
This commit is contained in:
parent
d1a6d15bcd
commit
a3ad275ce0
|
@ -1,113 +1,126 @@
|
||||||
#.rst:
|
#[=======================================================================[.rst:
|
||||||
# FindPackageHandleStandardArgs
|
FindPackageHandleStandardArgs
|
||||||
# -----------------------------
|
-----------------------------
|
||||||
#
|
|
||||||
#
|
This module provides a function intended to be used in :ref:`Find Modules`
|
||||||
#
|
implementing :command:`find_package(<PackageName>)` calls. It handles the
|
||||||
# FIND_PACKAGE_HANDLE_STANDARD_ARGS(<name> ... )
|
``REQUIRED``, ``QUIET`` and version-related arguments of ``find_package``.
|
||||||
#
|
It also sets the ``<PackageName>_FOUND`` variable. The package is
|
||||||
# This function is intended to be used in FindXXX.cmake modules files.
|
considered found if all variables listed contain valid results, e.g.
|
||||||
# It handles the REQUIRED, QUIET and version-related arguments to
|
valid filepaths.
|
||||||
# find_package(PackageName). It also sets the <PackageName>_FOUND
|
|
||||||
# variable. The package is considered found if all variables <var1>...
|
.. command:: find_package_handle_standard_args
|
||||||
# listed contain valid results, e.g. valid filepaths.
|
|
||||||
#
|
There are two signatures::
|
||||||
# There are two modes of this function. The first argument in both
|
|
||||||
# modes is the name of the Find-module where it is called (in original
|
find_package_handle_standard_args(<PackageName>
|
||||||
# casing).
|
(DEFAULT_MSG|<custom-failure-message>)
|
||||||
#
|
<required-var>...
|
||||||
# The first simple mode looks like this:
|
)
|
||||||
#
|
|
||||||
# ::
|
find_package_handle_standard_args(<PackageName>
|
||||||
#
|
[FOUND_VAR <result-var>]
|
||||||
# FIND_PACKAGE_HANDLE_STANDARD_ARGS(<name>
|
[REQUIRED_VARS <required-var>...]
|
||||||
# (DEFAULT_MSG|"Custom failure message") <var1>...<varN> )
|
[VERSION_VAR <version-var>]
|
||||||
#
|
[HANDLE_COMPONENTS]
|
||||||
# If the variables <var1> to <varN> are all valid, then
|
[CONFIG_MODE]
|
||||||
# <PackageName>_FOUND will be set to TRUE. If DEFAULT_MSG is given
|
[FAIL_MESSAGE <custom-failure-message>]
|
||||||
# as second argument, then the function will generate itself useful
|
)
|
||||||
# success and error messages. You can also supply a custom error
|
|
||||||
# message for the failure case. This is not recommended.
|
The ``<PackageName>_FOUND`` variable will be set to ``TRUE`` if all
|
||||||
#
|
the variables ``<required-var>...`` are valid and any optional
|
||||||
# The second mode is more powerful and also supports version checking:
|
constraints are satisfied, and ``FALSE`` otherwise. A success or
|
||||||
#
|
failure message may be displayed based on the results and on
|
||||||
# ::
|
whether the ``REQUIRED`` and/or ``QUIET`` option was given to
|
||||||
#
|
the :command:`find_package` call.
|
||||||
# FIND_PACKAGE_HANDLE_STANDARD_ARGS(<NAME>
|
|
||||||
# [FOUND_VAR <resultVar>]
|
The options are:
|
||||||
# [REQUIRED_VARS <var1>...<varN>]
|
|
||||||
# [VERSION_VAR <versionvar>]
|
``(DEFAULT_MSG|<custom-failure-message>)``
|
||||||
# [HANDLE_COMPONENTS]
|
In the simple signature this specifies the failure message.
|
||||||
# [CONFIG_MODE]
|
Use ``DEFAULT_MSG`` to ask for a default message to be computed
|
||||||
# [FAIL_MESSAGE "Custom failure message"] )
|
(recommended). Not valid in the full signature.
|
||||||
#
|
|
||||||
# The FOUND_VAR option is obsolete. ``FIND_PACKAGE_HANDLE_STANDARD_ARGS``
|
``FOUND_VAR <result-var>``
|
||||||
# always populates ``<PackageName>_FOUND``. For backward compatibility,
|
Obselete. Specifies either ``<PackageName>_FOUND`` or
|
||||||
# it also always populates ``<UPPERCASE_NAME>_FOUND``.
|
``<PACKAGENAME>_FOUND`` as the result variable. This exists only
|
||||||
#
|
for compatibility with older versions of CMake and is now ignored.
|
||||||
# As in the simple mode, if <var1> through <varN> are all valid,
|
Result variables of both names are always set for compatibility.
|
||||||
# <PackageName>_FOUND will be set to TRUE. After REQUIRED_VARS the
|
|
||||||
# variables which are required for this package are listed. Following
|
``REQUIRED_VARS <required-var>...``
|
||||||
# VERSION_VAR the name of the variable can be specified which holds the
|
Specify the variables which are required for this package.
|
||||||
# version of the package which has been found. If this is done, this
|
|
||||||
# version will be checked against the (potentially) specified required
|
``VERSION_VAR <version-var>``
|
||||||
# version used in the find_package() call. The EXACT keyword is also
|
Specify the name of a variable that holds the version of the package
|
||||||
# handled. The default messages include information about the required
|
that has been found. This version will be checked against the
|
||||||
# version and the version which has been actually found, both if the
|
(potentially) specified required version given to the
|
||||||
# version is ok or not. If the package supports components, use the
|
:command:`find_package` call, including its ``EXACT`` option.
|
||||||
# HANDLE_COMPONENTS option to enable handling them. In this case,
|
The default messages include information about the required
|
||||||
# find_package_handle_standard_args() will report which components have
|
version and the version which has been actually found, both
|
||||||
# been found and which are missing, and the <PackageName>_FOUND variable
|
if the version is ok or not.
|
||||||
# will be set to FALSE if any of the required components (i.e. not the
|
|
||||||
# ones listed after OPTIONAL_COMPONENTS) are missing. Use the option
|
``HANDLE_COMPONENTS``
|
||||||
# CONFIG_MODE if your FindXXX.cmake module is a wrapper for a
|
Enable handling of package components. In this case, the command
|
||||||
# find_package(... NO_MODULE) call. In this case VERSION_VAR will be
|
will report which components have been found and which are missing,
|
||||||
# set to <NAME>_VERSION and the macro will automatically check whether
|
and the ``<PackageName>_FOUND`` variable will be set to ``FALSE``
|
||||||
# the Config module was found. Via FAIL_MESSAGE a custom failure
|
if any of the required components (i.e. not the ones listed after
|
||||||
# message can be specified, if this is not used, the default message
|
the ``OPTIONAL_COMPONENTS`` option of :command:`find_package`) are
|
||||||
# will be displayed.
|
missing.
|
||||||
#
|
|
||||||
# Example for mode 1:
|
``CONFIG_MODE``
|
||||||
#
|
Specify that the calling find module is a wrapper around a
|
||||||
# ::
|
call to ``find_package(<PackageName> NO_MODULE)``. This implies
|
||||||
#
|
a ``VERSION_VAR`` value of ``<PackageName>_VERSION``. The command
|
||||||
# find_package_handle_standard_args(LibXml2 DEFAULT_MSG
|
will automatically check whether the package configuration file
|
||||||
# LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR)
|
was found.
|
||||||
#
|
|
||||||
#
|
``FAIL_MESSAGE <custom-failure-message>``
|
||||||
#
|
Specify a custom failure message instead of using the default
|
||||||
# LibXml2 is considered to be found, if both LIBXML2_LIBRARY and
|
generated message. Not recommended.
|
||||||
# LIBXML2_INCLUDE_DIR are valid. Then also LibXml2_FOUND is set to
|
|
||||||
# TRUE. If it is not found and REQUIRED was used, it fails with
|
Example for the simple signature:
|
||||||
# FATAL_ERROR, independent whether QUIET was used or not. If it is
|
|
||||||
# found, success will be reported, including the content of <var1>. On
|
.. code-block:: cmake
|
||||||
# repeated Cmake runs, the same message won't be printed again.
|
|
||||||
#
|
find_package_handle_standard_args(LibXml2 DEFAULT_MSG
|
||||||
# Example for mode 2:
|
LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR)
|
||||||
#
|
|
||||||
# ::
|
The ``LibXml2`` package is considered to be found if both
|
||||||
#
|
``LIBXML2_LIBRARY`` and ``LIBXML2_INCLUDE_DIR`` are valid.
|
||||||
# find_package_handle_standard_args(LibXslt
|
Then also ``LibXml2_FOUND`` is set to ``TRUE``. If it is not found
|
||||||
# REQUIRED_VARS LibXslt_LIBRARIES LibXslt_INCLUDE_DIRS
|
and ``REQUIRED`` was used, it fails with a
|
||||||
# VERSION_VAR LibXslt_VERSION_STRING)
|
:command:`message(FATAL_ERROR)`, independent whether ``QUIET`` was
|
||||||
#
|
used or not. If it is found, success will be reported, including
|
||||||
# In this case, LibXslt is considered to be found if the variable(s)
|
the content of the first ``<required-var>``. On repeated CMake runs,
|
||||||
# listed after REQUIRED_VAR are all valid, i.e. LibXslt_LIBRARIES and
|
the same message will not be printed again.
|
||||||
# LibXslt_INCLUDE_DIRS in this case. Also the version of LibXslt will be
|
|
||||||
# checked by using the version contained in LibXslt_VERSION_STRING. Since
|
Example for the full signature:
|
||||||
# no FAIL_MESSAGE is given, the default messages will be printed.
|
|
||||||
#
|
.. code-block:: cmake
|
||||||
# Another example for mode 2:
|
|
||||||
#
|
find_package_handle_standard_args(LibArchive
|
||||||
# ::
|
REQUIRED_VARS LibArchive_LIBRARY LibArchive_INCLUDE_DIR
|
||||||
#
|
VERSION_VAR LibArchive_VERSION)
|
||||||
# find_package(Automoc4 QUIET NO_MODULE HINTS /opt/automoc4)
|
|
||||||
# find_package_handle_standard_args(Automoc4 CONFIG_MODE)
|
In this case, the ``LibArchive`` package is considered to be found if
|
||||||
#
|
both ``LibArchive_LIBRARY`` and ``LibArchive_INCLUDE_DIR`` are valid.
|
||||||
# In this case, FindAutmoc4.cmake wraps a call to find_package(Automoc4
|
Also the version of ``LibArchive`` will be checked by using the version
|
||||||
# NO_MODULE) and adds an additional search directory for automoc4. The
|
contained in ``LibArchive_VERSION``. Since no ``FAIL_MESSAGE`` is given,
|
||||||
# following FIND_PACKAGE_HANDLE_STANDARD_ARGS() call produces a proper
|
the default messages will be printed.
|
||||||
# success/error message.
|
|
||||||
|
Another example for the full signature:
|
||||||
|
|
||||||
|
.. code-block:: cmake
|
||||||
|
|
||||||
|
find_package(Automoc4 QUIET NO_MODULE HINTS /opt/automoc4)
|
||||||
|
find_package_handle_standard_args(Automoc4 CONFIG_MODE)
|
||||||
|
|
||||||
|
In this case, a ``FindAutmoc4.cmake`` module wraps a call to
|
||||||
|
``find_package(Automoc4 NO_MODULE)`` and adds an additional search
|
||||||
|
directory for ``automoc4``. Then the call to
|
||||||
|
``find_package_handle_standard_args`` produces a proper success/failure
|
||||||
|
message.
|
||||||
|
#]=======================================================================]
|
||||||
|
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
# Copyright 2007-2009 Kitware, Inc.
|
# Copyright 2007-2009 Kitware, Inc.
|
||||||
|
|
Loading…
Reference in New Issue