X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=salome_adm%2Fcmake_files%2FFindPYTHON.cmake;h=9c4bfeb4eca826361be4f5b237a5d6b990000571;hb=5428fce2741a9883edf2a2bee798429b390a7412;hp=f1215749de83e8414027d5ba63c5fd8338e45d91;hpb=385f9794a7f8fb72a236d1aba4d4ec2501070461;p=modules%2Fkernel.git diff --git a/salome_adm/cmake_files/FindPYTHON.cmake b/salome_adm/cmake_files/FindPYTHON.cmake index f1215749d..9c4bfeb4e 100644 --- a/salome_adm/cmake_files/FindPYTHON.cmake +++ b/salome_adm/cmake_files/FindPYTHON.cmake @@ -1,4 +1,4 @@ -# 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 @@ -19,6 +19,7 @@ # # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # + # ------ MESSAGE(STATUS "Check for python ...") @@ -63,29 +64,53 @@ ENDIF(PYTHON_STATUS) # ------ 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) # ------ @@ -143,7 +168,7 @@ IF(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) @@ -175,6 +200,7 @@ ENDIF(PYTHON_STATUS) # ---- IF(PYTHON_STATUS) + SET(PYTHON_CPPFLAGS ${PYTHON_INCLUDES}) ELSE(PYTHON_STATUS) IF(PYTHON_IS_MANDATORY) MESSAGE(FATAL_ERROR "python not found ... mandatory ... abort")