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