This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  70092dc57af4574488eb85f48772fda507dfbfc4 (commit)
       via  4969c3b5bbf929d3f59e98c90849a85aadb7351a (commit)
       via  e8ae504c0e13a641660ae78a05d5a5184f352800 (commit)
      from  9d158c567bb0b1f060adb5bba197c0d8f18f8d80 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=70092dc57af4574488eb85f48772fda507dfbfc4
commit 70092dc57af4574488eb85f48772fda507dfbfc4
Merge: 9d158c5 4969c3b
Author:     Alex Neundorf <neund...@kde.org>
AuthorDate: Mon Aug 30 22:45:58 2010 +0200
Commit:     Alex Neundorf <neund...@kde.org>
CommitDate: Mon Aug 30 22:45:58 2010 +0200

    Merge branch 'ImproveFindPackageConfigMode' into next


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4969c3b5bbf929d3f59e98c90849a85aadb7351a
commit 4969c3b5bbf929d3f59e98c90849a85aadb7351a
Author:     Alex Neundorf <neund...@kde.org>
AuthorDate: Mon Aug 30 22:42:58 2010 +0200
Commit:     Alex Neundorf <neund...@kde.org>
CommitDate: Mon Aug 30 22:42:58 2010 +0200

    Improve version notice in the generated message
    
    Now the version number is also printed if no required version was
    specified, but a version number was detected (showing more information
    shouldn't hurt).
    The code for generating the failure message in config-mode is moved
    into a separate helper macro, it was becoming too much.
    
    Alex

diff --git a/Modules/FindPackageHandleStandardArgs.cmake 
b/Modules/FindPackageHandleStandardArgs.cmake
index a83f601..cd33aa3 100644
--- a/Modules/FindPackageHandleStandardArgs.cmake
+++ b/Modules/FindPackageHandleStandardArgs.cmake
@@ -97,6 +97,33 @@ MACRO(_FPHSA_FAILURE_MESSAGE _msg)
 ENDMACRO(_FPHSA_FAILURE_MESSAGE _msg)
 
 
+# internal helper macro to generate the failure message when used in 
CONFIG_MODE:
+MACRO(_FPHSA_HANDLE_FAILURE_CONFIG_MODE)
+  # <name>_CONFIG is set, but FOUND is false, this means that some other of 
the REQUIRED_VARS was not found:
+  IF(${_NAME}_CONFIG)
+    _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: missing: ${MISSING_VARS} 
(found ${${_NAME}_CONFIG} ${VERSION_MSG})")
+  ELSE(${_NAME}_CONFIG)
+    # If _CONSIDERED_CONFIGS is set, the config-file has been found, but no 
suitable version.
+    # List them all in the error message:
+    IF(${_NAME}_CONSIDERED_CONFIGS)
+      SET(configsText "")
+      LIST(LENGTH ${_NAME}_CONSIDERED_CONFIGS configsCount)
+      MATH(EXPR configsCount "${configsCount} - 1")
+      FOREACH(currentConfigIndex RANGE ${configsCount})
+        LIST(GET ${_NAME}_CONSIDERED_CONFIGS ${currentConfigIndex} filename)
+        LIST(GET ${_NAME}_CONSIDERED_VERSIONS ${currentConfigIndex} version)
+        SET(configsText "${configsText}    ${filename} (version ${version})\n")
+      ENDFOREACH(currentConfigIndex)
+      _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE} ${VERSION_MSG}, checked 
the following files:\n${configsText}")
+
+    ELSE(${_NAME}_CONSIDERED_CONFIGS)
+      # Simple case: No Config-file was found at all:
+      _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: found neither 
${_NAME}Config.cmake nor ${_NAME_LOWER}-config.cmake ${VERSION_MSG}")
+    ENDIF(${_NAME}_CONSIDERED_CONFIGS)
+  ENDIF(${_NAME}_CONFIG)
+ENDMACRO(_FPHSA_HANDLE_FAILURE_CONFIG_MODE)
+
+
 FUNCTION(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FIRST_ARG)
 
 # set up the arguments for CMAKE_PARSE_ARGUMENTS and check whether we are in
@@ -130,6 +157,8 @@ FUNCTION(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FIRST_ARG)
     SET(FPHSA_FAIL_MESSAGE "Could NOT find ${_NAME}")
   ENDIF("${FPHSA_FAIL_MESSAGE}" STREQUAL "DEFAULT_MSG")
 
+  # In config-mode, we rely on the variable <package>_CONFIG, which is set by 
find_package()
+  # when it successfully found the config-file, including version checking:
   IF(FPHSA_CONFIG_MODE)
     LIST(INSERT FPHSA_REQUIRED_VARS 0 ${_NAME}_CONFIG)
     LIST(REMOVE_DUPLICATES FPHSA_REQUIRED_VARS)
@@ -164,44 +193,42 @@ FUNCTION(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME 
_FIRST_ARG)
   # version handling:
   SET(VERSION_MSG "")
   SET(VERSION_OK TRUE)
+  SET(VERSION ${${FPHSA_VERSION_VAR}} )
   IF (${_NAME}_FIND_VERSION)
 
-    # if the package was found, check for the version using <NAME>_FIND_VERSION
-    IF (${_NAME_UPPER}_FOUND)
-      SET(VERSION ${${FPHSA_VERSION_VAR}} )
-
-      IF(VERSION)
-
-        IF(${_NAME}_FIND_VERSION_EXACT)       # exact version required
-          IF (NOT "${${_NAME}_FIND_VERSION}" VERSION_EQUAL "${VERSION}")
-            SET(VERSION_MSG " Found version \"${VERSION}\", but required is 
exact version \"${${_NAME}_FIND_VERSION}\"")
-            SET(VERSION_OK FALSE)
-          ELSE (NOT "${${_NAME}_FIND_VERSION}" VERSION_EQUAL "${VERSION}")
-            SET(VERSION_MSG " (found exact version \"${VERSION}\")")
-          ENDIF (NOT "${${_NAME}_FIND_VERSION}" VERSION_EQUAL "${VERSION}")
-
-        ELSE(${_NAME}_FIND_VERSION_EXACT)     # minimum version specified:
-          IF ("${${_NAME}_FIND_VERSION}" VERSION_GREATER "${VERSION}")
-            SET(VERSION_MSG " Found version \"${VERSION}\", but required is at 
least \"${${_NAME}_FIND_VERSION}\"")
-            SET(VERSION_OK FALSE)
-          ELSE ("${${_NAME}_FIND_VERSION}" VERSION_GREATER "${VERSION}")
-            SET(VERSION_MSG " (found version \"${VERSION}\", required is 
\"${${_NAME}_FIND_VERSION}\")")
-          ENDIF ("${${_NAME}_FIND_VERSION}" VERSION_GREATER "${VERSION}")
-        ENDIF(${_NAME}_FIND_VERSION_EXACT)
-
-# Uncomment the following two lines to see to which Find-modules the 
VERSION_VAR keywords still need to be added:
-#      ELSE(VERSION)
-#        SET(VERSION_MSG " (WARNING: Required version is 
\"${${_NAME}_FIND_VERSION}\", but version of ${_NAME} is unknown)")
-      ENDIF(VERSION)
-
-    # if the package was not found, but a version was given, add that to the 
output:
-    ELSE (${_NAME_UPPER}_FOUND)
+    IF(VERSION)
+
+      IF(${_NAME}_FIND_VERSION_EXACT)       # exact version required
+        IF (NOT "${${_NAME}_FIND_VERSION}" VERSION_EQUAL "${VERSION}")
+          SET(VERSION_MSG "Found unsuitable version \"${VERSION}\", but 
required is exact version \"${${_NAME}_FIND_VERSION}\"")
+          SET(VERSION_OK FALSE)
+        ELSE (NOT "${${_NAME}_FIND_VERSION}" VERSION_EQUAL "${VERSION}")
+          SET(VERSION_MSG "(found suitable exact version \"${VERSION}\")")
+        ENDIF (NOT "${${_NAME}_FIND_VERSION}" VERSION_EQUAL "${VERSION}")
+
+      ELSE(${_NAME}_FIND_VERSION_EXACT)     # minimum version specified:
+        IF ("${${_NAME}_FIND_VERSION}" VERSION_GREATER "${VERSION}")
+          SET(VERSION_MSG "Found unsuitable version \"${VERSION}\", but 
required is at least \"${${_NAME}_FIND_VERSION}\"")
+          SET(VERSION_OK FALSE)
+        ELSE ("${${_NAME}_FIND_VERSION}" VERSION_GREATER "${VERSION}")
+          SET(VERSION_MSG "(found suitable version \"${VERSION}\", required is 
\"${${_NAME}_FIND_VERSION}\")")
+        ENDIF ("${${_NAME}_FIND_VERSION}" VERSION_GREATER "${VERSION}")
+      ENDIF(${_NAME}_FIND_VERSION_EXACT)
+
+    ELSE(VERSION)
+
+      # if the package was not found, but a version was given, add that to the 
output:
       IF(${_NAME}_FIND_VERSION_EXACT)
