summaryrefslogtreecommitdiffstats
path: root/project/cmake/modules/FindPython.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'project/cmake/modules/FindPython.cmake')
-rw-r--r--project/cmake/modules/FindPython.cmake51
1 files changed, 23 insertions, 28 deletions
diff --git a/project/cmake/modules/FindPython.cmake b/project/cmake/modules/FindPython.cmake
index 6f9f236..68b7359 100644
--- a/project/cmake/modules/FindPython.cmake
+++ b/project/cmake/modules/FindPython.cmake
@@ -5,39 +5,34 @@
5# PYTHON_INCLUDE_DIRS - the python include directory 5# PYTHON_INCLUDE_DIRS - the python include directory
6# PYTHON_LIBRARIES - The python libraries 6# PYTHON_LIBRARIES - The python libraries
7 7
8if(PKG_CONFIG_FOUND AND NOT CMAKE_CROSSCOMPILING) 8if(PKG_CONFIG_FOUND)
9 pkg_check_modules (PYTHON python) 9 pkg_check_modules(PC_PYTHON python >= 2.7 QUIET)
10endif() 10endif()
11 11
12if(NOT PYTHON_FOUND) 12find_program(PYTHON_EXECUTABLE python ONLY_CMAKE_FIND_ROOT_PATH)
13 if(CMAKE_CROSSCOMPILING) 13find_library(PYTHON_LIBRARY NAMES python2.7 PATHS ${PC_PYTHON_LIBDIR})
14 find_program(PYTHON_EXECUTABLE python ONLY_CMAKE_FIND_ROOT_PATH) 14find_path(PYTHON_INCLUDE_DIR NAMES Python.h PATHS ${PC_PYTHON_INCLUDE_DIRS} ${DEPENDS_PATH}/include/python2.7)
15 find_library(PYTHON_LIBRARY NAMES python2.6 python2.7) 15
16 find_path(PYTHON_INCLUDE_DIRS NAMES Python.h PATHS ${DEPENDS_PATH}/include/python2.6 ${DEPENDS_PATH}/include/python2.7) 16if(CMAKE_CROSSCOMPILING)
17 set(PYTHON_INCLUDE_DIR ${PYTHON_INCLUDE_DIRS} CACHE PATH "python include dir" FORCE) 17 find_library(FFI_LIBRARY ffi REQUIRED)
18 18 find_library(EXPAT_LIBRARY expat REQUIRED)
19 find_library(FFI_LIBRARY ffi) 19 find_library(INTL_LIBRARY intl REQUIRED)
20 find_library(EXPAT_LIBRARY expat) 20 find_library(GMP_LIBRARY gmp REQUIRED)
21 find_library(INTL_LIBRARY intl) 21
22 22 if(NOT CORE_SYSTEM_NAME STREQUAL android)
23 if(NOT CORE_SYSTEM_NAME STREQUAL android) 23 set(PYTHON_DEP_LIBRARIES -lpthread -ldl -lutil)
24 set(PYTHON_DEP_LIBRARIES -lpthread -ldl -lutil)
25 endif()
26
27 set(PYTHON_LIBRARIES ${PYTHON_LIBRARY} ${FFI_LIBRARY} ${EXPAT_LIBRARY} ${INTL_LIBRARY} ${PYTHON_DEP_LIBRARIES}
28 CACHE INTERNAL "python libraries" FORCE)
29 else()
30 find_package(PythonLibs)
31 endif() 24 endif()
25
26 set(PYTHON_LIBRARIES ${PYTHON_LIBRARY} ${FFI_LIBRARY} ${EXPAT_LIBRARY} ${INTL_LIBRARY} ${GMP_LIBRARY} ${PYTHON_DEP_LIBRARIES})
27else()
28 find_package(PythonLibs 2.7 REQUIRED)
32endif() 29endif()
33 30
34include(FindPackageHandleStandardArgs)
35find_package_handle_standard_args(Python DEFAULT_MSG PYTHON_INCLUDE_DIRS PYTHON_LIBRARIES)
36 31
37if(CMAKE_SYSTEM_NAME STREQUAL Darwin) 32include(FindPackageHandleStandardArgs)
38 find_library(FFI_LIBRARY ffi REQUIRED) 33find_package_handle_standard_args(PYTHON REQUIRED_VARS PYTHON_INCLUDE_DIR PYTHON_LIBRARY PYTHON_LIBRARIES)
39 find_library(INTL_LIBRARY intl) 34if(PYTHON_FOUND)
40 list(APPEND PYTHON_LIBRARIES ${FFI_LIBRARY} ${INTL_LIBRARY}) 35 set(PYTHON_INCLUDE_DIRS ${PYTHON_INCLUDE_DIR})
41endif() 36endif()
42 37
43mark_as_advanced(PYTHON_INCLUDE_DIRS PYTHON_LIBRARIES PYTHON_LDFLAGS) 38mark_as_advanced(PYTHON_EXECUTABLE PYTHON_INCLUDE_DIRS PYTHON_INCLUDE_DIR PYTHON_LIBRARY PYTHON_LIBRARIES PYTHON_LDFLAGS FFI_LIBRARY EXPAT_LIBRARY INTL_LIBRARY GMP_LIBRARY)