FindPythonWindows.cmake 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. # Once done these will be defined:
  2. #
  3. # PYTHON_FOUND PYTHON_INCLUDE_DIRS PYTHON_LIBRARIES
  4. #
  5. # For use in OBS:
  6. #
  7. # PYTHON_INCLUDE_DIR
  8. if(CMAKE_SIZEOF_VOID_P EQUAL 8)
  9. set(_LIB_SUFFIX 64)
  10. else()
  11. set(_LIB_SUFFIX 32)
  12. endif()
  13. find_path(
  14. PYTHON_INCLUDE_DIR
  15. NAMES Python.h
  16. HINTS ${_PYTHON_INCLUDE_DIRS}
  17. PATH_SUFFIXES include include/python)
  18. find_library(
  19. PYTHON_LIB
  20. NAMES ${_PYTHON_LIBRARIES} python3
  21. HINTS ${_PYTHON_LIBRARY_DIRS}
  22. PATH_SUFFIXES
  23. lib${_lib_suffix}
  24. lib
  25. libs${_lib_suffix}
  26. libs
  27. bin${_lib_suffix}
  28. bin
  29. ../lib${_lib_suffix}
  30. ../lib
  31. ../libs${_lib_suffix}
  32. ../libs
  33. ../bin${_lib_suffix}
  34. ../bin)
  35. include(FindPackageHandleStandardArgs)
  36. find_package_handle_standard_args(PythonWindows DEFAULT_MSG PYTHON_LIB PYTHON_INCLUDE_DIR)
  37. mark_as_advanced(PYTHON_INCLUDE_DIR PYTHON_LIB)
  38. if(PYTHONWINDOWS_FOUND)
  39. set(Python_FOUND TRUE)
  40. set(Python_INCLUDE_DIRS ${PYTHON_INCLUDE_DIR})
  41. set(Python_LIBRARIES ${PYTHON_LIB})
  42. set(PYTHONLIBS_FOUND TRUE)
  43. if(NOT TARGET Python::Python)
  44. if(IS_ABSOLUTE "${Python_LIBRARIES}")
  45. add_library(Python::Python UNKNOWN IMPORTED)
  46. set_target_properties(Python::Python PROPERTIES IMPORTED_LOCATION "${Python_LIBRARIES}")
  47. else()
  48. add_library(Python::Python INTERFACE IMPORTED)
  49. set_target_properties(Python::Python PROPERTIES IMPORTED_LIBNAME "${Python_LIBRARIES}")
  50. endif()
  51. set_target_properties(Python::Python PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${Python_INCLUDE_DIRS}")
  52. endif()
  53. endif()