-         SET(VERSION_MSG " (Required is exact version 
\"${${_NAME}_FIND_VERSION}\")")
+         SET(VERSION_MSG "(Required is exact version 
\"${${_NAME}_FIND_VERSION}\")")
       ELSE(${_NAME}_FIND_VERSION_EXACT)
-         SET(VERSION_MSG " (Required is at least version 
\"${${_NAME}_FIND_VERSION}\")")
+         SET(VERSION_MSG "(Required is at least version 
\"${${_NAME}_FIND_VERSION}\")")
       ENDIF(${_NAME}_FIND_VERSION_EXACT)
-    ENDIF (${_NAME_UPPER}_FOUND)
+
+    ENDIF(VERSION)
+  ELSE (${_NAME}_FIND_VERSION)
+    IF(VERSION)
+      SET(VERSION_MSG "(found version \"${VERSION}\")")
+    ENDIF(VERSION)
   ENDIF (${_NAME}_FIND_VERSION)
 
   IF(VERSION_OK)
@@ -217,26 +244,7 @@ FUNCTION(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME 
_FIRST_ARG)
   ELSE (${_NAME_UPPER}_FOUND)
 
     IF(FPHSA_CONFIG_MODE)
-      IF(${_NAME}_CONFIG)
-        _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: found 
${${_NAME}_CONFIG} ${VERSION_MSG}, but missing: ${MISSING_VARS}")
-      ELSE(${_NAME}_CONFIG)
-        # if _CONSIDERED_CONFIGS is set, the config-file has been found, but 
no suitable version
-        IF(${_NAME}_CONSIDERED_CONFIGS)
-          SET(configsText "")
-          LIST(LENGTH ${_NAME}_CONSIDERED_CONFIGS configsCount)
-          MATH(EXPR configsCount "${configsCount} - 1")
-          FOREACH(currentConfigIndex RANGE ${configsCount})
-            LIST(GET ${_NAME}_CONSIDERED_CONFIGS ${currentConfigIndex} 
filename)
-            LIST(GET ${_NAME}_CONSIDERED_VERSIONS ${currentConfigIndex} 
version)
-            SET(configsText "${configsText}    ${filename} (version 
${version})\n")
-          ENDFOREACH(currentConfigIndex)
-          _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE} ${VERSION_MSG}, 
checked the following files:\n${configsText}")
-
-        ELSE(${_NAME}_CONSIDERED_CONFIGS)
-          _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: ${VERSION_MSG}(found 
neither ${_NAME}Config.cmake nor ${_NAME_LOWER}-config.cmake)")
-        ENDIF(${_NAME}_CONSIDERED_CONFIGS)
-      ENDIF(${_NAME}_CONFIG)
-
+      _FPHSA_HANDLE_FAILURE_CONFIG_MODE()
     ELSE(FPHSA_CONFIG_MODE)
       IF(NOT VERSION_OK)
         _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: ${VERSION_MSG} (found 
${${_FIRST_REQUIRED_VAR}})")

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e8ae504c0e13a641660ae78a05d5a5184f352800
commit e8ae504c0e13a641660ae78a05d5a5184f352800
Author:     Alex Neundorf <neund...@kde.org>
AuthorDate: Sun Aug 29 19:53:43 2010 +0200
Commit:     Alex Neundorf <neund...@kde.org>
CommitDate: Sun Aug 29 19:53:43 2010 +0200

    Add option CONFIG_MODE to FPHSA()
    
    When this option is used for FPHSA(), it automatically handles the
    information created by a preceding find_package(NO_MODULE) all and
    creates a proper success/error message.
    
    Alex

