-
Notifications
You must be signed in to change notification settings - Fork 296
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
207 additions
and
196 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,105 @@ | ||
#.rst: | ||
# FindLibdrm | ||
# ------- | ||
# | ||
# Try to find libdrm on a Unix system. | ||
# | ||
# This will define the following variables: | ||
# | ||
# ``Libdrm_FOUND`` | ||
# True if (the requested version of) libdrm is available | ||
# ``Libdrm_VERSION`` | ||
# The version of libdrm | ||
# ``Libdrm_LIBRARIES`` | ||
# This can be passed to target_link_libraries() instead of the ``Libdrm::Libdrm`` | ||
# target | ||
# ``Libdrm_INCLUDE_DIRS`` | ||
# This should be passed to target_include_directories() if the target is not | ||
# used for linking | ||
# ``Libdrm_DEFINITIONS`` | ||
# This should be passed to target_compile_options() if the target is not | ||
# used for linking | ||
# | ||
# If ``Libdrm_FOUND`` is TRUE, it will also define the following imported target: | ||
# | ||
# ``Libdrm::Libdrm`` | ||
# The libdrm library | ||
# | ||
# In general we recommend using the imported target, as it is easier to use. | ||
# Bear in mind, however, that if the target is in the link interface of an | ||
# exported library, it must be made available by the package config file. | ||
|
||
#============================================================================= | ||
# SPDX-FileCopyrightText: 2014 Alex Merry <[email protected]> | ||
# SPDX-FileCopyrightText: 2014 Martin Gräßlin <[email protected]> | ||
# | ||
# SPDX-License-Identifier: BSD-3-Clause | ||
#============================================================================= | ||
|
||
if(CMAKE_VERSION VERSION_LESS 2.8.12) | ||
message(FATAL_ERROR "CMake 2.8.12 is required by FindLibdrm.cmake") | ||
endif() | ||
if(CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 2.8.12) | ||
message(AUTHOR_WARNING "Your project should require at least CMake 2.8.12 to use FindLibdrm.cmake") | ||
endif() | ||
|
||
if(NOT WIN32) | ||
# Use pkg-config to get the directories and then use these values | ||
# in the FIND_PATH() and FIND_LIBRARY() calls | ||
find_package(PkgConfig) | ||
pkg_check_modules(PKG_Libdrm QUIET libdrm) | ||
|
||
set(Libdrm_DEFINITIONS ${PKG_Libdrm_CFLAGS_OTHER}) | ||
set(Libdrm_VERSION ${PKG_Libdrm_VERSION}) | ||
|
||
find_path(Libdrm_INCLUDE_DIR | ||
NAMES | ||
xf86drm.h | ||
HINTS | ||
${PKG_Libdrm_INCLUDE_DIRS} | ||
) | ||
find_library(Libdrm_LIBRARY | ||
NAMES | ||
drm | ||
HINTS | ||
${PKG_Libdrm_LIBRARY_DIRS} | ||
) | ||
|
||
include(FindPackageHandleStandardArgs) | ||
find_package_handle_standard_args(Libdrm | ||
FOUND_VAR | ||
Libdrm_FOUND | ||
REQUIRED_VARS | ||
Libdrm_LIBRARY | ||
Libdrm_INCLUDE_DIR | ||
VERSION_VAR | ||
Libdrm_VERSION | ||
) | ||
|
||
if(Libdrm_FOUND AND NOT TARGET Libdrm::Libdrm) | ||
add_library(Libdrm::Libdrm UNKNOWN IMPORTED) | ||
set_target_properties(Libdrm::Libdrm PROPERTIES | ||
IMPORTED_LOCATION "${Libdrm_LIBRARY}" | ||
INTERFACE_COMPILE_OPTIONS "${Libdrm_DEFINITIONS}" | ||
INTERFACE_INCLUDE_DIRECTORIES "${Libdrm_INCLUDE_DIR}" | ||
INTERFACE_INCLUDE_DIRECTORIES "${Libdrm_INCLUDE_DIR}/libdrm" | ||
) | ||
endif() | ||
|
||
mark_as_advanced(Libdrm_LIBRARY Libdrm_INCLUDE_DIR) | ||
|
||
# compatibility variables | ||
set(Libdrm_LIBRARIES ${Libdrm_LIBRARY}) | ||
set(Libdrm_INCLUDE_DIRS ${Libdrm_INCLUDE_DIR} "${Libdrm_INCLUDE_DIR}/libdrm") | ||
set(Libdrm_VERSION_STRING ${Libdrm_VERSION}) | ||
|
||
else() | ||
message(STATUS "FindLibdrm.cmake cannot find libdrm on Windows systems.") | ||
set(Libdrm_FOUND FALSE) | ||
endif() | ||
|
||
include(FeatureSummary) | ||
set_package_properties(Libdrm PROPERTIES | ||
URL "https://wiki.freedesktop.org/dri/" | ||
DESCRIPTION "Userspace interface to kernel DRM services" | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.