|
|
@@ -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()
|