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 /modules | |
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
Diffstat (limited to 'modules')
-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) |