summaryrefslogtreecommitdiffstats
path: root/cmake/modules/FindVAAPI.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/modules/FindVAAPI.cmake')
-rw-r--r--cmake/modules/FindVAAPI.cmake52
1 files changed, 20 insertions, 32 deletions
diff --git a/cmake/modules/FindVAAPI.cmake b/cmake/modules/FindVAAPI.cmake
index 49f74d8..5b57d23 100644
--- a/cmake/modules/FindVAAPI.cmake
+++ b/cmake/modules/FindVAAPI.cmake
@@ -9,23 +9,29 @@
9# VAAPI_INCLUDE_DIRS - the VAAPI include directory 9# VAAPI_INCLUDE_DIRS - the VAAPI include directory
10# VAAPI_LIBRARIES - the VAAPI libraries 10# VAAPI_LIBRARIES - the VAAPI libraries
11# VAAPI_DEFINITIONS - the VAAPI definitions 11# VAAPI_DEFINITIONS - the VAAPI definitions
12#
13# and the following imported targets::
14#
15# VAAPI::VAAPI - The VAAPI library
16 12
17if(PKG_CONFIG_FOUND) 13if(PKG_CONFIG_FOUND)
18 pkg_check_modules(PC_VAAPI libva libva-x11 QUIET) 14 pkg_check_modules(PC_VAAPI libva libva-drm libva-x11 QUIET)
19endif() 15endif()
20 16
21find_path(VAAPI_INCLUDE_DIR va/va.h 17set(REQUIRED_VARS "VAAPI_libva_LIBRARY" "VAAPI_libva-drm_LIBRARY" "VAAPI_libva_INCLUDE_DIR" "VAAPI_libva-drm_INCLUDE_DIR")
18
19find_path(VAAPI_libva_INCLUDE_DIR va/va.h
22 PATHS ${PC_VAAPI_libva_INCLUDEDIR}) 20 PATHS ${PC_VAAPI_libva_INCLUDEDIR})
23find_library(VAAPI_libva_LIBRARY NAMES va 21find_library(VAAPI_libva_LIBRARY NAMES va
24 PATHS ${PC_VAAPI_libva_LIBDIR}) 22 PATHS ${PC_VAAPI_libva_LIBDIR})
25find_library(VAAPI_libva-x11_LIBRARY NAMES va-x11 23find_path(VAAPI_libva-drm_INCLUDE_DIR va/va_drm.h
26 PATHS ${PC_VAAPI_libva_LIBDIR}) 24 PATHS ${PC_VAAPI_libva-drm_INCLUDEDIR})
27find_library(VAAPI_libva-drm_LIBRARY NAMES va-drm 25find_library(VAAPI_libva-drm_LIBRARY NAMES va-drm
28 PATHS ${PC_VAAPI_libva_LIBDIR}) 26 PATHS ${PC_VAAPI_libva-drm_LIBDIR})
27
28if(CORE_PLATFORM_NAME_LC STREQUAL "x11")
29 find_path(VAAPI_libva-x11_INCLUDE_DIR va/va_x11.h
30 PATHS ${PC_VAAPI_libva-x11_INCLUDEDIR})
31 find_library(VAAPI_libva-x11_LIBRARY NAMES va-x11
32 PATHS ${PC_VAAPI_libva-x11_LIBDIR})
33 list(APPEND REQUIRED_VARS "VAAPI_libva-x11_INCLUDE_DIR" "VAAPI_libva-x11_LIBRARY")
34endif()
29 35
30if(PC_VAAPI_libva_VERSION) 36if(PC_VAAPI_libva_VERSION)
31 set(VAAPI_VERSION_STRING ${PC_VAAPI_libva_VERSION}) 37 set(VAAPI_VERSION_STRING ${PC_VAAPI_libva_VERSION})
@@ -41,32 +47,14 @@ endif()
41 47
42include(FindPackageHandleStandardArgs) 48include(FindPackageHandleStandardArgs)
43find_package_handle_standard_args(VAAPI 49find_package_handle_standard_args(VAAPI
44 REQUIRED_VARS VAAPI_libva_LIBRARY VAAPI_libva-x11_LIBRARY VAAPI_libva-drm_LIBRARY VAAPI_INCLUDE_DIR 50 REQUIRED_VARS ${REQUIRED_VARS}
45 VERSION_VAR VAAPI_VERSION_STRING) 51 VERSION_VAR VAAPI_VERSION_STRING)
46 52
47if(VAAPI_FOUND) 53if(VAAPI_FOUND)
48 set(VAAPI_INCLUDE_DIRS ${VAAPI_INCLUDE_DIR}) 54 set(VAAPI_INCLUDE_DIRS ${VAAPI_INCLUDE_DIR} ${VAAPI_DRM_INCLUDE_DIR} ${VAAPI_X11_INCLUDE_DIR})
49 set(VAAPI_LIBRARIES ${VAAPI_libva_LIBRARY} ${VAAPI_libva-x11_LIBRARY} ${VAAPI_libva-drm_LIBRARY}) 55 set(VAAPI_LIBRARIES ${VAAPI_libva_LIBRARY} ${VAAPI_libva-drm_LIBRARY} ${VAAPI_libva-x11_LIBRARY})
50 set(VAAPI_DEFINITIONS -DHAVE_LIBVA=1) 56 set(VAAPI_DEFINITIONS -DHAVE_LIBVA=1)
51
52 if(NOT TARGET VAAPI::VAAPI_X11)
53 add_library(VAAPI::VAAPI_X11 UNKNOWN IMPORTED)
54 set_target_properties(VAAPI::VAAPI_X11 PROPERTIES
55 IMPORTED_LOCATION "${VAAPI_libva-x11_LIBRARY}")
56 endif()
57 if (NOT TARGET VAAPI::VAAPI_DRM)
58 add_library(VAAPI::VAAPI_DRM UNKNOWN IMPORTED)
59 set_target_properties(VAAPI::VAAPI_DRM PROPERTIES
60 IMPORTED_LOCATION "${VAAPI_libva-drm_LIBRARY}")
61 endif()
62 if(NOT TARGET VAAPI::VAAPI)
63 add_library(VAAPI::VAAPI UNKNOWN IMPORTED)
64 set_target_properties(VAAPI::VAAPI PROPERTIES
65 IMPORTED_LOCATION "${VAAPI_libva_LIBRARY}"
66 INTERFACE_INCLUDE_DIRECTORIES "${VAAPI_INCLUDE_DIR}"
67 INTERFACE_COMPILE_DEFINITIONS HAVE_LIBVA=1
68 INTERFACE_LINK_LIBRARIES "VAAPI::VAAPI_X11 VAAPI::VAAPI_DRM")
69 endif()
70endif() 57endif()
71 58
72mark_as_advanced(VAAPI_INCLUDE_DIR VAAPI_libva_LIBRARY VAAPI_libva-x11_LIBRARY VAAPI_libva-drm_LIBRARY) 59mark_as_advanced(VAAPI_libva_INCLUDE_DIR VAAPI_libva-drm_INCLUDE_DIR VAAPI_libva-x11_INCLUDE_DIR
60 VAAPI_libva_LIBRARY VAAPI_libva-drm_LIBRARY VAAPI_libva-x11_LIBRARY)