Warning, /frameworks/kdelibs4support/cmake/modules/FindKexiv2.cmake is written in an unsupported language. File is not indexed.
0001 # - Try to find the KExiv2 library 0002 # 0003 # If you have put a local version of libkexiv2 into your source tree, 0004 # set KEXIV2_LOCAL_DIR to the relative path to the local directory. 0005 # 0006 # Once done this will define 0007 # 0008 # KEXIV2_FOUND - system has libkexiv2 0009 # KEXIV2_INCLUDE_DIR - the libkexiv2 include directory 0010 # KEXIV2_LIBRARIES - Link these to use libkexiv2 0011 # KEXIV2_DEFINITIONS - Compiler switches required for using libkexiv2 0012 # 0013 0014 # Copyright (c) 2008, Gilles Caulier, <caulier.gilles@gmail.com> 0015 # 0016 # Redistribution and use is allowed according to the terms of the BSD license. 0017 # For details see the accompanying COPYING-CMAKE-SCRIPTS file. 0018 0019 if (KEXIV2_INCLUDE_DIR AND KEXIV2_LIBRARIES AND KEXIV2_DEFINITIONS) 0020 0021 message(STATUS "Found Kexiv2 library in cache: ${KEXIV2_LIBRARIES}") 0022 0023 # in cache already 0024 set(KEXIV2_FOUND TRUE) 0025 0026 else (KEXIV2_INCLUDE_DIR AND KEXIV2_LIBRARIES AND KEXIV2_DEFINITIONS) 0027 0028 message(STATUS "Check Kexiv2 library in local sub-folder...") 0029 0030 # Check if library is not in local sub-folder 0031 0032 if (KEXIV2_LOCAL_DIR) 0033 set(KEXIV2_LOCAL_FOUND TRUE) 0034 else (KEXIV2_LOCAL_DIR) 0035 find_file(KEXIV2_LOCAL_FOUND libkexiv2/version.h.cmake ${CMAKE_SOURCE_DIR}/libkexiv2 ${CMAKE_SOURCE_DIR}/libs/libkexiv2 NO_DEFAULT_PATH) 0036 0037 if (KEXIV2_LOCAL_FOUND) 0038 # Was it found in libkexiv2/ or in libs/libkexiv2? 0039 find_file(KEXIV2_LOCAL_FOUND_IN_LIBS libkexiv2/version.h.cmake ${CMAKE_SOURCE_DIR}/libs/libkexiv2 NO_DEFAULT_PATH) 0040 if (KEXIV2_LOCAL_FOUND_IN_LIBS) 0041 set(KEXIV2_LOCAL_DIR libs/libkexiv2) 0042 else (KEXIV2_LOCAL_FOUND_IN_LIBS) 0043 set(KEXIV2_LOCAL_DIR libkexiv2) 0044 endif (KEXIV2_LOCAL_FOUND_IN_LIBS) 0045 endif (KEXIV2_LOCAL_FOUND) 0046 0047 endif (KEXIV2_LOCAL_DIR) 0048 0049 if (KEXIV2_LOCAL_FOUND) 0050 # we need two include directories: because the version.h file is put into the build directory 0051 # TODO KEXIV2_INCLUDE_DIR sounds like it should contain only one directory... 0052 set(KEXIV2_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/${KEXIV2_LOCAL_DIR} ${CMAKE_BINARY_DIR}/${KEXIV2_LOCAL_DIR}) 0053 set(KEXIV2_DEFINITIONS "-I${CMAKE_SOURCE_DIR}/${KEXIV2_LOCAL_DIR}" "-I${CMAKE_BINARY_DIR}/${KEXIV2_LOCAL_DIR}") 0054 set(KEXIV2_LIBRARIES kexiv2) 0055 message(STATUS "Found Kexiv2 library in local sub-folder: ${CMAKE_SOURCE_DIR}/${KEXIV2_LOCAL_DIR}") 0056 set(KEXIV2_FOUND TRUE) 0057 mark_as_advanced(KEXIV2_INCLUDE_DIR KEXIV2_LIBRARIES KEXIV2_DEFINITIONS) 0058 0059 else(KEXIV2_LOCAL_FOUND) 0060 if(NOT WIN32) 0061 message(STATUS "Check Kexiv2 library using pkg-config...") 0062 0063 # use pkg-config to get the directories and then use these values 0064 # in the FIND_PATH() and FIND_LIBRARY() calls 0065 include(UsePkgConfig) 0066 0067 PKGCONFIG(libkexiv2 _KEXIV2IncDir _KEXIV2LinkDir _KEXIV2LinkFlags _KEXIV2Cflags) 0068 0069 if(_KEXIV2LinkFlags) 0070 # query pkg-config asking for a libkexiv2 >= 0.2.0 0071 exec_program(${PKGCONFIG_EXECUTABLE} ARGS --atleast-version=0.2.0 libkexiv2 RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _pkgconfigDevNull ) 0072 if(_return_VALUE STREQUAL "0") 0073 message(STATUS "Found libkexiv2 release >= 0.2.0") 0074 set(KEXIV2_VERSION_GOOD_FOUND TRUE) 0075 else(_return_VALUE STREQUAL "0") 0076 message(STATUS "Found libkexiv2 release < 0.2.0, too old") 0077 set(KEXIV2_VERSION_GOOD_FOUND FALSE) 0078 set(KEXIV2_FOUND FALSE) 0079 endif(_return_VALUE STREQUAL "0") 0080 else(_KEXIV2LinkFlags) 0081 set(KEXIV2_VERSION_GOOD_FOUND FALSE) 0082 set(KEXIV2_FOUND FALSE) 0083 endif(_KEXIV2LinkFlags) 0084 else(NOT WIN32) 0085 set(KEXIV2_VERSION_GOOD_FOUND TRUE) 0086 endif(NOT WIN32) 0087 0088 if(KEXIV2_VERSION_GOOD_FOUND) 0089 set(KEXIV2_DEFINITIONS "${_KEXIV2Cflags}") 0090 0091 find_path(KEXIV2_INCLUDE_DIR libkexiv2/version.h 0092 ${_KEXIV2IncDir} 0093 ) 0094 0095 find_library(KEXIV2_LIBRARIES NAMES kexiv2 0096 PATHS 0097 ${_KEXIV2LinkDir} 0098 ) 0099 0100 if (KEXIV2_INCLUDE_DIR AND KEXIV2_LIBRARIES) 0101 set(KEXIV2_FOUND TRUE) 0102 endif (KEXIV2_INCLUDE_DIR AND KEXIV2_LIBRARIES) 0103 endif(KEXIV2_VERSION_GOOD_FOUND) 0104 if (KEXIV2_FOUND) 0105 if (NOT Kexiv2_FIND_QUIETLY) 0106 message(STATUS "Found libkexiv2: ${KEXIV2_LIBRARIES}") 0107 endif (NOT Kexiv2_FIND_QUIETLY) 0108 else (KEXIV2_FOUND) 0109 if (Kexiv2_FIND_REQUIRED) 0110 if (NOT KEXIV2_INCLUDE_DIR) 0111 message(FATAL_ERROR "Could NOT find libkexiv2 header files") 0112 endif (NOT KEXIV2_INCLUDE_DIR) 0113 if (NOT KEXIV2_LIBRARIES) 0114 message(FATAL_ERROR "Could NOT find libkexiv2 library") 0115 endif (NOT KEXIV2_LIBRARIES) 0116 endif (Kexiv2_FIND_REQUIRED) 0117 endif (KEXIV2_FOUND) 0118 0119 mark_as_advanced(KEXIV2_INCLUDE_DIR KEXIV2_LIBRARIES KEXIV2_DEFINITIONS) 0120 0121 endif(KEXIV2_LOCAL_FOUND) 0122 0123 endif (KEXIV2_INCLUDE_DIR AND KEXIV2_LIBRARIES AND KEXIV2_DEFINITIONS)