80 lines
2.0 KiB
CMake
80 lines
2.0 KiB
CMake
find_package(PkgConfig QUIET)
|
|
pkg_check_modules(libdrm QUIET "libdrm")
|
|
pkg_check_modules(libdrm_rockchip QUIET "libdrm_rockchip")
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
find_path(LIBDRM_INCLUDE_DIR
|
|
NAMES
|
|
drm.h
|
|
PATH
|
|
include
|
|
PATH_SUFFIXES
|
|
drm
|
|
)
|
|
|
|
find_path(LIBDRM_XF86DRM_INCLUDE_DIR
|
|
NAMES
|
|
xf86drm.h
|
|
PATH
|
|
include
|
|
)
|
|
find_library(LIBDRM_LIBRARY
|
|
drm
|
|
)
|
|
|
|
find_package_handle_standard_args(libdrm
|
|
DEFAULT_MSGS
|
|
LIBDRM_INCLUDE_DIR
|
|
LIBDRM_LIBRARY
|
|
)
|
|
mark_as_advanced(
|
|
LIBDRM_INCLUDE_DIR
|
|
LIBDRM_LIBRARY
|
|
)
|
|
|
|
if(LIBDRM_PLATFORM_ROCKCHIP)
|
|
find_path(LIBDRM_ROCKCHIP_INCLUDE_DIR
|
|
NAMES
|
|
rockchip_drm.h
|
|
PATH
|
|
include
|
|
PATH_SUFFIXES
|
|
libdrm
|
|
)
|
|
find_library(LIBDRM_ROCKCHIP_LIBRARY
|
|
drm_rockchip
|
|
)
|
|
find_package_handle_standard_args(libdrm_rockchip
|
|
DEFAULT_MSGS
|
|
LIBDRM_ROCKCHIP_INCLUDE_DIR
|
|
LIBDRM_ROCKCHIP_LIBRARY
|
|
)
|
|
mark_as_advanced(
|
|
LIBDRM_ROCKCHIP_INCLUDE_DIR
|
|
LIBDRM_ROCKCHIP_LIBRARY
|
|
)
|
|
endif()
|
|
|
|
if(libdrm_FOUND OR libdrm_rockchip_FOUND)
|
|
if(libdrm_rockchip_FOUND)
|
|
set(LIBDRM_LIBRARIES ${LIBDRM_LIBRARY};${LIBDRM_ROCKCHIP_LIBRARY})
|
|
set(LIBDRM_INCLUDE_DIRS ${LIBDRM_ROCKCHIP_INCLUDE_DIR};${LIBDRM_XF86DRM_INCLUDE_DIR};${LIBDRM_INCLUDE_DIR})
|
|
set(LIBDRM_CFLAGS "-DHAS_LIBDRM -DHAS_LIBDRM_ROCKCHIP")
|
|
else()
|
|
set(LIBDRM_LIBRARIES ${LIBDRM_LIBRARY})
|
|
set(LIBDRM_INCLUDE_DIRS ${LIBDRM_INCLUDE_DIR})
|
|
set(LIBDRM_CFLAGS "-DHAS_LIBDRM")
|
|
endif()
|
|
|
|
if(LIBDRM_LIBRARY AND NOT TARGET libdrm::libdrm)
|
|
if(IS_ABSOLUTE "${LIBDRM_LIBRARY}")
|
|
add_library(libdrm::libdrm UNKNOWN IMPORTED)
|
|
set_target_properties(libdrm::libdrm PROPERTIES IMPORTED_LOCATION "${LIBDRM_LIBRARIES}")
|
|
else()
|
|
add_library(libdrm::libdrm INTERFACE IMPORTED)
|
|
set_target_properties(libdrm::libdrm PROPERTIES IMPORTED_LIBNAME "${LIBDRM_LIBRARIES}")
|
|
endif()
|
|
set_target_properties(libdrm::libdrm PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${LIBDRM_INCLUDE_DIRS}")
|
|
endif()
|
|
endif()
|