diff options
-rw-r--r-- | modules/FindSoprano.cmake | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/modules/FindSoprano.cmake b/modules/FindSoprano.cmake index f4920af2..3e39bf56 100644 --- a/modules/FindSoprano.cmake +++ b/modules/FindSoprano.cmake @@ -1,14 +1,14 @@ -if(SOPRANO_INCLUDE_DIR AND SOPRANO_LIBRARIES AND SOPRANO_INDEX_LIBRARIES AND SOPRANO_SERVER_LIBRARIES) +#if(SOPRANO_INCLUDE_DIR AND SOPRANO_LIBRARIES AND SOPRANO_INDEX_LIBRARIES AND SOPRANO_SERVER_LIBRARIES) # read from cache - set(Soprano_FOUND TRUE) - set(SopranoServer_FOUND TRUE) - set(SopranoClient_FOUND TRUE) - set(SopranoIndex_FOUND TRUE) +# set(Soprano_FOUND TRUE) +# set(SopranoServer_FOUND TRUE) +# set(SopranoClient_FOUND TRUE) +# set(SopranoIndex_FOUND TRUE) -else(SOPRANO_INCLUDE_DIR AND SOPRANO_LIBRARIES AND SOPRANO_INDEX_LIBRARIES AND SOPRANO_SERVER_LIBRARIES) +#else(SOPRANO_INCLUDE_DIR AND SOPRANO_LIBRARIES AND SOPRANO_INDEX_LIBRARIES AND SOPRANO_SERVER_LIBRARIES) INCLUDE(FindLibraryWithDebug) FIND_PATH(SOPRANO_INCLUDE_DIR @@ -72,6 +72,19 @@ else(SOPRANO_INCLUDE_DIR AND SOPRANO_LIBRARIES AND SOPRANO_INDEX_LIBRARIES AND S set(SopranoServer_FOUND TRUE) endif(Soprano_FOUND AND SOPRANO_SERVER_LIBRARIES) + # check Soprano 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.97.1") + set(Soprano_FOUND FALSE) + message(FATAL_ERROR "Soprano version ${SOPRANO_VERSION} is too old. Please install 1.97.1 or newer") + endif(SOPRANO_VERSION STRLESS "1.97.1") + ENDIF (SOPRANO_VERSION_MATCH) + endif(Soprano_FOUND) + if(Soprano_FOUND) if(NOT Soprano_FIND_QUIETLY) message(STATUS "Found Soprano: ${SOPRANO_LIBRARIES}") @@ -97,4 +110,4 @@ else(SOPRANO_INCLUDE_DIR AND SOPRANO_LIBRARIES AND SOPRANO_INDEX_LIBRARIES AND S endif(Soprano_FIND_REQUIRED) endif(Soprano_FOUND) -endif(SOPRANO_INCLUDE_DIR AND SOPRANO_LIBRARIES AND SOPRANO_INDEX_LIBRARIES AND SOPRANO_SERVER_LIBRARIES) +#endif(SOPRANO_INCLUDE_DIR AND SOPRANO_LIBRARIES AND SOPRANO_INDEX_LIBRARIES AND SOPRANO_SERVER_LIBRARIES) |