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) 14find_library(LIBDRM_LIBRARY 15 drm 16) 17find_package_handle_standard_args(LIBDRM 18 DEFAULT_MSGS 19 LIBDRM_INCLUDE_DIR 20 LIBDRM_LIBRARY 21) 22mark_as_advanced( 23 LIBDRM_INCLUDE_DIR 24 LIBDRM_LIBRARY 25) 26 27if(LIBDRM_PLATFORM_ROCKCHIP) 28find_path(LIBDRM_ROCKCHIP_INCLUDE_DIR 29 NAMES 30 rockchip_drm.h 31 PATH 32 include 33 PATH_SUFFIXES 34 libdrm 35) 36find_library(LIBDRM_ROCKCHIP_LIBRARY 37 libdrm_rockchip 38) 39find_package_handle_standard_args(LIBDRM_ROCKCHIP 40 DEFAULT_MSGS 41 LIBDRM_ROCKCHIP_INCLUDE_DIR 42 LIBDRM_ROCKCHIP_LIBRARY 43) 44mark_as_advanced( 45 LIBDRM_ROCKCHIP_INCLUDE_DIR 46 LIBDRM_ROCKCHIP_LIBRARY 47) 48endif() 49 50if(LIBDRM_FOUND) 51 if(LIBDRM_ROCKCHIP_FOUND) 52 set(LIBDRM_LIBRARIES ${LIBDRM_LIBRARY};${LIBDRM_ROCKCHIP_LIBRARY}) 53 set(LIBDRM_INCLUDE_DIRS ${LIBDRM_INCLUDE_DIR};${LIBDRM_ROCKCHIP_INCLUDE_DIR}) 54 set(LIBDRM_CFLAGS "-DHAS_LIBDRM -DHAS_LIBDRM_ROCKCHIP") 55 else() 56 set(LIBDRM_LIBRARIES ${LIBDRM_LIBRARY}) 57 set(LIBDRM_INCLUDE_DIRS ${LIBDRM_INCLUDE_DIR}) 58 set(LIBDRM_CFLAGS "-DHAS_LIBDRM") 59 endif() 60 61 if(LIBDRM_LIBRARY AND NOT TARGET libdrm::libdrm) 62 if(IS_ABSOLUTE "${LIBDRM_LIBRARY}") 63 add_library(libdrm::libdrm UNKNOWN IMPORTED) 64 set_target_properties(libdrm::libdrm PROPERTIES IMPORTED_LOCATION "${LIBDRM_LIBRARIES}") 65 else() 66 add_library(libdrm::libdrm INTERFACE IMPORTED) 67 set_target_properties(libdrm::libdrm PROPERTIES IMPORTED_LIBNAME "${LIBDRM_LIBRARIES}") 68 endif() 69 set_target_properties(libdrm::libdrm PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${LIBDRM_INCLUDE_DIRS}") 70 endif() 71endif() 72