Bläddra i källkod

BUG: Replace MATCHES with STREQUAL for better checking, better checking for existence of swig directory, verify if required flag was set, support fedora's location of swig. Fixes Bug #955 - Swig on fedora and Bug #954 - FIND_PACKAGE(SWIG REQUIRED)

Andy Cedilnik 21 år sedan
förälder
incheckning
0beaf4cb4e
1 ändrade filer med 13 tillägg och 7 borttagningar
  1. 13 7
      Modules/FindSWIG.cmake

+ 13 - 7
Modules/FindSWIG.cmake

@@ -2,15 +2,17 @@ SET(SWIG_FOUND FOOBAR)
 FIND_PATH(SWIG_DIR
   SWIGConfig.cmake
   /usr/share/swig1.3
+  /usr/lib/swig1.3
   /usr/local/share/swig1.3)
 FIND_PATH(SWIG_DIR
   swig.swg
   /usr/share/swig1.3
+  /usr/lib/swig1.3
   /usr/local/share/swig1.3)
 IF(EXISTS ${SWIG_DIR})
-  IF("x${SWIG_DIR}x" MATCHES "^x${CMAKE_ROOT}/Modulesx$")
+  IF("x${SWIG_DIR}x" STREQUAL "x${CMAKE_ROOT}/Modulesx")
     MESSAGE("SWIG_DIR should not be modules subdirectory of CMake")
-  ENDIF("x${SWIG_DIR}x" MATCHES "^x${CMAKE_ROOT}/Modulesx$")
+  ENDIF("x${SWIG_DIR}x" STREQUAL "x${CMAKE_ROOT}/Modulesx")
 
   IF(EXISTS ${SWIG_DIR}/SWIGConfig.cmake)
     INCLUDE(${SWIG_DIR}/SWIGConfig.cmake)
@@ -22,14 +24,18 @@ IF(EXISTS ${SWIG_DIR})
   ENDIF(EXISTS ${SWIG_DIR}/SWIGConfig.cmake)
 ENDIF(EXISTS ${SWIG_DIR})
 
-IF("x${SWIG_FOUND}x" MATCHES "^xFOOBARx$")
+IF("x${SWIG_FOUND}x" STREQUAL "xFOOBARx")
   SET(SWIG_FOUND 0)
-  IF(SWIG_DIR)
+  IF(EXISTS ${SWIG_DIR})
     IF(EXISTS ${SWIG_USE_FILE})
       IF(EXISTS ${SWIG_EXECUTABLE})
         SET(SWIG_FOUND 1)
       ENDIF(EXISTS ${SWIG_EXECUTABLE})
     ENDIF(EXISTS ${SWIG_USE_FILE})
-  ENDIF(SWIG_DIR)
-ENDIF("x${SWIG_FOUND}x" MATCHES "^xFOOBARx$")
-
+  ENDIF(EXISTS ${SWIG_DIR})
+  IF(NOT ${SWIG_FOUND})
+    IF(${SWIG_FIND_REQUIRED})
+      MESSAGE(FATAL_ERROR "Swig was not found on the system. Please specify the location of Swig.")
+    ENDIF(${SWIG_FIND_REQUIRED})
+  ENDIF(NOT ${SWIG_FOUND})
+ENDIF("x${SWIG_FOUND}x" STREQUAL "xFOOBARx")