-# Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE
#
# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
#
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
+
# ------
MESSAGE(STATUS "Check for python ...")
# ------
IF(PYTHON_STATUS)
+ IF(PYTHON_ROOT_USER)
+ SET(PYTHON_FIND_PATHS_OPTION NO_DEFAULT_PATH)
+ ELSE(PYTHON_ROOT_USER)
+ SET(PYTHON_FIND_PATHS_OPTION)
+ ENDIF(PYTHON_ROOT_USER)
+ENDIF(PYTHON_STATUS)
+
+# ------
+
+IF(PYTHON_STATUS)
+ IF(WINDOWS)
+ IF(CMAKE_BUILD_TYPE STREQUAL Release)
+ SET(PYTHON_EXECUTABLE_TO_FIND python)
+ ELSE(CMAKE_BUILD_TYPE STREQUAL Release)
+ SET(PYTHON_EXECUTABLE_TO_FIND python_d)
+ ENDIF(CMAKE_BUILD_TYPE STREQUAL Release)
+ ELSE(WINDOWS)
+ SET(PYTHON_EXECUTABLE_TO_FIND python)
+ ENDIF(WINDOWS)
IF(NOT PYTHON_ROOT_USER)
+ SET(PYTHON_EXECUTABLE_PATHS)
+ ELSE(NOT PYTHON_ROOT_USER)
IF(WINDOWS)
- IF(CMAKE_BUILD_TYPE STREQUAL Release)
- FIND_PROGRAM(PYTHON_EXECUTABLE python)
- ELSE(CMAKE_BUILD_TYPE STREQUAL Release)
- FIND_PROGRAM(PYTHON_EXECUTABLE python_d)
- ENDIF(CMAKE_BUILD_TYPE STREQUAL Release)
+ SET(PYTHON_EXECUTABLE_PATHS ${PYTHON_ROOT_USER})
ELSE(WINDOWS)
- FIND_PROGRAM(PYTHON_EXECUTABLE python)
+ SET(PYTHON_EXECUTABLE_PATHS ${PYTHON_ROOT_USER}/bin)
ENDIF(WINDOWS)
- IF(PYTHON_EXECUTABLE)
- MESSAGE(STATUS "python found: ${PYTHON_EXECUTABLE}")
- IF(PYTHON_EXECUTABLE STREQUAL /usr/bin/python)
- ELSE(PYTHON_EXECUTABLE STREQUAL /usr/bin/python)
- SET(PYTHON_ROOT_USER ${PYTHON_EXECUTABLE})
- GET_FILENAME_COMPONENT(PYTHON_ROOT_USER ${PYTHON_ROOT_USER} PATH)
- GET_FILENAME_COMPONENT(PYTHON_ROOT_USER ${PYTHON_ROOT_USER} PATH)
- ENDIF(PYTHON_EXECUTABLE STREQUAL /usr/bin/python)
- ELSE(PYTHON_EXECUTABLE)
- MESSAGE(STATUS "python not found, try to use WITH_PYTHON option or PYTHONHOME environment variable")
- SET(PYTHON_STATUS 0)
- ENDIF(PYTHON_EXECUTABLE)
ENDIF(NOT PYTHON_ROOT_USER)
+ FIND_PROGRAM(PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE_TO_FIND} PATHS ${PYTHON_EXECUTABLE_PATHS} ${PYTHON_FIND_PATHS_OPTION})
+ IF(PYTHON_EXECUTABLE)
+ MESSAGE(STATUS "python found: ${PYTHON_EXECUTABLE}")
+ IF(PYTHON_EXECUTABLE STREQUAL /usr/bin/python)
+ ELSE(PYTHON_EXECUTABLE STREQUAL /usr/bin/python)
+ SET(PYTHON_ROOT_USER ${PYTHON_EXECUTABLE})
+ GET_FILENAME_COMPONENT(PYTHON_ROOT_USER ${PYTHON_ROOT_USER} PATH)
+ IF(NOT WINDOWS)
+ GET_FILENAME_COMPONENT(PYTHON_ROOT_USER ${PYTHON_ROOT_USER} PATH)
+ ENDIF(NOT WINDOWS)
+ ENDIF(PYTHON_EXECUTABLE STREQUAL /usr/bin/python)
+ ELSE(PYTHON_EXECUTABLE)
+ IF(PYTHON_ROOT_USER)
+ MESSAGE(STATUS "${PYTHON_EXECUTABLE_TO_FIND} not found in ${PYTHON_EXECUTABLE_PATHS}, check your PYTHON installation.")
+ ELSE(PYTHON_ROOT_USER)
+ MESSAGE(STATUS "${PYTHON_EXECUTABLE_TO_FIND} not found on system, try to use WITH_PYTHON option or PYTHON_ROOT environment variable.")
+ ENDIF(PYTHON_ROOT_USER)
+ SET(PYTHON_STATUS 0)
+ ENDIF(PYTHON_EXECUTABLE)
ENDIF(PYTHON_STATUS)
# ------
IF(WINDOWS)
SET(PYTHON_LIB_PATHS ${PYTHON_ROOT_USER}/libs)
ELSE(WINDOWS)
- SET(PYTHON_LIB_PATHS ${PYTHON_ROOT_USER}/lib)
+ SET(PYTHON_LIB_PATHS ${PYTHON_ROOT_USER}/lib ${PYTHON_ROOT_USER}/lib/python${PYTHON_VERSION}/config)
ENDIF(WINDOWS)
ELSE(PYTHON_ROOT_USER)
SET(PYTHON_LIB_PATHS)
# ----
IF(PYTHON_STATUS)
+ SET(PYTHON_CPPFLAGS ${PYTHON_INCLUDES})
ELSE(PYTHON_STATUS)
IF(PYTHON_IS_MANDATORY)
MESSAGE(FATAL_ERROR "python not found ... mandatory ... abort")