reorder the if's for clarity
authorVincent Rabaud <vrabaud@aldebaran-robotics.com>
Tue, 21 Jan 2014 09:01:52 +0000 (10:01 +0100)
committerVincent Rabaud <vrabaud@aldebaran-robotics.com>
Tue, 21 Jan 2014 09:27:37 +0000 (10:27 +0100)
cmake/OpenCVDetectPython.cmake

index 8c488e6..618b0fd 100644 (file)
@@ -80,21 +80,8 @@ if(PYTHON_EXECUTABLE)
     endif()
     SET(PYTHON_PACKAGES_PATH "${_PYTHON_PACKAGES_PATH}" CACHE PATH "Where to install the python packages.")
 
-    if(NOT CMAKE_CROSSCOMPILING)
-      if(NOT PYTHON_NUMPY_INCLUDE_DIR)
-        # Attempt to discover the NumPy include directory. If this succeeds, then build python API with NumPy
-        execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import os; os.environ['DISTUTILS_USE_SDK']='1'; import numpy.distutils; print numpy.distutils.misc_util.get_numpy_include_dirs()[0]"
-                        RESULT_VARIABLE PYTHON_NUMPY_PROCESS
-                        OUTPUT_VARIABLE PYTHON_NUMPY_INCLUDE_DIR
-                        OUTPUT_STRIP_TRAILING_WHITESPACE)
-
-        if(PYTHON_NUMPY_PROCESS EQUAL 0)
-          file(TO_CMAKE_PATH "${PYTHON_NUMPY_INCLUDE_DIR}" _PYTHON_NUMPY_INCLUDE_DIR)
-          set(PYTHON_NUMPY_INCLUDE_DIR ${_PYTHON_NUMPY_INCLUDE_DIR} CACHE PATH "Path to numpy headers")
-        endif()
-      endif()
-    else()
-      if(NOT PYTHON_NUMPY_INCLUDE_DIR)
+    if(NOT PYTHON_NUMPY_INCLUDE_DIR)
+      if(CMAKE_CROSSCOMPILING)
         message(STATUS "Cannot probe for Python/Numpy support (because we are cross-compiling OpenCV)")
         message(STATUS "If you want to enable Python/Numpy support, set the following variables:")
         message(STATUS "  PYTHON_EXECUTABLE")
@@ -103,22 +90,31 @@ if(PYTHON_EXECUTABLE)
         message(STATUS "  PYTHON_NUMPY_INCLUDE_DIR")
         message(STATUS "  PYTHON_NUMPY_VERSION")
       else()
-        file(TO_CMAKE_PATH "${PYTHON_NUMPY_INCLUDE_DIR}" _PYTHON_NUMPY_INCLUDE_DIR)
-        set(PYTHON_NUMPY_INCLUDE_DIR ${_PYTHON_NUMPY_INCLUDE_DIR} CACHE PATH "Path to numpy headers")
+        # Attempt to discover the NumPy include directory. If this succeeds, then build python API with NumPy
+        execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import os; os.environ['DISTUTILS_USE_SDK']='1'; import numpy.distutils; print numpy.distutils.misc_util.get_numpy_include_dirs()[0]"
+                        RESULT_VARIABLE PYTHON_NUMPY_PROCESS
+                        OUTPUT_VARIABLE PYTHON_NUMPY_INCLUDE_DIR
+                        OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+        if(NOT PYTHON_NUMPY_PROCESS EQUAL 0)
+          unset(PYTHON_NUMPY_INCLUDE_DIR)
+        endif()
       endif()
     endif()
 
     if(PYTHON_NUMPY_INCLUDE_DIR)
+      file(TO_CMAKE_PATH "${PYTHON_NUMPY_INCLUDE_DIR}" _PYTHON_NUMPY_INCLUDE_DIR)
+      set(PYTHON_NUMPY_INCLUDE_DIR ${_PYTHON_NUMPY_INCLUDE_DIR} CACHE PATH "Path to numpy headers")
       set(PYTHON_USE_NUMPY TRUE)
-      if(NOT CMAKE_CROSSCOMPILING)
+      if(CMAKE_CROSSCOMPILING)
+        if(NOT PYTHON_NUMPY_VERSION)
+          set(PYTHON_NUMPY_VERSION "undefined - cannot be probed because of the cross-compilation")
+        endif()
+      else()
         execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import numpy; print numpy.version.version"
                         RESULT_VARIABLE PYTHON_NUMPY_PROCESS
                         OUTPUT_VARIABLE PYTHON_NUMPY_VERSION
                         OUTPUT_STRIP_TRAILING_WHITESPACE)
-      else()
-        if(NOT PYTHON_NUMPY_VERSION)
-          set(PYTHON_NUMPY_VERSION "undefined - cannot be probed because of the cross-compilation")
-        endif()
       endif()
     endif()
   endif(NOT ANDROID AND NOT IOS)