diff options
-rw-r--r-- | modules/FindCups.cmake | 64 |
1 files changed, 30 insertions, 34 deletions
diff --git a/modules/FindCups.cmake b/modules/FindCups.cmake index a6bb9202..0fd0ae5b 100644 --- a/modules/FindCups.cmake +++ b/modules/FindCups.cmake @@ -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 - ) - - FIND_LIBRARY(CUPS_LIBRARIES NAMES cups - PATHS - /usr/lib - /usr/local/lib - ) - - 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) +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) - MARK_AS_ADVANCED(CUPS_INCLUDE_DIR CUPS_LIBRARIES) +MARK_AS_ADVANCED(CUPS_INCLUDE_DIR CUPS_LIBRARIES) -endif (CUPS_INCLUDE_DIR AND CUPS_LIBRARIES) |