diff options
Diffstat (limited to 'modules/FindSoprano.cmake')
-rw-r--r-- | modules/FindSoprano.cmake | 33 |
1 files changed, 28 insertions, 5 deletions
diff --git a/modules/FindSoprano.cmake b/modules/FindSoprano.cmake index 93e01a01..0cc278b0 100644 --- a/modules/FindSoprano.cmake +++ b/modules/FindSoprano.cmake @@ -1,4 +1,18 @@ - +# +# Find an installation of Soprano +# +# Sets the following variables: +# Soprano_FOUND - true is Soprano has been found +# SOPRANO_INCLUDE_DIR - The include directory +# SOPRANO_LIBRARIES - The Soprano core library to link to (libsoprano) +# SOPRANO_INDEX_LIBRARIES - The Soprano index library (libsopranoindex) +# SOPRANO_CLIENT_LIBRARIES - The Soprano client library (libsopranoclient) +# SOPRANO_SERVER_LIBRARIES - The Soprano server library (libsopranoserver) +# SOPRANO_VERSION - The Soprano version (string value) +# +# Options: +# Set SOPRANO_MIN_VERSION to set the minimum required Soprano version (default: 1.99) +# #if(SOPRANO_INCLUDE_DIR AND SOPRANO_LIBRARIES AND SOPRANO_INDEX_LIBRARIES AND SOPRANO_SERVER_LIBRARIES) @@ -55,7 +69,6 @@ ) # check for all the libs as required to make sure that we do not try to compile with an old version - # FIXME: introduce a Soprano version check if(SOPRANO_INCLUDE_DIR AND SOPRANO_LIBRARIES) set(Soprano_FOUND TRUE) @@ -74,15 +87,25 @@ endif(Soprano_FOUND AND SOPRANO_SERVER_LIBRARIES) # check Soprano version + + # We set a default for the minimum required version to be backwards compatible + IF(NOT SOPRANO_MIN_VERSION) + SET(SOPRANO_MIN_VERSION "1.99") + ENDIF(NOT SOPRANO_MIN_VERSION) + if(Soprano_FOUND) FILE(READ ${SOPRANO_INCLUDE_DIR}/soprano/version.h SOPRANO_VERSION_CONTENT) STRING(REGEX MATCH "SOPRANO_VERSION_STRING \".*\"\n" SOPRANO_VERSION_MATCH ${SOPRANO_VERSION_CONTENT}) IF (SOPRANO_VERSION_MATCH) STRING(REGEX REPLACE "SOPRANO_VERSION_STRING \"(.*)\"\n" "\\1" SOPRANO_VERSION ${SOPRANO_VERSION_MATCH}) - if(SOPRANO_VERSION STRLESS "1.99") + if(SOPRANO_VERSION STRLESS "${SOPRANO_MIN_VERSION}") set(Soprano_FOUND FALSE) - message(FATAL_ERROR "Soprano version ${SOPRANO_VERSION} is too old. Please install 1.99 or newer") - endif(SOPRANO_VERSION STRLESS "1.99") + if(Soprano_FIND_REQUIRED) + message(FATAL_ERROR "Soprano version ${SOPRANO_VERSION} is too old. Please install ${SOPRANO_MIN_VERSION} or newer") + else(Soprano_FIND_REQUIRED) + message(STATUS "Soprano version ${SOPRANO_VERSION} is too old. Please install ${SOPRANO_MIN_VERSION} or newer") + endif(Soprano_FIND_REQUIRED) + endif(SOPRANO_VERSION STRLESS "${SOPRANO_MIN_VERSION}") ENDIF (SOPRANO_VERSION_MATCH) endif(Soprano_FOUND) |