Salome HOME
Copyright update 2021
[tools/libbatch.git] / CMakeModules / FindLibbatchPython.cmake
index 11078e8347d22df27e307b94b0598f341fad20f9..c8a0ea99f5a85b3b70c105910bf01fef613b2af9 100644 (file)
@@ -1,9 +1,9 @@
-# Copyright (C) 2013  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2013-2021  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # License as published by the Free Software Foundation; either
-# version 2.1 of the License.
+# version 2.1 of the License, or (at your option) any later version.
 #
 # This library is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # 1. Load environment or any previously detected Python
 IF(DEFINED ENV{PYTHON_ROOT_DIR})
   FILE(TO_CMAKE_PATH "$ENV{PYTHON_ROOT_DIR}" _PYTHON_ROOT_DIR_ENV)
-  SET(_dflt_value "${_PYTHON_ROOT_DIR_ENV}")
+  IF(APPLE)
+    SET(_dflt_value "${_PYTHON_ROOT_DIR_ENV}/Python.framework/Versions/Current")
+    SET(PYTHON_LIBRARY "${_PYTHON_ROOT_DIR_ENV}/Python.framework/Versions/Current/lib/libpython2.7.dylib")
+    SET(PYTHON_INCLUDE_DIR "${_PYTHON_ROOT_DIR_ENV}/Python.framework/Versions/Current/Headers")
+    LIST(APPEND CMAKE_PREFIX_PATH "${_dflt_value}")
+    FIND_PACKAGE(PythonLibs)
+    MESSAGE(STATUS "Mac Python: ${_dflt_value}")
+    MESSAGE(STATUS "Python libraries: ${PYTHON_LIBRARY}")
+    MESSAGE(STATUS "Python include dir: ${PYTHON_INCLUDE_DIR}")
+  ELSE(APPLE)
+    SET(_dflt_value "${_PYTHON_ROOT_DIR_ENV}")
+  ENDIF(APPLE)
 ELSE()
   # will be blank if no Python was previously loaded
   SET(_dflt_value "${PYTHON_ROOT_DIR_EXP}")
@@ -36,13 +47,17 @@ ENDIF()
 #   Make cache entry 
 SET(PYTHON_ROOT_DIR "${_dflt_value}" CACHE PATH "Path to Python directory (interpreter and libs)")
 
+# python 3
+SET(PythonInterp_FIND_VERSION 3)
+SET(PythonInterp_FIND_VERSION_MAJOR 3)
+
 # 2. Find package - config mode first (i.e. looking for XYZ-config.cmake)
-IF(WINDOWS)
+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(WINDOWS)
+ENDIF(WIN32)
 IF(EXISTS "${PYTHON_ROOT_DIR}")
   # Hope to find direclty a CMake config file there
   SET(_CONF_DIR "${PYTHON_ROOT_DIR}/share/cmake") 
@@ -53,7 +68,7 @@ IF(EXISTS "${PYTHON_ROOT_DIR}")
   MARK_AS_ADVANCED(Python_DIR)
     
   IF (NOT PYTHON_FOUND)  
-    SET(CMAKE_PREFIX_PATH "${PYTHON_ROOT_DIR}")
+    LIST(APPEND CMAKE_PREFIX_PATH "${PYTHON_ROOT_DIR}")
   ELSE()
     MESSAGE(STATUS "Found Python in CONFIG mode!")
   ENDIF()
@@ -73,6 +88,7 @@ IF (PYTHONINTERP_FOUND)
   IF(WIN32)
     LIST(APPEND CMAKE_LIBRARY_PATH "${_python_dir}/libs" ABSOLUTE)
     LIST(APPEND CMAKE_INCLUDE_PATH "${_python_dir}/include" ABSOLUTE)
+    SET(PYTHON_INCLUDE_DIR "${_python_dir}/include")
   ENDIF()
   # Override the EXACT and VERSION settings of the LibbatchPython module
   # to force the next call to SALOME_FIND_PACKAGE() to find the exact matching