Advertisement
Guest User

Untitled

a guest
Dec 11th, 2016
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.72 KB | None | 0 0
  1. cmake_minimum_required(VERSION 2.8)
  2.  
  3. project(numbuf)
  4.  
  5. list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/Modules)
  6.  
  7. # Make libnumbuf.so look for shared libraries in the folder libnumbuf.so is in.
  8. set(CMAKE_INSTALL_RPATH "$ORIGIN/")
  9. set(CMAKE_MACOSX_RPATH 1)
  10.  
  11. message(STATUS "Trying custom approach for finding Python.")
  12. # Start off by figuring out which Python executable to use.
  13. find_program(CUSTOM_PYTHON_EXECUTABLE python)
  14. message(STATUS "Found Python program: ${CUSTOM_PYTHON_EXECUTABLE}")
  15. execute_process(COMMAND ${CUSTOM_PYTHON_EXECUTABLE} -c "import sys; print('python' + sys.version[0:3])"
  16. OUTPUT_VARIABLE PYTHON_LIBRARY_NAME OUTPUT_STRIP_TRAILING_WHITESPACE)
  17. message(STATUS "PYTHON_LIBRARY_NAME: " ${PYTHON_LIBRARY_NAME})
  18. # Now find the Python include directories.
  19. execute_process(COMMAND ${CUSTOM_PYTHON_EXECUTABLE} -c "from distutils.sysconfig import *; print(get_python_inc())"
  20. OUTPUT_VARIABLE PYTHON_INCLUDE_DIRS OUTPUT_STRIP_TRAILING_WHITESPACE)
  21. message(STATUS "PYTHON_INCLUDE_DIRS: " ${PYTHON_INCLUDE_DIRS})
  22. # Now find the Python libraries. We'll start by looking near the Python
  23. # executable. If that fails, then we'll look near the Python include
  24. # directories.
  25. execute_process(COMMAND ${CUSTOM_PYTHON_EXECUTABLE} -c "import sys; print(sys.exec_prefix)"
  26. OUTPUT_VARIABLE PYTHON_PREFIX OUTPUT_STRIP_TRAILING_WHITESPACE)
  27. message(STATUS "PYTHON_PREFIX: " ${PYTHON_PREFIX})
  28. FIND_LIBRARY(PYTHON_LIBRARIES
  29. NAMES ${PYTHON_LIBRARY_NAME}
  30. HINTS "${PYTHON_PREFIX}"
  31. PATH_SUFFIXES "lib" "libs"
  32. NO_DEFAULT_PATH)
  33. message(STATUS "PYTHON_LIBRARIES: " ${PYTHON_LIBRARIES})
  34. # If that failed, perhaps because the user is in a virtualenv, search around
  35. # the Python include directories.
  36. if(NOT PYTHON_LIBRARIES)
  37. message(STATUS "Failed to find PYTHON_LIBRARIES near the Python executable, so now looking near the Python include directories.")
  38. FIND_LIBRARY(PYTHON_LIBRARIES
  39. NAMES ${PYTHON_LIBRARY_NAME}
  40. HINTS "${PYTHON_INCLUDE_DIRS}/../.."
  41. PATH_SUFFIXES "lib" "libs"
  42. NO_DEFAULT_PATH)
  43. message(STATUS "PYTHON_LIBRARIES: " ${PYTHON_LIBRARIES})
  44. endif()
  45. # If we found the Python libraries and the include directories, then continue
  46. # on. If not, then try find_package as a last resort, but it probably won't
  47. # work.
  48. if(PYTHON_LIBRARIES AND PYTHON_INCLUDE_DIRS)
  49. message(STATUS "The custom approach for finding Python succeeded.")
  50. SET(PYTHONLIBS_FOUND TRUE)
  51. else()
  52. message(WARNING "The custom approach for finding Python failed. Defaulting to find_package.")
  53. find_package(PythonInterp REQUIRED)
  54. find_package(PythonLibs ${PYTHON_VERSION_STRING} EXACT REQUIRED)
  55. set(CUSTOM_PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE})
  56. endif()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement