FindLibva.cmake 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. # cmake-format: off
  2. #
  3. # This module defines the following variables:
  4. #
  5. # * LIBVA_FOUND - The component was found
  6. # * LIBVA_INCLUDE_DIRS - The component include directory
  7. # * LIBVA_LIBRARIES - The component library Libva
  8. # * LIBVA_DRM_LIBRARIES - The component library Libva DRM
  9. # Use pkg-config to get the directories and then use these values in the
  10. # find_path() and find_library() calls
  11. # cmake-format: on
  12. find_package(PkgConfig QUIET)
  13. if(PKG_CONFIG_FOUND)
  14. pkg_check_modules(_LIBVA libva)
  15. pkg_check_modules(_LIBVA_DRM libva-drm)
  16. endif()
  17. find_path(
  18. LIBVA_INCLUDE_DIR
  19. NAMES va/va.h va/va_drm.h
  20. HINTS ${_LIBVA_INCLUDE_DIRS}
  21. PATHS /usr/include /usr/local/include /opt/local/include)
  22. find_library(
  23. LIBVA_LIB
  24. NAMES ${_LIBVA_LIBRARIES} libva
  25. HINTS ${_LIBVA_LIBRARY_DIRS}
  26. PATHS /usr/lib /usr/local/lib /opt/local/lib)
  27. find_library(
  28. LIBVA_DRM_LIB
  29. NAMES ${_LIBVA_DRM_LIBRARIES} libva-drm
  30. HINTS ${_LIBVA_DRM_LIBRARY_DIRS}
  31. PATHS /usr/lib /usr/local/lib /opt/local/lib)
  32. include(FindPackageHandleStandardArgs)
  33. find_package_handle_standard_args(Libva REQUIRED_VARS LIBVA_INCLUDE_DIR LIBVA_LIB LIBVA_DRM_LIB)
  34. mark_as_advanced(LIBVA_INCLUDE_DIR LIBVA_LIB LIBVA_DRM_LIB)
  35. if(LIBVA_FOUND)
  36. set(LIBVA_INCLUDE_DIRS ${LIBVA_INCLUDE_DIR})
  37. set(LIBVA_LIBRARIES ${LIBVA_LIB})
  38. set(LIBVA_DRM_LIBRARIES ${LIBVA_DRM_LIB})
  39. if(NOT TARGET Libva::va)
  40. if(IS_ABSOLUTE "${LIBVA_LIBRARIES}")
  41. add_library(Libva::va UNKNOWN IMPORTED)
  42. set_target_properties(Libva::va PROPERTIES IMPORTED_LOCATION "${LIBVA_LIBRARIES}")
  43. else()
  44. add_library(Libva::va INTERFACE IMPORTED)
  45. set_target_properties(Libva::va PROPERTIES IMPORTED_LIBNAME "${LIBVA_LIBRARIES}")
  46. endif()
  47. set_target_properties(Libva::va PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${LIBVA_INCLUDE_DIRS}")
  48. endif()
  49. if(NOT TARGET Libva::drm)
  50. if(IS_ABSOLUTE "${LIBVA_DRM_LIBRARIES}")
  51. add_library(Libva::drm UNKNOWN IMPORTED)
  52. set_target_properties(Libva::drm PROPERTIES IMPORTED_LOCATION "${LIBVA_DRM_LIBRARIES}")
  53. else()
  54. add_library(Libva::drm INTERFACE IMPORTED)
  55. set_target_properties(Libva::drm PROPERTIES IMPORTED_LIBNAME "${LIBVA_DRM_LIBRARIES}")
  56. endif()
  57. set_target_properties(Libva::drm PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${LIBVA_INCLUDE_DIRS}")
  58. endif()
  59. endif()