aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/FindSoprano.cmake27
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)