Warning, /frameworks/kdelibs4support/cmake/modules/FindKipi.cmake is written in an unsupported language. File is not indexed.

0001 # Module that tries to find the Kipi library
0002 #
0003 # Input values :
0004 #
0005 # KIPI_LOCAL_DIR    - If you have put a local version of libkipi into your source tree,
0006 #                     set this variable to the relative path from the local directory.
0007 #
0008 # Output values :
0009 #
0010 #  KIPI_FOUND       - System has libkipi
0011 #  KIPI_INCLUDE_DIR - The libkipi include directory
0012 #  KIPI_LIBRARIES   - Link these to use libkipi
0013 #  KIPI_DEFINITIONS - Compiler switches required for using libkipi
0014 #  KIPI_VERSION     - The release version of the Kipi library
0015 #  KIPI_SO_VERSION  - The binary SO version of the Kipi library
0016 #
0017 
0018 # Copyright (c) 2012, Victor Dodon <dodonvictor at gmail dot com>
0019 # Copyright (c) 2012, Gilles Caulier <caulier dot gilles at gmail dot com>
0020 #
0021 # Redistribution and use is allowed according to the terms of the BSD license.
0022 # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
0023 
0024 IF("${Kipi_FIND_VERSION}" STREQUAL "")
0025     SET(Kipi_FIND_VERSION "1.2.0")
0026     MESSAGE(STATUS "No Kipi library version required. Check default version : ${Kipi_FIND_VERSION}")
0027 ELSE()
0028     MESSAGE(STATUS "Kipi library version required : ${Kipi_FIND_VERSION}")
0029 ENDIF()
0030 
0031 IF(KIPI_INCLUDE_DIR AND KIPI_LIBRARIES AND KIPI_DEFINITIONS AND KIPI_VERSION AND KIPI_SO_VERSION)
0032 
0033   IF(NOT Kipi_FIND_QUIETLY)
0034     MESSAGE(STATUS "Found kipi library in cache ${KIPI_LIBRARIES}")
0035   ENDIF(NOT Kipi_FIND_QUIETLY)
0036   # Already in cache
0037   SET(KIPI_FOUND TRUE)
0038 
0039 ELSE(KIPI_INCLUDE_DIR AND KIPI_LIBRARIES AND KIPI_DEFINITIONS AND KIPI_VERSION AND KIPI_SO_VERSION)
0040 
0041   IF(NOT Kipi_FIND_QUIETLY)
0042     MESSAGE(STATUS "Check Kipi library in local sub-folder...")
0043   ENDIF(NOT Kipi_FIND_QUIETLY)
0044 
0045   IF(KIPI_LOCAL_DIR)
0046     FIND_FILE(KIPI_LOCAL_FOUND libkipi/version.h.cmake ${CMAKE_SOURCE_DIR}/${KIPI_LOCAL_DIR} NO_DEFAULT_PATH)
0047     IF(NOT KIPI_LOCAL_FOUND)
0048       MESSAGE(WARNING "KIPI_LOCAL_DIR specified as \"${KIPI_LOCAL_DIR}\" but libkipi could not be found there.")
0049     ENDIF(NOT KIPI_LOCAL_FOUND)
0050   ELSE(KIPI_LOCAL_DIR)
0051     FIND_FILE(KIPI_LOCAL_FOUND libkipi/version.h.cmake ${CMAKE_SOURCE_DIR}/libkipi NO_DEFAULT_PATH)
0052     IF(KIPI_LOCAL_FOUND)
0053       SET(KIPI_LOCAL_DIR libkipi)
0054     ENDIF(KIPI_LOCAL_FOUND)
0055 
0056     FIND_FILE(KIPI_LOCAL_FOUND libkipi/version.h.cmake ${CMAKE_SOURCE_DIR}/libs/libkipi NO_DEFAULT_PATH)
0057     IF(KIPI_LOCAL_FOUND)
0058       SET(KIPI_LOCAL_DIR libs/libkipi)
0059     ENDIF(KIPI_LOCAL_FOUND)
0060   ENDIF(KIPI_LOCAL_DIR)
0061 
0062   IF(KIPI_LOCAL_FOUND)
0063 
0064     SET(KIPI_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/${KIPI_LOCAL_DIR}" "${CMAKE_BINARY_DIR}/${KIPI_LOCAL_DIR}")
0065     SET(KIPI_DEFINITIONS "-I${CMAKE_SOURCE_DIR}/${KIPI_LOCAL_DIR}" "-I${CMAKE_BINARY_DIR}/${KIPI_LOCAL_DIR}")
0066     SET(KIPI_LIBRARIES kipi)
0067     IF(NOT Kipi_FIND_QUIETLY)
0068       MESSAGE(STATUS "Found Kipi library in local sub-folder: ${CMAKE_SOURCE_DIR}/${KIPI_LOCAL_DIR}")
0069     ENDIF(NOT Kipi_FIND_QUIETLY)
0070     SET(KIPI_FOUND TRUE)
0071     SET(KIPI_VERSION_H_FILENAME "${CMAKE_BINARY_DIR}/${KIPI_LOCAL_DIR}/libkipi/version.h")
0072 
0073   ELSE(KIPI_LOCAL_FOUND)
0074 
0075     IF(NOT WIN32)
0076       IF(NOT Kipi_FIND_QUIETLY)
0077         MESSAGE(STATUS "Check Kipi library using pkg-config...")
0078       ENDIF(NOT Kipi_FIND_QUIETLY)
0079 
0080       INCLUDE(FindPkgConfig)
0081       PKG_CHECK_MODULES(PC_KIPI libkipi>=${Kipi_FIND_VERSION})
0082     ENDIF(NOT WIN32)
0083 
0084     FIND_LIBRARY(KIPI_LIBRARIES NAMES kipi HINTS ${PC_KIPI_LIBRARY_DIRS} ${LIB_INSTALL_DIR} ${KDE4_LIB_DIR})
0085     FIND_PATH(KIPI_INCLUDE_DIR NAMES libkipi/version.h HINTS ${PC_KIPI_INCLUDE_DIRS} ${INCLUDE_INSTALL_DIR} ${KDE4_INCLUDE_DIR})
0086     SET(KIPI_VERSION_H_FILENAME "${KIPI_INCLUDE_DIR}/libkipi/version.h")
0087     SET(KIPI_DEFINITIONS ${PC_KIPI_CFLAGS} CACHE STRING "Kipi defintions")
0088 
0089     INCLUDE(FindPackageHandleStandardArgs)
0090     FIND_PACKAGE_HANDLE_STANDARD_ARGS(KIPI DEFAULT_MSG KIPI_LIBRARIES KIPI_INCLUDE_DIR)
0091 
0092   ENDIF(KIPI_LOCAL_FOUND)
0093 
0094   IF(KIPI_FOUND)
0095 
0096     IF(NOT KIPI_VERSION)
0097       FILE(READ "${KIPI_VERSION_H_FILENAME}" KIPI_VERSION_H_CONTENT)
0098       STRING(REGEX REPLACE ".*static +const +char +kipi_version\\[\\] += +\"([^\"]+)\".*" "\\1" KIPI_VERSION "${KIPI_VERSION_H_CONTENT}")
0099       MESSAGE(STATUS "Kipi library version: ${KIPI_VERSION}")
0100     ENDIF(NOT KIPI_VERSION)
0101 
0102     IF(NOT KIPI_SO_VERSION)
0103       FILE(READ "${KIPI_VERSION_H_FILENAME}" KIPI_VERSION_H_CONTENT)
0104       STRING(REGEX REPLACE
0105              ".*static +const +int +kipi_binary_version +=  ([^ ;]+).*"
0106              "\\1"
0107              KIPI_SO_VERSION_FOUND
0108              "${KIPI_VERSION_H_CONTENT}"
0109             )
0110       SET(KIPI_SO_VERSION ${KIPI_SO_VERSION_FOUND} CACHE STRING "libkipi so version")
0111       MESSAGE(STATUS "Kipi library SO binary version: ${KIPI_SO_VERSION}")
0112     ENDIF(NOT KIPI_SO_VERSION)
0113 
0114     UNSET(KIPI_VERSION_H_CONTENT)
0115     UNSET(KIPI_VERSION_H_FILENAME)
0116   ENDIF(KIPI_FOUND)
0117 
0118   IF(KIPI_FOUND)
0119     MESSAGE(STATUS "libkipi: Found version ${KIPI_VERSION} (required: ${Kipi_FIND_VERSION})")
0120     IF(${KIPI_VERSION} VERSION_LESS ${Kipi_FIND_VERSION})
0121         SET(KIPI_FOUND FALSE)
0122     ELSE()
0123         MARK_AS_ADVANCED(KIPI_INCLUDE_DIR KIPI_LIBRARIES KIPI_DEFINITIONS KIPI_VERSION KIPI_SO_VERSION)
0124     ENDIF()
0125   ELSE(KIPI_FOUND)
0126     UNSET(KIPI_INCLUDE_DIR)
0127     UNSET(KIPI_LIBRARIES)
0128     UNSET(KIPI_DEFINITIONS)
0129     UNSET(KIPI_VERSION)
0130     UNSET(KIPI_SO_VERSION)
0131   ENDIF(KIPI_FOUND)
0132 
0133 ENDIF(KIPI_INCLUDE_DIR AND KIPI_LIBRARIES AND KIPI_DEFINITIONS AND KIPI_VERSION AND KIPI_SO_VERSION)