FindLibva.cmake 2.6 KB

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