[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdelibs
From:       Alexander Neundorf <neundorf () kde ! org>
Date:       2006-11-30 21:15:13
Message-ID: 1164921313.991299.27360.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 609455 by neundorf:

the logic which for dealing with ippDeleteAttribute was buggy:
when invoked the second time, CUPS_FOUND became true even although ippDeleteAttribute \
didn't exist, since in this case only the include dir and the lib variables were \
checked

additionally (in order to sync back to cmake cvs) don't always fail if \
ippDeleteAttribute doesn't exist, but make this optional (enabled in \
kdeprint/CMakeLists.txt by setting CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE to TRUE)

Alex


 M  +30 -34    cmake/modules/FindCups.cmake  
 M  +3 -0      kdeprint/CMakeLists.txt  


--- trunk/KDE/kdelibs/cmake/modules/FindCups.cmake #609454:609455
@@ -4,48 +4,44 @@
 #  CUPS_FOUND - system has Cups
 #  CUPS_INCLUDE_DIR - the Cups include directory
 #  CUPS_LIBRARIES - Libraries needed to use Cups
-#  CUPS_DEFINITIONS - Compiler switches required for using Cups
-#
+#  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 (c) 2006, Alexander Neundorf, <neundorf@kde.org>
 #
 # Redistribution and use is allowed according to the terms of the BSD license.
 # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
 
 
-if (CUPS_INCLUDE_DIR AND CUPS_LIBRARIES)
+INCLUDE(CheckLibraryExists)
 
-  # in cache already
-  SET(CUPS_FOUND TRUE)
+FIND_PATH(CUPS_INCLUDE_DIR cups/cups.h )
 
-else (CUPS_INCLUDE_DIR AND CUPS_LIBRARIES)
+FIND_LIBRARY(CUPS_LIBRARIES NAMES cups )
 
-  FIND_PATH(CUPS_INCLUDE_DIR cups/cups.h
-    /usr/include
-    /usr/local/include
-  )
+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)
+   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)
+
+ELSE  (CUPS_INCLUDE_DIR AND CUPS_LIBRARIES)
+   SET(CUPS_FOUND FALSE)
+ENDIF (CUPS_INCLUDE_DIR AND CUPS_LIBRARIES)
+
+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)
   
-  FIND_LIBRARY(CUPS_LIBRARIES NAMES cups
-    PATHS
-    /usr/lib
-    /usr/local/lib
-  )
+MARK_AS_ADVANCED(CUPS_INCLUDE_DIR CUPS_LIBRARIES)
   
-  if (CUPS_INCLUDE_DIR AND CUPS_LIBRARIES)
-     # ippDeleteAttribute is new in cups-1.1.19 (and used by kdeprint)
-     check_library_exists(cups ippDeleteAttribute "" CUPS_FOUND)
-  endif (CUPS_INCLUDE_DIR AND CUPS_LIBRARIES)
-  
-  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)
-  
-endif (CUPS_INCLUDE_DIR AND CUPS_LIBRARIES)
--- trunk/KDE/kdelibs/kdeprint/CMakeLists.txt #609454:609455
@@ -12,6 +12,9 @@
 # you can find macro_optional_find_package() in \
kdelibs/cmake/modules/OptionalFindPackage.cmake  # it is the same as \
FIND_PACKAGE(<name>) but additionally creates an OPTION(WITH_<name>)  # so the \
checking for the software can be disabled via ccmake or -DWITH_<name>=OFF +
+# we need a version of cups which has ippDeleteAttribute(), so we have to tell the \
FindCups module so, Alex +set(CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE TRUE)
 macro_optional_find_package(Cups)
 
 macro_log_feature(CUPS_FOUND "CUPS" "The CUPS (Common UNIX Printing System)" \
"http://www.cups.org" FALSE "" "Provide CUPS support in kdeprint.")


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic