diff options
| author | Frederik Gladhorn <gladhorn@kde.org> | 2009-12-08 10:46:16 +0000 | 
|---|---|---|
| committer | Frederik Gladhorn <gladhorn@kde.org> | 2009-12-08 10:46:16 +0000 | 
| commit | 985f0374dfe89dcff0e58c5e76a1ae6710ee1c18 (patch) | |
| tree | 9b0b256d014cc6ef4bf4ac602d0f4fd3d146d9a0 | |
| parent | 1ec8211d8f26f9ac96f7075d20fc21489800b5b7 (diff) | |
| download | extra-cmake-modules-985f0374dfe89dcff0e58c5e76a1ae6710ee1c18.tar.gz extra-cmake-modules-985f0374dfe89dcff0e58c5e76a1ae6710ee1c18.tar.bz2 | |
add version check for attica
svn path=/trunk/KDE/kdelibs/; revision=1060235
| -rw-r--r-- | modules/FindLibAttica.cmake | 25 | 
1 files changed, 23 insertions, 2 deletions
| diff --git a/modules/FindLibAttica.cmake b/modules/FindLibAttica.cmake index 39ae84d4..151a3bfb 100644 --- a/modules/FindLibAttica.cmake +++ b/modules/FindLibAttica.cmake @@ -10,6 +10,10 @@  #  # Redistribution and use is allowed according to the terms of the BSD license. +IF (NOT LIBATTICA_MIN_VERSION) +  SET(LIBATTICA_MIN_VERSION "0.1.0") +ENDIF(NOT LIBATTICA_MIN_VERSION) +  IF (LIBATTICA_INCLUDE_DIR AND LIBATTICA_LIBRARIES)     # in cache already     SET(libattica_FIND_QUIETLY TRUE) @@ -30,6 +34,24 @@ FIND_PATH(LIBATTICA_INCLUDE_DIR attica/provider.h     PATH_SUFFIXES attica     ) +SET(LIBATTICA_VERSION_OK TRUE) +IF(LIBATTICA_INCLUDE_DIR) +  FILE(READ ${LIBATTICA_INCLUDE_DIR}/attica/version.h LIBATTICA_VERSION_CONTENT) +  STRING (REGEX MATCH "LIBATTICA_VERSION_STRING \".*\"\n" LIBATTICA_VERSION_MATCH "${LIBATTICA_VERSION_CONTENT}") +  IF(LIBATTICA_VERSION_MATCH) +    STRING(REGEX REPLACE "LIBATTICA_VERSION_STRING \"(.*)\"\n" "\\1" LIBATTICA_VERSION ${LIBATTICA_VERSION_MATCH}) +    IF(LIBATTICA_VERSION STRLESS "${LIBATTICA_MIN_VERSION}") +      SET(LIBATTICA_VERSION_OK FALSE) +      IF(LibAttica_FIND_REQUIRED) +        MESSAGE(FATAL_ERROR "LibAttica version ${LIBATTICA_VERSION} is too old. Please install ${LIBATTICA_MIN_VERSION} or newer.") +      ELSE(LibAttica_FIND_REQUIRED) +        MESSAGE(STATUS "LibAttica version ${LIBATTICA_VERSION} is too old. Please install ${LIBATTICA_MIN_VERSION} or newer.") +      ENDIF(LibAttica_FIND_REQUIRED) +    ENDIF(LIBATTICA_VERSION STRLESS "${LIBATTICA_MIN_VERSION}") +  ENDIF(LIBATTICA_VERSION_MATCH) +ENDIF(LIBATTICA_INCLUDE_DIR) + +  FIND_LIBRARY(LIBATTICA_LIBRARIES NAMES attica libattica     HINTS     ${PC_LIBATTICA_LIBDIR} @@ -37,10 +59,9 @@ FIND_LIBRARY(LIBATTICA_LIBRARIES NAMES attica libattica     )  INCLUDE(FindPackageHandleStandardArgs) -  # handle the QUIETLY and REQUIRED arguments and set ATTICA_FOUND to TRUE if  # all listed variables are TRUE -FIND_PACKAGE_HANDLE_STANDARD_ARGS(libattica DEFAULT_MSG LIBATTICA_LIBRARIES LIBATTICA_INCLUDE_DIR) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(libattica DEFAULT_MSG LIBATTICA_LIBRARIES LIBATTICA_INCLUDE_DIR LIBATTICA_VERSION_OK)  MARK_AS_ADVANCED(LIBATTICA_INCLUDE_DIR LIBATTICA_LIBRARIES) | 