diff --git a/Modules/FindPackageHandleStandardArgs.cmake 
b/Modules/FindPackageHandleStandardArgs.cmake
index db3af11..a83f601 100644
--- a/Modules/FindPackageHandleStandardArgs.cmake
+++ b/Modules/FindPackageHandleStandardArgs.cmake
@@ -20,18 +20,24 @@
 # The second mode is more powerful and also supports version checking:
 #    FIND_PACKAGE_HANDLE_STANDARD_ARGS(NAME [REQUIRED_VARS <var1>...<varN>]
 #                                           [VERSION_VAR   <versionvar>
+#                                           [CONFIG_MODE]
 #                                           [FAIL_MESSAGE "Custom failure 
message"] )
 #
 # As above, if <var1> through <varN> are all valid, <UPPERCASED_NAME>_FOUND
 # will be set to TRUE.
-# Via FAIL_MESSAGE a custom failure message can be specified, if this is not
-# used, the default message will be displayed.
+# 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 
version
 # will be checked against the (potentially) specified required version used
 # in the find_package() call. The EXACT keyword is also handled. The default
 # messages include information about the required version and the version
 # which has been actually found, both if the version is ok or not.
+# Use the option CONFIG_MODE if your FindXXX.cmake module is a wrapper for
+# a find_package(... NO_MODULE) call, in this case all the information
+# provided by the config-mode of find_package() will be evaluated
+# automatically.
+# Via FAIL_MESSAGE a custom failure message can be specified, if this is not
+# used, the default message will be displayed.
 #
 # Example for mode 1:
 #
@@ -53,6 +59,15 @@
 # Also the version of BISON will be checked by using the version contained
 # in BISON_VERSION.
 # Since no FAIL_MESSAGE is given, the default messages will be printed.
+#
+# Another example for mode 2:
+#
+#    FIND_PACKAGE(Automoc4 QUIET NO_MODULE HINTS /opt/automoc4)
+#    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.
+# The following FIND_PACKAGE_HANDLE_STANDARD_ARGS() call produces a proper
+# success/error message.
 
 #=============================================================================
 # Copyright 2007-2009 Kitware, Inc.
@@ -70,7 +85,7 @@
 INCLUDE(FindPackageMessage)
 INCLUDE(CMakeParseArguments)
 
-
+# internal helper macro
 MACRO(_FPHSA_FAILURE_MESSAGE _msg)
   IF (${_NAME}_FIND_REQUIRED)
     MESSAGE(FATAL_ERROR "${_msg}")
@@ -86,7 +101,7 @@ FUNCTION(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FIRST_ARG)
 
 # set up the arguments for CMAKE_PARSE_ARGUMENTS and check whether we are in
 # new extended or in the "old" mode:
-  SET(options) # none
+  SET(options CONFIG_MODE)
   SET(oneValueArgs FAIL_MESSAGE VERSION_VAR)
   SET(multiValueArgs REQUIRED_VARS)
   SET(_KEYWORDS_FOR_EXTENDED_MODE  ${options} ${oneValueArgs} 
${multiValueArgs} )
@@ -115,6 +130,12 @@ FUNCTION(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME 
_FIRST_ARG)
     SET(FPHSA_FAIL_MESSAGE "Could NOT find ${_NAME}")
   ENDIF("${FPHSA_FAIL_MESSAGE}" STREQUAL "DEFAULT_MSG")
 
