Improve SWIG detection
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f0643f9..c1843e1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -233,6 +233,17 @@
NAMES swig-1.3 swig
PATHS ${SWIG_DIR} ${SWIG_DIR}/.. ${SWIG_DIR}/../../bin /usr/bin /usr/local/bin ${CMAKE_INSTALL_PREFIX}/bin
)
+ SET(SWIG_VERSION "(unknown version)")
+ ELSE ( NOT SWIG_EXECUTABLE)
+ # FIND_PACKAGE(SWIG) succeeded, now check the version
+ # swig 2.0.4 is known to be broken
+ IF (SWIG_VERSION)
+ IF(${SWIG_VERSION} VERSION_GREATER "2.0.0")
+ IF(${SWIG_VERSION} VERSION_LESS "2.0.5")
+ MESSAGE( FATAL "Found SWIG version ${SWIG_VERSION}, please upgrade SWIG to 2.0.5 or later" )
+ ENDIF(${SWIG_VERSION} VERSION_LESS "2.0.5")
+ ENDIF(${SWIG_VERSION} VERSION_GREATER "2.0.0")
+ ENDIF (SWIG_VERSION)
ENDIF( NOT SWIG_EXECUTABLE)
ENDIF( BUILD_BINDINGS )
@@ -246,7 +257,7 @@
MESSAGE( ERROR "Cannot build client bindings" )
ENDIF( BUILD_PYTHON_EXPLICIT OR BUILD_RUBY_EXPLICIT OR BUILD_PERL_EXPLICIT OR BUILD_JAVA_EXPLICIT)
ELSE ( NOT SWIG_EXECUTABLE )
- MESSAGE( STATUS "SWIG found at ${SWIG_EXECUTABLE}" )
+ MESSAGE( STATUS "SWIG ${SWIG_VERSION} found at ${SWIG_EXECUTABLE}" )
ADD_SUBDIRECTORY(bindings)
ENDIF ( NOT SWIG_EXECUTABLE )