summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
Diffstat (limited to 'Modules')
-rw-r--r--Modules/FindPackageHandleStandardArgs.cmake59
1 files changed, 28 insertions, 31 deletions
diff --git a/Modules/FindPackageHandleStandardArgs.cmake b/Modules/FindPackageHandleStandardArgs.cmake
index bcbd17d..bf5e921 100644
--- a/Modules/FindPackageHandleStandardArgs.cmake
+++ b/Modules/FindPackageHandleStandardArgs.cmake
@@ -8,9 +8,9 @@
#
# This function is intended to be used in FindXXX.cmake modules files.
# It handles the REQUIRED, QUIET and version-related arguments to
-# find_package(). It also sets the <packagename>_FOUND variable. The
-# package is considered found if all variables <var1>... listed contain
-# valid results, e.g. valid filepaths.
+# find_package(PackageName). It also sets the <PackageName>_FOUND
+# variable. The package is considered found if all variables <var1>...
+# listed contain valid results, e.g. valid filepaths.
#
# 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
@@ -24,7 +24,7 @@
# (DEFAULT_MSG|"Custom failure message") <var1>...<varN> )
#
# If the variables <var1> to <varN> are all valid, then
-# <UPPERCASED_NAME>_FOUND will be set to TRUE. If DEFAULT_MSG is given
+# <PackageName>_FOUND will be set to TRUE. If DEFAULT_MSG is given
# 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.
@@ -41,16 +41,12 @@
# [CONFIG_MODE]
# [FAIL_MESSAGE "Custom failure message"] )
#
-# In this mode, the name of the result-variable can be set either to
-# either <UPPERCASED_NAME>_FOUND or <OriginalCase_Name>_FOUND using the
-# FOUND_VAR option. Other names for the result-variable are not
-# allowed. So for a Find-module named FindFooBar.cmake, the two
-# possible names are FooBar_FOUND and FOOBAR_FOUND. It is recommended
-# to use the original case version. If the FOUND_VAR option is not
-# used, the default is <UPPERCASED_NAME>_FOUND.
+# The FOUND_VAR option is obsolete. ``FIND_PACKAGE_HANDLE_STANDARD_ARGS``
+# always populates ``<PackageName>_FOUND``. For backward compatibility,
+# it also always populates ``<UPPERCASE_NAME>_FOUND``.
#
# As in the simple mode, if <var1> through <varN> are all valid,
-# <packagename>_FOUND will be set to TRUE. After REQUIRED_VARS the
+# <PackageName>_FOUND will be set to TRUE. After REQUIRED_VARS the
# variables which are required for this package are listed. Following
# VERSION_VAR the name of the variable can be specified which holds the
# version of the package which has been found. If this is done, this
@@ -61,7 +57,7 @@
# version is ok or not. If the package supports components, use the
# HANDLE_COMPONENTS option to enable handling them. In this case,
# find_package_handle_standard_args() will report which components have
-# been found and which are missing, and the <packagename>_FOUND variable
+# been found and which are missing, and the <PackageName>_FOUND variable
# 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
# CONFIG_MODE if your FindXXX.cmake module is a wrapper for a
@@ -81,7 +77,7 @@
#
#
# LibXml2 is considered to be found, if both LIBXML2_LIBRARY and
-# LIBXML2_INCLUDE_DIR are valid. Then also LIBXML2_FOUND is set to
+# 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
# FATAL_ERROR, independent whether QUIET was used or not. If it is
# found, success will be reported, including the content of <var1>. On
@@ -92,16 +88,14 @@
# ::
#
# find_package_handle_standard_args(LibXslt
-# FOUND_VAR LibXslt_FOUND
# REQUIRED_VARS LibXslt_LIBRARIES LibXslt_INCLUDE_DIRS
# VERSION_VAR LibXslt_VERSION_STRING)
#
# In this case, LibXslt is considered to be found if the variable(s)
# listed after REQUIRED_VAR are all valid, i.e. LibXslt_LIBRARIES and
-# LibXslt_INCLUDE_DIRS in this case. The result will then be stored in
-# LibXslt_FOUND . Also the version of LibXslt will be checked by using
-# the version contained in LibXslt_VERSION_STRING. Since no
-# FAIL_MESSAGE is given, the default messages will be printed.
+# LibXslt_INCLUDE_DIRS in this case. Also the version of LibXslt will be
+# checked by using the version contained in LibXslt_VERSION_STRING. Since
+# no FAIL_MESSAGE is given, the default messages will be printed.
#
# Another example for mode 2:
#
@@ -111,9 +105,8 @@
# find_package_handle_standard_args(Automoc4 CONFIG_MODE)
#
# In this case, FindAutmoc4.cmake wraps a call to find_package(Automoc4
-# NO_MODULE) and adds an additional search directory for automoc4. Here
-# the result will be stored in AUTOMOC4_FOUND. The following
-# FIND_PACKAGE_HANDLE_STANDARD_ARGS() call produces a proper
+# NO_MODULE) and adds an additional search directory for automoc4. The
+# following FIND_PACKAGE_HANDLE_STANDARD_ARGS() call produces a proper
# success/error message.
#=============================================================================
@@ -239,17 +232,21 @@ function(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FIRST_ARG)
set(MISSING_VARS "")
set(DETAILS "")
# check if all passed variables are valid
- unset(${_FOUND_VAR})
+ set(FPHSA_FOUND_${_NAME} TRUE)
foreach(_CURRENT_VAR ${FPHSA_REQUIRED_VARS})
if(NOT ${_CURRENT_VAR})
- set(${_FOUND_VAR} FALSE)
+ set(FPHSA_FOUND_${_NAME} FALSE)
set(MISSING_VARS "${MISSING_VARS} ${_CURRENT_VAR}")
else()
set(DETAILS "${DETAILS}[${${_CURRENT_VAR}}]")
endif()
endforeach()
- if(NOT "${${_FOUND_VAR}}" STREQUAL "FALSE")
- set(${_FOUND_VAR} TRUE)
+ if(FPHSA_FOUND_${_NAME})
+ set(${_NAME}_FOUND TRUE)
+ set(${_NAME_UPPER}_FOUND TRUE)
+ else()
+ set(${_NAME}_FOUND FALSE)
+ set(${_NAME_UPPER}_FOUND FALSE)
endif()
# component handling
@@ -273,7 +270,7 @@ function(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FIRST_ARG)
set(MISSING_COMPONENTS_MSG "${MISSING_COMPONENTS_MSG} ${comp}")
if(${_NAME}_FIND_REQUIRED_${comp})
- set(${_FOUND_VAR} FALSE)
+ set(${_NAME}_FOUND FALSE)
set(MISSING_VARS "${MISSING_VARS} ${comp}")
endif()
@@ -356,12 +353,12 @@ function(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FIRST_ARG)
if(VERSION_OK)
set(DETAILS "${DETAILS}[v${VERSION}(${${_NAME}_FIND_VERSION})]")
else()
- set(${_FOUND_VAR} FALSE)
+ set(${_NAME}_FOUND FALSE)
endif()
# print the result:
- if (${_FOUND_VAR})
+ if (${_NAME}_FOUND)
FIND_PACKAGE_MESSAGE(${_NAME} "Found ${_NAME}: ${${_FIRST_REQUIRED_VAR}} ${VERSION_MSG} ${COMPONENT_MSG}" "${DETAILS}")
else ()
@@ -377,6 +374,6 @@ function(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FIRST_ARG)
endif ()
- set(${_FOUND_VAR} ${${_FOUND_VAR}} PARENT_SCOPE)
-
+ set(${_NAME}_FOUND ${${_NAME}_FOUND} PARENT_SCOPE)
+ set(${_NAME_UPPER}_FOUND ${${_NAME}_FOUND} PARENT_SCOPE)
endfunction()