FindVideoCore.cmake 1.8 KB

12345678910111213141516171819202122232425262728293031
  1. # Copyright (c) 2008-2023 the Urho3D project
  2. # License: MIT
  3. # Raspberry Pi использует графический процессор Broadcom VideoCore.
  4. #
  5. # Этот модуль ищет библиотеку bcm_host и задаёт значения следующих переменных:
  6. # VIDEOCORE_FOUND - найдена ли библиотека
  7. # VIDEOCORE_INCLUDE_DIRS - папки с h-файлами
  8. # VIDEOCORE_LIBRARY_DIRS - папки с библиотеками
  9. # VIDEOCORE_LIBRARIES - библиотеки
  10. #
  11. # Использование модуля: find_package (VideoCore ...
  12. # Only need to cater for raspbian as they are not in CMAKE_SYSTEM_PATH
  13. set (VIDEOCORE_INC_SEARCH_PATH /opt/vc/include)
  14. set (VIDEOCORE_LIB_SEARCH_PATH /opt/vc/lib)
  15. find_path (VIDEOCORE_INCLUDE_DIRS bcm_host.h PATHS ${VIDEOCORE_INC_SEARCH_PATH} PATH_SUFFIXES vc DOC "Broadcom VideoCore include directory")
  16. find_library (VIDEOCORE_LIBRARIES bcm_host PATHS ${VIDEOCORE_LIB_SEARCH_PATH} PATH_SUFFIXES vc DOC "Broadcom VideoCore BCM_HOST library")
  17. include (FindPackageHandleStandardArgs)
  18. find_package_handle_standard_args (VideoCore REQUIRED_VARS VIDEOCORE_LIBRARIES VIDEOCORE_INCLUDE_DIRS FAIL_MESSAGE "Could NOT find Broadcom VideoCore firmware")
  19. if (VIDEOCORE_FOUND)
  20. # Assume all the other headers are installed at same relative path as bcm_host.h
  21. list (APPEND VIDEOCORE_INCLUDE_DIRS ${VIDEOCORE_INCLUDE_DIRS}/interface/vcos/pthreads ${VIDEOCORE_INCLUDE_DIRS}/interface/vmcs_host/linux)
  22. # Assume all the other libraries are installed at same relative path as libbcm_host.so
  23. get_filename_component (VIDEOCORE_LIBRARY_DIRS ${VIDEOCORE_LIBRARIES} PATH)
  24. set (VIDEOCORE_LIBRARIES bcm_host)
  25. endif ()
  26. mark_as_advanced (VIDEOCORE_INCLUDE_DIRS VIDEOCORE_LIBRARIES)