xref: /OK3568_Linux_fs/external/camera_engine_rkaiq/rkaiq/cmake/Findlibdrm.cmake (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1find_package(PkgConfig QUIET)
2pkg_check_modules(libdrm QUIET "libdrm")
3pkg_check_modules(libdrm_rockchip QUIET "libdrm_rockchip")
4
5include(FindPackageHandleStandardArgs)
6find_path(LIBDRM_INCLUDE_DIR
7    NAMES
8    drm.h
9    PATH
10    include
11    PATH_SUFFIXES
12    drm
13)
14
15find_path(LIBDRM_XF86DRM_INCLUDE_DIR
16    NAMES
17    xf86drm.h
18    PATH
19    include
20)
21find_library(LIBDRM_LIBRARY
22    drm
23)
24
25find_package_handle_standard_args(libdrm
26    DEFAULT_MSGS
27    LIBDRM_INCLUDE_DIR
28    LIBDRM_LIBRARY
29)
30mark_as_advanced(
31    LIBDRM_INCLUDE_DIR
32    LIBDRM_LIBRARY
33)
34
35if(LIBDRM_PLATFORM_ROCKCHIP)
36find_path(LIBDRM_ROCKCHIP_INCLUDE_DIR
37    NAMES
38    rockchip_drm.h
39    PATH
40    include
41    PATH_SUFFIXES
42    libdrm
43)
44find_library(LIBDRM_ROCKCHIP_LIBRARY
45    drm_rockchip
46)
47find_package_handle_standard_args(libdrm_rockchip
48    DEFAULT_MSGS
49    LIBDRM_ROCKCHIP_INCLUDE_DIR
50    LIBDRM_ROCKCHIP_LIBRARY
51)
52mark_as_advanced(
53    LIBDRM_ROCKCHIP_INCLUDE_DIR
54    LIBDRM_ROCKCHIP_LIBRARY
55)
56endif()
57
58if(libdrm_FOUND OR libdrm_rockchip_FOUND)
59    if(libdrm_rockchip_FOUND)
60        set(LIBDRM_LIBRARIES    ${LIBDRM_LIBRARY};${LIBDRM_ROCKCHIP_LIBRARY})
61        set(LIBDRM_INCLUDE_DIRS ${LIBDRM_ROCKCHIP_INCLUDE_DIR};${LIBDRM_XF86DRM_INCLUDE_DIR};${LIBDRM_INCLUDE_DIR})
62        set(LIBDRM_CFLAGS "-DHAS_LIBDRM -DHAS_LIBDRM_ROCKCHIP")
63    else()
64        set(LIBDRM_LIBRARIES    ${LIBDRM_LIBRARY})
65        set(LIBDRM_INCLUDE_DIRS ${LIBDRM_INCLUDE_DIR})
66		set(LIBDRM_CFLAGS "-DHAS_LIBDRM" "-I${LIBDRM_INCLUDE_DIRS}")
67    endif()
68
69    if(LIBDRM_LIBRARY AND NOT TARGET libdrm::libdrm)
70        if(IS_ABSOLUTE "${LIBDRM_LIBRARY}")
71            add_library(libdrm::libdrm UNKNOWN IMPORTED)
72            set_target_properties(libdrm::libdrm PROPERTIES IMPORTED_LOCATION "${LIBDRM_LIBRARIES}")
73        else()
74            add_library(libdrm::libdrm INTERFACE IMPORTED)
75            set_target_properties(libdrm::libdrm PROPERTIES IMPORTED_LIBNAME "${LIBDRM_LIBRARIES}")
76        endif()
77        set_target_properties(libdrm::libdrm PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${LIBDRM_INCLUDE_DIRS}")
78        include_directories("${LIBDRM_INCLUDE_DIRS}")
79    endif()
80endif()
81