[Cmake-commits] CMake branch, next, updated. v2.8.7-2204-gf9ed351

Rolf Eike Beer eike at sf-mail.de
Mon Jan 23 14:56:25 EST 2012


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  f9ed351ea5313cef177de225ffcec506702844b5 (commit)
       via  be2b108776b46b73508654322e7b4b24f404e191 (commit)
      from  85200d8e6e841d94e53674025cadb6a1ed857c53 (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=f9ed351ea5313cef177de225ffcec506702844b5
commit f9ed351ea5313cef177de225ffcec506702844b5
Merge: 85200d8 be2b108
Author:     Rolf Eike Beer <eike at sf-mail.de>
AuthorDate: Mon Jan 23 14:56:21 2012 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon Jan 23 14:56:21 2012 -0500

    Merge topic 'improve-findcups' into next
    
    be2b108 FindCups: major overhaul


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=be2b108776b46b73508654322e7b4b24f404e191
commit be2b108776b46b73508654322e7b4b24f404e191
Author:     Rolf Eike Beer <eike at sf-mail.de>
AuthorDate: Mon Jan 23 20:31:38 2012 +0100
Commit:     Rolf Eike Beer <eike at sf-mail.de>
CommitDate: Mon Jan 23 20:31:47 2012 +0100

    FindCups: major overhaul
    
    This introduces CUPS_VERSION_STRING and ports the module over to use FPHSA for
    all the benefits that come with it.

diff --git a/Modules/FindCups.cmake b/Modules/FindCups.cmake
index 7e3e10a..3862f7d 100644
--- a/Modules/FindCups.cmake
+++ b/Modules/FindCups.cmake
@@ -4,12 +4,14 @@
 #  CUPS_FOUND - system has Cups
 #  CUPS_INCLUDE_DIR - the Cups include directory
 #  CUPS_LIBRARIES - Libraries needed to use Cups
+#  CUPS_VERSION_STRING - version of Cups found (since CMake 2.8.8)
 #  Set CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE to TRUE if you need a version which 
 #  features this function (i.e. at least 1.1.19)
 
 #=============================================================================
 # Copyright 2006-2009 Kitware, Inc.
 # Copyright 2006 Alexander Neundorf <neundorf at kde.org>
+# Copyright 2012 Rolf Eike Beer <eike at sf-mail.de>
 #
 # Distributed under the OSI-approved BSD License (the "License");
 # see accompanying file Copyright.txt for details.
@@ -21,36 +23,47 @@
 # (To distribute this file outside of CMake, substitute the full
 #  License text for the above reference.)
 
-INCLUDE(CheckLibraryExists)
+find_path(CUPS_INCLUDE_DIR cups/cups.h )
 
-FIND_PATH(CUPS_INCLUDE_DIR cups/cups.h )
+find_library(CUPS_LIBRARIES NAMES cups )
 
-FIND_LIBRARY(CUPS_LIBRARIES NAMES cups )
+if (CUPS_INCLUDE_DIR AND CUPS_LIBRARIES AND CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE)
+    include(CheckLibraryExists)
 
-IF (CUPS_INCLUDE_DIR AND CUPS_LIBRARIES)
-   SET(CUPS_FOUND TRUE)
+    # ippDeleteAttribute is new in cups-1.1.19 (and used by kdeprint)
+    CHECK_LIBRARY_EXISTS(cups ippDeleteAttribute "" CUPS_HAS_IPP_DELETE_ATTRIBUTE)
+endif (CUPS_INCLUDE_DIR AND CUPS_LIBRARIES AND CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE)
 
-   # ippDeleteAttribute is new in cups-1.1.19 (and used by kdeprint)
-   CHECK_LIBRARY_EXISTS(cups ippDeleteAttribute "" CUPS_HAS_IPP_DELETE_ATTRIBUTE)
-   IF (CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE AND NOT CUPS_HAS_IPP_DELETE_ATTRIBUTE)
-      SET(CUPS_FOUND FALSE)
-   ENDIF (CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE AND NOT CUPS_HAS_IPP_DELETE_ATTRIBUTE)
+if (CUPS_INCLUDE_DIR AND EXISTS "${CUPS_INCLUDE_DIR}/cups/cups.h")
+    file(STRINGS "${CUPS_INCLUDE_DIR}/cups/cups.h" cups_version_str
+         REGEX "^#[\t ]*define[\t ]+CUPS_VERSION_(MAJOR|MINOR|PATCH)[\t ]+[0-9]+$")
 
-ELSE  (CUPS_INCLUDE_DIR AND CUPS_LIBRARIES)
-   SET(CUPS_FOUND FALSE)
-ENDIF (CUPS_INCLUDE_DIR AND CUPS_LIBRARIES)
+    unset(CUPS_VERSION_STRING)
+    foreach(VPART MAJOR MINOR PATCH)
+        foreach(VLINE ${cups_version_str})
+            if(VLINE MATCHES "^#[\t ]*define[\t ]+CUPS_VERSION_${VPART}")
+                string(REGEX REPLACE "^#[\t ]*define[\t ]+CUPS_VERSION_${VPART}[\t ]+([0-9]+)$" "\\1"
+                       CUPS_VERSION_PART "${VLINE}")
+                if(CUPS_VERSION_STRING)
+                    set(CUPS_VERSION_STRING "${CUPS_VERSION_STRING}.${CUPS_VERSION_PART}")
+                else(CUPS_VERSION_STRING)
+                    set(CUPS_VERSION_STRING "${CUPS_VERSION_PART}")
+                endif(CUPS_VERSION_STRING)
+            endif()
+        endforeach(VLINE)
+    endforeach(VPART)
+endif (CUPS_INCLUDE_DIR AND EXISTS "${CUPS_INCLUDE_DIR}/cups/cups.h")
 
-IF (CUPS_FOUND)
-   IF (NOT Cups_FIND_QUIETLY)
-      MESSAGE(STATUS "Found Cups: ${CUPS_LIBRARIES}")
-   ENDIF (NOT Cups_FIND_QUIETLY)
-ELSE (CUPS_FOUND)
-   SET(CUPS_LIBRARIES )
-   IF (Cups_FIND_REQUIRED)
-      MESSAGE(FATAL_ERROR "Could NOT find Cups")
-   ENDIF (Cups_FIND_REQUIRED)
-ENDIF (CUPS_FOUND)
-  
-  
-MARK_AS_ADVANCED(CUPS_INCLUDE_DIR CUPS_LIBRARIES)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+
+if (CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE)
+    FIND_PACKAGE_HANDLE_STANDARD_ARGS(Cups
+                                      REQUIRED_VARS CUPS_LIBRARIES CUPS_INCLUDE_DIR CUPS_HAS_IPP_DELETE_ATTRIBUTE
+                                      VERSION_VAR CUPS_VERSION_STRING)
+else (CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE)
+    FIND_PACKAGE_HANDLE_STANDARD_ARGS(Cups
+                                      REQUIRED_VARS CUPS_LIBRARIES CUPS_INCLUDE_DIR
+                                      VERSION_VAR CUPS_VERSION_STRING)
+endif (CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE)
   
+mark_as_advanced(CUPS_INCLUDE_DIR CUPS_LIBRARIES)

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

Summary of changes:
 Modules/FindCups.cmake |   65 ++++++++++++++++++++++++++++-------------------
 1 files changed, 39 insertions(+), 26 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list