# !! Please read the generic detection procedure in SalomeMacros.cmake !!
#
# The interpreter is found first, and if OK, the corresponding libraries are searched.
-# We ensure the version of the libraries matches the one of the interpreter.
+# We ensure the version of the libraries matches the one of the interpreter.
+#
+# We also look for an installation of NumPy, and if found the following variables are set
+# NUMPY_INCLUDE_DIR - NumPy header location
+# NUMPY_DEFINITIONS - compiler flag
+# and are automatically appended to PYTHON_INCLUDE_DIRS (and PYTHON_DEFINITIONS resp.)
#
# 1. Load environment or any previously detected Python
SET(PYTHON_ROOT_DIR "${_dflt_value}" CACHE PATH "Path to Python directory (interpreter and libs)")
# 2. Find package - config mode first (i.e. looking for XYZ-config.cmake)
+IF(WIN32)
+ IF(CMAKE_BUILD_TYPE STREQUAL Debug)
+ SET(PythonInterp_FIND_VERSION _d)
+ SET(PYTHON_DEFINITIONS "-DHAVE_DEBUG_PYTHON")
+ ENDIF(CMAKE_BUILD_TYPE STREQUAL Debug)
+ENDIF(WIN32)
IF(EXISTS "${PYTHON_ROOT_DIR}")
# Hope to find direclty a CMake config file there
SET(_CONF_DIR "${PYTHON_ROOT_DIR}/share/cmake")
ENDIF()
ENDIF()
- # 6. Specifics
+ ##
+ ## 6. Save the final detected installation
+ ##
+ SET(PYTHON_ROOT_DIR "${_tmp_ROOT_DIR}")
+ SALOME_ACCUMULATE_HEADERS(PYTHON_INCLUDE_DIR)
+ ## 7. Specifics
+ ##
+
+ # NumPy detection
EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "import numpy ; import sys ; sys.stdout.write(numpy.get_include())" OUTPUT_VARIABLE NUMPY_INCLUDE_DIR ERROR_QUIET )
IF(NUMPY_INCLUDE_DIR)
SET(NUMPY_FOUND TRUE)
IF(NUMPY_FOUND)
SET(PYTHON_INCLUDE_DIRS ${NUMPY_INCLUDE_DIR} ${PYTHON_INCLUDE_DIRS})
SET(PYTHON_DEFINITIONS "${PYTHON_DEFINITIONS} -DWITH_NUMPY")
- MESSAGE(STATUS "numpy found : ${NUMPY_INCLUDE_DIR}")
+ MESSAGE(STATUS "NumPy found : ${NUMPY_INCLUDE_DIR}")
ELSE(NUMPY_FOUND)
- MESSAGE(STATUS "numpy not found")
+ MESSAGE(STATUS "NumPy not found.")
ENDIF(NUMPY_FOUND)
## None here
MESSAGE(STATUS "Python was only partially (or not at all) found .")
ENDIF()
-
+IF(SALOMEPYTHON_FOUND)
+ #SALOME_ACCUMULATE_HEADERS(PYTHON_INCLUDE_DIR)
+ SALOME_ACCUMULATE_ENVIRONMENT(PATH ${PYTHON_ROOT_DIR}/bin)
+ SALOME_ACCUMULATE_ENVIRONMENT(LD_LIBRARY_PATH ${PYTHON_ROOT_DIR}/lib)
+ SALOME_ACCUMULATE_ENVIRONMENT(PYTHONPATH ${PYTHON_ROOT_DIR}/lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR})
+ENDIF()