diff options
Diffstat (limited to 'project/cmake/modules/FindPython.cmake')
| -rw-r--r-- | project/cmake/modules/FindPython.cmake | 51 |
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 | ||
| 8 | if(PKG_CONFIG_FOUND AND NOT CMAKE_CROSSCOMPILING) | 8 | if(PKG_CONFIG_FOUND) |
| 9 | pkg_check_modules (PYTHON python) | 9 | pkg_check_modules(PC_PYTHON python >= 2.7 QUIET) |
| 10 | endif() | 10 | endif() |
| 11 | 11 | ||
| 12 | if(NOT PYTHON_FOUND) | 12 | find_program(PYTHON_EXECUTABLE python ONLY_CMAKE_FIND_ROOT_PATH) |
| 13 | if(CMAKE_CROSSCOMPILING) | 13 | find_library(PYTHON_LIBRARY NAMES python2.7 PATHS ${PC_PYTHON_LIBDIR}) |
| 14 | find_program(PYTHON_EXECUTABLE python ONLY_CMAKE_FIND_ROOT_PATH) | 14 | find_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) | 16 | if(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}) | ||
| 27 | else() | ||
| 28 | find_package(PythonLibs 2.7 REQUIRED) | ||
| 32 | endif() | 29 | endif() |
| 33 | 30 | ||
| 34 | include(FindPackageHandleStandardArgs) | ||
| 35 | find_package_handle_standard_args(Python DEFAULT_MSG PYTHON_INCLUDE_DIRS PYTHON_LIBRARIES) | ||
| 36 | 31 | ||
| 37 | if(CMAKE_SYSTEM_NAME STREQUAL Darwin) | 32 | include(FindPackageHandleStandardArgs) |
| 38 | find_library(FFI_LIBRARY ffi REQUIRED) | 33 | find_package_handle_standard_args(PYTHON REQUIRED_VARS PYTHON_INCLUDE_DIR PYTHON_LIBRARY PYTHON_LIBRARIES) |
| 39 | find_library(INTL_LIBRARY intl) | 34 | if(PYTHON_FOUND) |
| 40 | list(APPEND PYTHON_LIBRARIES ${FFI_LIBRARY} ${INTL_LIBRARY}) | 35 | set(PYTHON_INCLUDE_DIRS ${PYTHON_INCLUDE_DIR}) |
| 41 | endif() | 36 | endif() |
| 42 | 37 | ||
| 43 | mark_as_advanced(PYTHON_INCLUDE_DIRS PYTHON_LIBRARIES PYTHON_LDFLAGS) | 38 | mark_as_advanced(PYTHON_EXECUTABLE PYTHON_INCLUDE_DIRS PYTHON_INCLUDE_DIR PYTHON_LIBRARY PYTHON_LIBRARIES PYTHON_LDFLAGS FFI_LIBRARY EXPAT_LIBRARY INTL_LIBRARY GMP_LIBRARY) |
