help cmake find right python interpreter on mac (#251)

This commit is contained in:
Robert Nishihara 2016-07-11 12:16:10 -07:00 committed by Philipp Moritz
parent fa1d0f4e0f
commit 1133315746
2 changed files with 15 additions and 13 deletions

View file

@ -8,15 +8,17 @@ list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/Modules)
set(CMAKE_PREFIX_PATH "${CMAKE_SOURCE_DIR}/thirdparty/grpc/bins/opt/" ${CMAKE_PREFIX_PATH}) set(CMAKE_PREFIX_PATH "${CMAKE_SOURCE_DIR}/thirdparty/grpc/bins/opt/" ${CMAKE_PREFIX_PATH})
find_package(PythonInterp REQUIRED)
if(NOT APPLE) if(NOT APPLE)
find_package(PythonInterp REQUIRED)
find_package(PythonLibs REQUIRED) find_package(PythonLibs REQUIRED)
else(NOT APPLE) set(CUSTOM_PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE})
execute_process(COMMAND ${PYTHON_EXECUTABLE} -c else()
"import sys; skip = 2 if sys.platform.startswith('win') else 1; print 'python' + sys.version[0:3:skip]" find_program(CUSTOM_PYTHON_EXECUTABLE python)
message("-- Found Python program: ${CUSTOM_PYTHON_EXECUTABLE}")
execute_process(COMMAND ${CUSTOM_PYTHON_EXECUTABLE} -c
"import sys; print 'python' + sys.version[0:3]"
OUTPUT_VARIABLE PYTHON_LIBRARY_NAME OUTPUT_STRIP_TRAILING_WHITESPACE) OUTPUT_VARIABLE PYTHON_LIBRARY_NAME OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${PYTHON_EXECUTABLE} -c execute_process(COMMAND ${CUSTOM_PYTHON_EXECUTABLE} -c
"import sys; print sys.exec_prefix" "import sys; print sys.exec_prefix"
OUTPUT_VARIABLE PYTHON_PREFIX OUTPUT_STRIP_TRAILING_WHITESPACE) OUTPUT_VARIABLE PYTHON_PREFIX OUTPUT_STRIP_TRAILING_WHITESPACE)
FIND_LIBRARY(PYTHON_LIBRARIES FIND_LIBRARY(PYTHON_LIBRARIES
@ -24,18 +26,18 @@ else(NOT APPLE)
HINTS "${PYTHON_PREFIX}" HINTS "${PYTHON_PREFIX}"
PATH_SUFFIXES "lib" "libs" PATH_SUFFIXES "lib" "libs"
NO_DEFAULT_PATH) NO_DEFAULT_PATH)
execute_process(COMMAND ${PYTHON_EXECUTABLE} -c execute_process(COMMAND ${CUSTOM_PYTHON_EXECUTABLE} -c
"from distutils.sysconfig import *; print get_python_inc()" "from distutils.sysconfig import *; print get_python_inc()"
OUTPUT_VARIABLE PYTHON_INCLUDE_DIRS OUTPUT_STRIP_TRAILING_WHITESPACE) OUTPUT_VARIABLE PYTHON_INCLUDE_DIRS OUTPUT_STRIP_TRAILING_WHITESPACE)
if(PYTHON_LIBRARIES AND PYTHON_INCLUDE_DIRS) if(PYTHON_LIBRARIES AND PYTHON_INCLUDE_DIRS)
SET(PYTHONLIBS_FOUND TRUE) SET(PYTHONLIBS_FOUND TRUE)
message("-- Found PythonLibs: " ${PYTHON_LIBRARIES}) message("-- Found PythonLibs: " ${PYTHON_LIBRARIES})
message("-- -- Used custom search path") message("-- -- Used custom search path")
else(PYTHON_LIBRARIES AND PYTHON_INCLUDE_DIRS) else()
find_package(PythonLibs REQUIRED) find_package(PythonLibs REQUIRED)
message("-- -- Used find_package(PythonLibs)") message("-- -- Used find_package(PythonLibs)")
endif(PYTHON_LIBRARIES AND PYTHON_INCLUDE_DIRS) endif()
endif(NOT APPLE) endif()
find_package(NumPy REQUIRED) find_package(NumPy REQUIRED)
find_package(Boost REQUIRED) find_package(Boost REQUIRED)

View file

@ -14,8 +14,8 @@
unset(NUMPY_VERSION) unset(NUMPY_VERSION)
unset(NUMPY_INCLUDE_DIR) unset(NUMPY_INCLUDE_DIR)
if(PYTHONINTERP_FOUND) if(NOT "${CUSTOM_PYTHON_EXECUTABLE}" STREQUAL "CUSTOM_PYTHON_EXECUTABLE-NOTFOUND")
execute_process(COMMAND "${PYTHON_EXECUTABLE}" "-c" execute_process(COMMAND "${CUSTOM_PYTHON_EXECUTABLE}" "-c"
"import numpy as n; print(n.__version__); print(n.get_include());" "import numpy as n; print(n.__version__); print(n.get_include());"
RESULT_VARIABLE __result RESULT_VARIABLE __result
OUTPUT_VARIABLE __output OUTPUT_VARIABLE __output
@ -42,7 +42,7 @@ if(PYTHONINTERP_FOUND)
endif() endif()
endif() endif()
else() else()
message(STATUS "To find NumPy Python interpretator is required to be found.") message(STATUS "To find NumPy Python executable is required to be found.")
endif() endif()
include(FindPackageHandleStandardArgs) include(FindPackageHandleStandardArgs)