Salome HOME
5cd48fd36684ff625d446a07093241b1fbdddd29
[tools/configuration.git] / cmake / FindSalomePythonInterp.cmake
1 # Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
2 #
3 # This library is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU Lesser General Public
5 # License as published by the Free Software Foundation; either
6 # version 2.1 of the License, or (at your option) any later version.
7 #
8 # This library is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 # Lesser General Public License for more details.
12 #
13 # You should have received a copy of the GNU Lesser General Public
14 # License along with this library; if not, write to the Free Software
15 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 #
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 #
19 # Author: Adrien Bruneton
20 #
21
22 # Python interpreter detection for SALOME
23 #
24 #  !! Please read the generic detection procedure in SalomeMacros.cmake !!
25 #
26
27 # Make sure the detection of both libs and interpreter (if both needed) occur in the correct order:
28 IF(SALOMEPYTHONLIBS_FOUND AND NOT SALOMEPYTHONINTERP_FOUND)
29    MESSAGE(FATAL_ERROR "Developer error -> Python interpreter should be detected/required before Python libs!")
30 ENDIF()
31
32 # Use the PYTHON_ROOT_DIR if PYTHONINTERP_ROOT_DIR is not defined:
33 SET(PYTHON_ROOT_DIR "$ENV{PYTHON_ROOT_DIR}" CACHE PATH "Path to the Python installation (libs+interpreter)")
34 IF(EXISTS "${PYTHON_ROOT_DIR}" AND (NOT PYTHONINTERP_ROOT_DIR))
35   # Extract sub-directory "paraview-x.xx":
36   MESSAGE(STATUS "Setting PYTHONINTERP_ROOT_DIR to: ${PYTHON_ROOT_DIR}")
37   SET(PYTHONINTERP_ROOT_DIR "${PYTHON_ROOT_DIR}" CACHE PATH "Path to PythonInterp directory")
38 ENDIF()
39
40 # python 3
41 SET(PythonInterp_FIND_VERSION 3)
42 SET(PythonInterp_FIND_VERSION_MAJOR 3)
43
44 SALOME_FIND_PACKAGE_AND_DETECT_CONFLICTS(PythonInterp PYTHON_EXECUTABLE 1)
45
46 IF(SALOMEPYTHONINTERP_FOUND) 
47   SET(PYTHON_PYTHONPATH "${PYTHON_ROOT_DIR}/lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}")
48   GET_FILENAME_COMPONENT(_python_bin "${PYTHON_EXECUTABLE}" NAME )
49   SET(PYTHONBIN "${_python_bin}" CACHE STRING "Name of Python interpreter")
50   SALOME_ACCUMULATE_ENVIRONMENT(PATH ${PYTHON_EXECUTABLE})
51   SALOME_ACCUMULATE_ENVIRONMENT(PYTHONPATH ${PYTHON_PYTHONPATH})
52 ENDIF()
53