From kde-commits Tue Jul 31 22:13:31 2012 From: Dodon Victor Date: Tue, 31 Jul 2012 22:13:31 +0000 To: kde-commits Subject: [digikam-software-compilation] cmake/modules: Improved FindKipi cmake script Message-Id: <20120731221331.B6EB9A6094 () git ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=134377308704953 Git commit 6959a8677e4edbb2b267bc2ee87fd925ad9fa003 by Dodon Victor. Committed on 01/08/2012 at 00:12. Pushed by dodon into branch 'master'. Improved FindKipi cmake script M +50 -53 cmake/modules/FindKipi.cmake http://commits.kde.org/scratch/mwiesweg/digikam-sc/6959a8677e4edbb2b267bc2e= e87fd925ad9fa003 diff --git a/cmake/modules/FindKipi.cmake b/cmake/modules/FindKipi.cmake index e5960c6..ca4f758 100644 --- a/cmake/modules/FindKipi.cmake +++ b/cmake/modules/FindKipi.cmake @@ -19,79 +19,60 @@ = IF(KIPI_INCLUDE_DIR AND KIPI_LIBRARIES AND KIPI_DEFINITIONS AND KIPI_VERSI= ON) = - MESSAGE(STATUS "Found kipi library in cache ${KIPI_LIBRARIES}") + IF(NOT Kipi_FIND_QUIETLY) + MESSAGE(STATUS "Found kipi library in cache ${KIPI_LIBRARIES}") + ENDIF(NOT Kipi_FIND_QUIETLY) # Already in cache SET(KIPI_FOUND TRUE) = ELSE(KIPI_INCLUDE_DIR AND KIPI_LIBRARIES AND KIPI_DEFINITIONS AND KIPI_VER= SION) = - MESSAGE(STATUS "Check Kipi library in local sub-folder...") + IF(NOT Kipi_FIND_QUIETLY) + MESSAGE(STATUS "Check Kipi library in local sub-folder...") + ENDIF(NOT Kipi_FIND_QUIETLY) = IF(KIPI_LOCAL_DIR) - SET(KIPI_LOCAL_FOUND TRUE) + FIND_FILE(KIPI_LOCAL_FOUND libkipi/version.h.cmake ${CMAKE_SOURCE_DIR}= /${KIPI_LOCAL_DIR} NO_DEFAULT_PATH) + IF(NOT KIPI_LOCAL_FOUND) + MESSAGE(WARNING "KIPI_LOCAL_DIR specified as \"${KIPI_LOCAL_DIR}\" b= ut libkipi could not be found there.") + ENDIF(NOT KIPI_LOCAL_FOUND) ELSE(KIPI_LOCAL_DIR) - FIND_FILE(KIPI_LOCAL_FOUND libkipi/plugin.h ${CMAKE_SOURCE_DIR}/libkipi - ${CMAKE_SOURCE_DIR}/libs/libkipi NO_DEFAULT_PATH) - - IF (KIPI_LOCAL_FOUND) - FIND_FILE(KIPI_LOCAL_FOUND_IN_LIBS libkipi/plugin.h - ${CMAKE_SOURCE_DIR}/libs/libkipi NO_DEFAULT_PATH) - IF(KIPI_LOCAL_FOUND_IN_LIBS) - SET(KIPI_LOCAL_DIR libs/libkipi) - ELSE(KIPI_LOCAL_FOUND_IN_LIBS) - SET(KIPI_LOCAL_DIR libkipi) - ENDIF(KIPI_LOCAL_FOUND_IN_LIBS) - ENDIF(KIPI_LOCAL_FOUND) + FIND_FILE(KIPI_LOCAL_FOUND libkipi/version.h.cmake ${CMAKE_SOURCE_DIR}= /libkipi NO_DEFAULT_PATH) + IF(KIPI_LOCAL_FOUND) + SET(KIPI_LOCAL_DIR libkipi) + ENDIF(KIPI_LOCAL_DIR) + + FIND_FILE(KIPI_LOCAL_FOUND libkipi/version.h.cmake ${CMAKE_SOURCE_DIR}= /libs/libkipi NO_DEFAULT_PATH) + IF(KIPI_LOCAL_FOUND) + SET(KIPI_LOCAL_DIR libs/libkipi) + ENDIF(KIPI_LOCAL_DIR) ENDIF(KIPI_LOCAL_DIR) = IF(KIPI_LOCAL_FOUND) = - SET(KIPI_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/${KIPI_LOCAL_DIR} - ${CMAKE_BINARY_DIR}/${KIPI_LOCAL_DIR}) - SET(KIPI_DEFINITIONS "-I${CMAKE_SOURCE_DIR}/${KIPI_LOCAL_DIR}" - "-I${CMAKE_BINARY_DIR}/${KIPI_LOCAL_DIR}") + SET(KIPI_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/${KIPI_LOCAL_DIR}" "${CMAKE_= BINARY_DIR}/${KIPI_LOCAL_DIR}") + SET(KIPI_DEFINITIONS "-I${CMAKE_SOURCE_DIR}/${KIPI_LOCAL_DIR}" "-I${CM= AKE_BINARY_DIR}/${KIPI_LOCAL_DIR}") SET(KIPI_LIBRARIES kipi) - MESSAGE(STATUS "Found Kipi library in local sub-folder: ${CMAKE_SOURCE= _DIR}/${KIPI_LOCAL_DIR}") - + IF(NOT Kipi_FIND_QUIETLY) + MESSAGE(STATUS "Found Kipi library in local sub-folder: ${CMAKE_SOUR= CE_DIR}/${KIPI_LOCAL_DIR}") + ENDIF(NOT Kipi_FIND_QUIETLY) SET(KIPI_FOUND TRUE) - - SET(KIPI_CMAKE_FILE ${CMAKE_SOURCE_DIR}/${KIPI_LOCAL_DIR}/CMakeLists.t= xt) - FILE(READ ${KIPI_CMAKE_FILE} KIPI_CMAKE_FILE_CONTENT) - STRING(REGEX REPLACE ".*[\n|^]SET[ \t]*[(]KIPI_LIB_MAJOR_VERSION \"([0= -9]+)\"[)][ \t]*[\n|$].*" - "\\1" KIPI_MAJOR_VERSION "${KIPI_CMAKE_FILE_CONTENT}") - STRING(REGEX REPLACE ".*[\n|^]SET[ \t]*[(]KIPI_LIB_MINOR_VERSION \"([0= -9]+)\"[)][ \t]*[\n|$].*" - "\\1" KIPI_MINOR_VERSION "${KIPI_CMAKE_FILE_CONTENT}") - STRING(REGEX REPLACE ".*[\n|^]SET[ \t]*[(]KIPI_LIB_PATCH_VERSION \"([0= -9]+)\"[)][ \t]*[\n|$].*" - "\\1" KIPI_PATCH_VERSION "${KIPI_CMAKE_FILE_CONTENT}") - STRING(REGEX REPLACE ".*[\n|^]SET[ \t]*[(]KIPI_LIB_SUFFIX_VERSION \"([= ^\"]*)\"[)][ \t]*[\n|$].*" - "\\1" KIPI_SUFFIX_VERSION "${KIPI_CMAKE_FILE_CONTENT}") - SET(KIPI_VERSION "${KIPI_MAJOR_VERSION}.${KIPI_MINOR_VERSION}.${KIPI_P= ATCH_VERSION}${KIPI_SUFFIX_VERSION}") + SET(KIPI_VERSION_H_FILENAME "${CMAKE_BINARY_DIR}/${KIPI_LOCAL_DIR}/lib= kipi/version.h") = ELSE(KIPI_LOCAL_FOUND) = IF(NOT WIN32) + IF(NOT Kipi_FIND_QUIETLY) + MESSAGE(STATUS "Check Kipi library using pkg-config...") + ENDIF(NOT Kipi_FIND_QUIETLY) + INCLUDE(FindPkgConfig) - PKG_CHECK_MODULES(KIPI libkipi>=3D2.0.0) + PKG_FIND_MODULE(KIPI libkipi>=3D2.0.0) ENDIF(NOT WIN32) = - FIND_LIBRARY(KIPI_LIBRARIES - NAMES - libkipi - PATHS - ${KIPI_LIBRARY_DIRS} - ${LIB_INSTALL_DIR} - ${KDE4_LIB_DIR} - ) - - FIND_PATH(KIPI_INCLUDE_DIR - NAMES - libkipi/version.h - PATHS - ${KIPI_INCLUDE_DIRS} - ${INCLUDE_INSTALL_DIR} - ${KDE4_INCLUDE_DIR} - ) - + FIND_LIBRARY(KIPI_LIBRARIES NAMES libkipi PATHS ${KIPI_LIBRARY_DIRS} $= {LIB_INSTALL_DIR} ${KDE4_LIB_DIR}) + FIND_PATH(KIPI_INCLUDE_DIR NAMES libkipi/version.h PATHS ${KIPI_INCLUD= E_DIRS} ${INCLUDE_INSTALL_DIR} ${KDE4_INCLUDE_DIR}) + SET(KIPI_VERSION_H_FILENAME "${KIPI_INCLUDE_DIR}/libkipi/version.h") SET(KIPI_DEFINITIONS ${KIPI_CFLAGS}) = INCLUDE(FindPackageHandleStandardArgs) @@ -99,6 +80,22 @@ ELSE(KIPI_INCLUDE_DIR AND KIPI_LIBRARIES AND KIPI_DEFINI= TIONS AND KIPI_VERSION) = ENDIF(KIPI_LOCAL_FOUND) = - MARK_AS_ADVANCED(KIPI_INCLUDE_DIR KIPI_LIBRARIES KIPI_DEFINITIONS KIPI_V= ERSION) + IF(KIPI_FOUND) + IF(NOT KIPI_VERSION) + FILE(READ "${KIPI_VERSION_H_FILENAME}" KIPI_VERSION_H_CONTENT) + STRING(REGEX REPLACE ".*static +const +char +kipi_version\\[\\] +=3D= +\"([^\"]+)\".*" "\\1" KIPI_VERSION "${KIPI_VERSION_H_CONTENT}") + UNSET(KIPI_VERSION_H_CONTENT) + ENDIF(NOT KIPI_VERSION) + UNSET(KIPI_VERSION_H_FILENAME) + ENDIF(KIPI_FOUND) + + IF(KIPI_FOUND) + MARK_AS_ADVANCED(KIPI_INCLUDE_DIR KIPI_LIBRARIES KIPI_DEFINITIONS KIPI= _VERSION) + ELSE(KIPI_FOUND) + UNSET(KIPI_INCLUDE_DIR) + UNSET(KIPI_LIBRARIES) + UNSET(KIPI_DEFINITIONS) + UNSET(KIPI_VERSION) + ENDIF(KIPI_FOUND) = ENDIF(KIPI_INCLUDE_DIR AND KIPI_LIBRARIES AND KIPI_DEFINITIONS AND KIPI_VE= RSION)