diff options
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/FindLibAttica.cmake | 39 | 
1 files changed, 20 insertions, 19 deletions
| diff --git a/modules/FindLibAttica.cmake b/modules/FindLibAttica.cmake index f7652fba..bb919da7 100644 --- a/modules/FindLibAttica.cmake +++ b/modules/FindLibAttica.cmake @@ -6,13 +6,23 @@  #   LIBATTICA_LIBRARY_DIRS   Paths needed for linking against Attica  #   LIBATTICA_INCLUDE_DIR    Path needed for finding Attica include files  # +# The minimum required version of LibAttica can be specified using the +# standard syntax, e.g. find_package(LibAttica 0.20) +  # Copyright (c) 2009 Frederik Gladhorn <gladhorn@kde.org>  #  # 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) +# Support LIBATTICA_MIN_VERSION for compatibility: +IF(NOT LibAttica_FIND_VERSION) +  SET(LibAttica_FIND_VERSION "${LIBATTICA_MIN_VERSION}") +ENDIF(NOT LibAttica_FIND_VERSION) + +# the minimum version of LibAttica we require +IF(NOT LibAttica_FIND_VERSION) +  SET(LibAttica_FIND_VERSION "0.1.0") +ENDIF(NOT LibAttica_FIND_VERSION) +  IF (NOT WIN32)     # use pkg-config to get the directories and then use these values @@ -29,22 +39,15 @@ FIND_PATH(LIBATTICA_INCLUDE_DIR attica/provider.h     PATH_SUFFIXES attica     ) -SET(LIBATTICA_VERSION_OK TRUE) -IF(LIBATTICA_INCLUDE_DIR) +# Store the version number in the cache, so we don't have to search everytime: +IF(LIBATTICA_INCLUDE_DIR  AND NOT  LIBATTICA_VERSION)    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}") +    STRING(REGEX REPLACE "LIBATTICA_VERSION_STRING \"(.*)\"\n" "\\1" _LIBATTICA_VERSION ${LIBATTICA_VERSION_MATCH})    ENDIF(LIBATTICA_VERSION_MATCH) -ENDIF(LIBATTICA_INCLUDE_DIR) +  SET(LIBATTICA_VERSION "${_LIBATTICA_VERSION}" CACHE STRING "Version number of LibAttica" FORCE) +ENDIF(LIBATTICA_INCLUDE_DIR  AND NOT  LIBATTICA_VERSION)  FIND_LIBRARY(LIBATTICA_LIBRARIES NAMES attica libattica @@ -54,9 +57,7 @@ FIND_LIBRARY(LIBATTICA_LIBRARIES NAMES attica libattica     )  INCLUDE(FindPackageHandleStandardArgs) -# handle the QUIETLY and REQUIRED arguments and set LIBATTICA_FOUND to TRUE if -# all listed variables are TRUE -FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibAttica  DEFAULT_MSG  LIBATTICA_LIBRARIES LIBATTICA_INCLUDE_DIR LIBATTICA_VERSION_OK) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibAttica  REQUIRED_VARS LIBATTICA_LIBRARIES LIBATTICA_INCLUDE_DIR +                                             VERSION_VAR LIBATTICA_VERSION)  MARK_AS_ADVANCED(LIBATTICA_INCLUDE_DIR LIBATTICA_LIBRARIES) - | 
