FindRPi_BrcmEGL.cmake 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. include(FeatureSummary)
  2. set_package_properties(RPi_BrcmEGL PROPERTIES
  3. URL "https://github.com/raspberrypi/firmware"
  4. DESCRIPTION "Fake brcmEGL package for RPi"
  5. )
  6. set(RPi_BrcmEGL_PKG_CONFIG_SPEC brcmegl)
  7. find_package(PkgConfig QUIET)
  8. pkg_check_modules(PC_RPi_BrcmEGL QUIET ${RPi_BrcmEGL_PKG_CONFIG_SPEC})
  9. find_package(RPi_BcmHost)
  10. find_library(RPi_BrcmEGL_brcmEGL_LIBRARY
  11. NAMES brcmEGL
  12. HINTS
  13. ${PC_RPi_BrcmEGL_LIBRARY_DIRS}
  14. /opt/vc/lib
  15. )
  16. find_path(RPi_BrcmEGL_EGL_eglplatform_h_PATH
  17. NAMES EGL/eglplatform.h
  18. HINTS
  19. ${PC_RPi_BrcmEGL_INCLUDE_DIRS}
  20. /opt/vc/include
  21. )
  22. if(PC_RPi_BrcmEGL_FOUND)
  23. include("${CMAKE_CURRENT_LIST_DIR}/PkgConfigHelper.cmake")
  24. get_flags_from_pkg_config("${RPi_BrcmEGL_brcmEGL_LIBRARY}" "PC_RPi_BrcmEGL" "_RPi_BrcmEGL")
  25. endif()
  26. set(RPi_BrcmEGL_INCLUDE_DIRS "${_RPi_BrcmEGL_include_dirs}" CACHE STRING "Extra include dirs of brcmEGL")
  27. set(RPi_BrcmEGL_COMPILE_OPTIONS "${_RPi_BrcmEGL_compile_options}" CACHE STRING "Extra compile options of brcmEGL")
  28. set(RPi_BrcmEGL_LINK_LIBRARIES "${_RPi_BrcmEGL_link_libraries}" CACHE STRING "Extra link libraries of brcmEGL")
  29. set(RPi_BrcmEGL_LINK_OPTIONS "${_RPi_BrcmEGL_link_options}" CACHE STRING "Extra link flags of brcmEGL")
  30. set(RPi_BrcmEGL_LINK_DIRECTORIES "${_RPi_BrcmEGL_link_directories}" CACHE PATH "Extra link directories of brcmEGL")
  31. include(FindPackageHandleStandardArgs)
  32. find_package_handle_standard_args(RPi_BrcmEGL
  33. REQUIRED_VARS RPi_BrcmEGL_brcmEGL_LIBRARY RPi_BrcmEGL_EGL_eglext_brcm_h_PATH RPi_BcmHost_FOUND
  34. )
  35. if(RPi_BrcmEGL_FOUND)
  36. if(NOT TARGET RPi_BcmHost::RPi_BcmHost)
  37. add_library(RPi_BcmHost::RPi_BcmHost INTERFACE IMPORTED)
  38. set_target_properties(RPi_BcmHost::RPi_BcmHost PROPERTIES
  39. INTERFACE_INCLUDE_DIRECTORIES "${RPi_BrcmEGL_INCLUDE_DIRS}"
  40. INTERFACE_COMPILE_OPTIONS "${RPi_BrcmEGL_COMPILE_OPTIONS}"
  41. INTERFACE_LINK_LIBRARIES "${RPi_BrcmEGL_LINK_LIBRARIES};RPi_BcmHost::RPi_BcmHost"
  42. INTERFACE_LINK_OPTIONS "${RPi_BrcmEGL_LINK_OPTIONS}"
  43. INTERFACE_LINK_DIRECTORIES "${RPi_BrcmEGL_LINK_DIRECTORIES}"
  44. )
  45. endif()
  46. endif()