aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorFrederik Gladhorn <gladhorn@kde.org>2009-12-08 10:46:16 +0000
committerFrederik Gladhorn <gladhorn@kde.org>2009-12-08 10:46:16 +0000
commit985f0374dfe89dcff0e58c5e76a1ae6710ee1c18 (patch)
tree9b0b256d014cc6ef4bf4ac602d0f4fd3d146d9a0 /modules
parent1ec8211d8f26f9ac96f7075d20fc21489800b5b7 (diff)
downloadextra-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.cmake25
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)