aboutsummaryrefslogtreecommitdiff
path: root/project
diff options
context:
space:
mode:
authorwsnipex <wsnipex@a1.net>2016-11-22 14:06:57 +0100
committerwsnipex <wsnipex@a1.net>2016-11-23 11:09:05 +0100
commit8558d672e98b62f3ea0126ba491376add8ed71cb (patch)
treeccb12e28d0dc4d965c6822a7fda90a35d984df40 /project
parent1439c5fc8dfe9922a0d1da4181fe052f89b56c45 (diff)
[cmake] fix FindPython
Diffstat (limited to 'project')
-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 fbc3a6453f..68b7359417 100644
--- a/project/cmake/modules/FindPython.cmake
+++ b/project/cmake/modules/FindPython.cmake
@@ -5,39 +5,34 @@
# PYTHON_INCLUDE_DIRS - the python include directory
# PYTHON_LIBRARIES - The python libraries
-if(PKG_CONFIG_FOUND AND (NOT CMAKE_CROSSCOMPILING OR APPLE))
- pkg_check_modules(PYTHON python QUIET)
+if(PKG_CONFIG_FOUND)
+ pkg_check_modules(PC_PYTHON python >= 2.7 QUIET)
endif()
-if(NOT PYTHON_FOUND)
- if(CMAKE_CROSSCOMPILING)
- find_program(PYTHON_EXECUTABLE python ONLY_CMAKE_FIND_ROOT_PATH)
- find_library(PYTHON_LIBRARY NAMES python2.6 python2.7)
- find_path(PYTHON_INCLUDE_DIRS NAMES Python.h PATHS ${DEPENDS_PATH}/include/python2.6 ${DEPENDS_PATH}/include/python2.7)
- set(PYTHON_INCLUDE_DIR ${PYTHON_INCLUDE_DIRS} CACHE PATH "python include dir" FORCE)
-
- find_library(FFI_LIBRARY ffi)
- find_library(EXPAT_LIBRARY expat)
- find_library(INTL_LIBRARY intl)
-
- if(NOT CORE_SYSTEM_NAME STREQUAL android)
- set(PYTHON_DEP_LIBRARIES -lpthread -ldl -lutil)
- endif()
-
- set(PYTHON_LIBRARIES ${PYTHON_LIBRARY} ${FFI_LIBRARY} ${EXPAT_LIBRARY} ${INTL_LIBRARY} ${PYTHON_DEP_LIBRARIES}
- CACHE INTERNAL "python libraries" FORCE)
- else()
- find_package(PythonLibs 2.7 REQUIRED)
+find_program(PYTHON_EXECUTABLE python ONLY_CMAKE_FIND_ROOT_PATH)
+find_library(PYTHON_LIBRARY NAMES python2.7 PATHS ${PC_PYTHON_LIBDIR})
+find_path(PYTHON_INCLUDE_DIR NAMES Python.h PATHS ${PC_PYTHON_INCLUDE_DIRS} ${DEPENDS_PATH}/include/python2.7)
+
+if(CMAKE_CROSSCOMPILING)
+ find_library(FFI_LIBRARY ffi REQUIRED)
+ find_library(EXPAT_LIBRARY expat REQUIRED)
+ find_library(INTL_LIBRARY intl REQUIRED)
+ find_library(GMP_LIBRARY gmp REQUIRED)
+
+ if(NOT CORE_SYSTEM_NAME STREQUAL android)
+ set(PYTHON_DEP_LIBRARIES -lpthread -ldl -lutil)
endif()
+
+ set(PYTHON_LIBRARIES ${PYTHON_LIBRARY} ${FFI_LIBRARY} ${EXPAT_LIBRARY} ${INTL_LIBRARY} ${GMP_LIBRARY} ${PYTHON_DEP_LIBRARIES})
+else()
+ find_package(PythonLibs 2.7 REQUIRED)
endif()
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(Python DEFAULT_MSG PYTHON_INCLUDE_DIRS PYTHON_LIBRARIES)
-if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
- find_library(FFI_LIBRARY ffi REQUIRED)
- find_library(INTL_LIBRARY intl)
- list(APPEND PYTHON_LIBRARIES ${FFI_LIBRARY} ${INTL_LIBRARY})
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(PYTHON REQUIRED_VARS PYTHON_INCLUDE_DIR PYTHON_LIBRARY PYTHON_LIBRARIES)
+if(PYTHON_FOUND)
+ set(PYTHON_INCLUDE_DIRS ${PYTHON_INCLUDE_DIR})
endif()
-mark_as_advanced(PYTHON_INCLUDE_DIRS PYTHON_LIBRARIES PYTHON_LDFLAGS)
+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)