+  IF(FPHSA_CONFIG_MODE)
+    LIST(INSERT FPHSA_REQUIRED_VARS 0 ${_NAME}_CONFIG)
+    LIST(REMOVE_DUPLICATES FPHSA_REQUIRED_VARS)
+    SET(FPHSA_VERSION_VAR ${_NAME}_VERSION)
+  ENDIF(FPHSA_CONFIG_MODE)
+
   IF(NOT FPHSA_REQUIRED_VARS)
     MESSAGE(FATAL_ERROR "No REQUIRED_VARS specified for 
FIND_PACKAGE_HANDLE_STANDARD_ARGS()")
   ENDIF(NOT FPHSA_REQUIRED_VARS)
@@ -122,6 +143,7 @@ FUNCTION(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FIRST_ARG)
   LIST(GET FPHSA_REQUIRED_VARS 0 _FIRST_REQUIRED_VAR)
 
   STRING(TOUPPER ${_NAME} _NAME_UPPER)
+  STRING(TOLOWER ${_NAME} _NAME_LOWER)
 
   # collect all variables which were not found, so they can be printed, so the
   # user knows better what went wrong (#6375)
@@ -193,11 +215,35 @@ FUNCTION(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME 
_FIRST_ARG)
   IF (${_NAME_UPPER}_FOUND)
     FIND_PACKAGE_MESSAGE(${_NAME} "Found ${_NAME}: ${${_FIRST_REQUIRED_VAR}} 
${VERSION_MSG}" "${DETAILS}")
   ELSE (${_NAME_UPPER}_FOUND)
-    IF(NOT VERSION_OK)
-      _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: ${VERSION_MSG} (found 
${${_FIRST_REQUIRED_VAR}})")
-    ELSE(NOT VERSION_OK)
-      _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE} (missing: ${MISSING_VARS}) 
${VERSION_MSG}")
-    ENDIF(NOT VERSION_OK)
+
+    IF(FPHSA_CONFIG_MODE)
+      IF(${_NAME}_CONFIG)
+        _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: found 
${${_NAME}_CONFIG} ${VERSION_MSG}, but missing: ${MISSING_VARS}")
+      ELSE(${_NAME}_CONFIG)
+        # if _CONSIDERED_CONFIGS is set, the config-file has been found, but 
no suitable version
+        IF(${_NAME}_CONSIDERED_CONFIGS)
+          SET(configsText "")
+          LIST(LENGTH ${_NAME}_CONSIDERED_CONFIGS configsCount)
+          MATH(EXPR configsCount "${configsCount} - 1")
+          FOREACH(currentConfigIndex RANGE ${configsCount})
+            LIST(GET ${_NAME}_CONSIDERED_CONFIGS ${currentConfigIndex} 
filename)
+            LIST(GET ${_NAME}_CONSIDERED_VERSIONS ${currentConfigIndex} 
version)
+            SET(configsText "${configsText}    ${filename} (version 
${version})\n")
+          ENDFOREACH(currentConfigIndex)
+          _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE} ${VERSION_MSG}, 
checked the following files:\n${configsText}")
+
+        ELSE(${_NAME}_CONSIDERED_CONFIGS)
+          _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: ${VERSION_MSG}(found 
neither ${_NAME}Config.cmake nor ${_NAME_LOWER}-config.cmake)")
+        ENDIF(${_NAME}_CONSIDERED_CONFIGS)
+      ENDIF(${_NAME}_CONFIG)
+
+    ELSE(FPHSA_CONFIG_MODE)
+      IF(NOT VERSION_OK)
+        _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: ${VERSION_MSG} (found 
${${_FIRST_REQUIRED_VAR}})")
+      ELSE(NOT VERSION_OK)
+        _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE} (missing: 
${MISSING_VARS}) ${VERSION_MSG}")
+      ENDIF(NOT VERSION_OK)
+    ENDIF(FPHSA_CONFIG_MODE)
 
   ENDIF (${_NAME_UPPER}_FOUND)
 

-----------------------------------------------------------------------

Summary of changes:
 Modules/FindPackageHandleStandardArgs.cmake |  138 +++++++++++++++++++--------
 1 files changed, 96 insertions(+), 42 deletions(-)


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits

Reply via email to