summaryrefslogtreecommitdiffstats
path: root/project/cmake/modules/FindX.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'project/cmake/modules/FindX.cmake')
-rw-r--r--project/cmake/modules/FindX.cmake62
1 files changed, 49 insertions, 13 deletions
diff --git a/project/cmake/modules/FindX.cmake b/project/cmake/modules/FindX.cmake
index d9ab5bc..19bb770 100644
--- a/project/cmake/modules/FindX.cmake
+++ b/project/cmake/modules/FindX.cmake
@@ -1,21 +1,57 @@
1# - Try to find X11 1#.rst:
2# Once done this will define 2# FindX
3# -----
4# Finds the X11 library
3# 5#
4# X11_FOUND - system has X11 6# This will will define the following variables::
5# X11_INCLUDE_DIRS - the X11 include directory 7#
6# X11_LIBRARIES - The X11 libraries 8# X_FOUND - system has X11
9# X_INCLUDE_DIRS - the X11 include directory
10# X_LIBRARIES - the X11 libraries
11# X_DEFINITIONS - the X11 definitions
12#
13# and the following imported targets::
14#
15# X::X - The X11 library
16# X::Xext - The X11 extension library
7 17
8if(PKG_CONFIG_FOUND) 18if(PKG_CONFIG_FOUND)
9 pkg_check_modules (X x11 xext libdrm egl) 19 pkg_check_modules(PC_X x11 xext QUIET)
10 list(APPEND X_INCLUDE_DIRS /usr/include)
11else()
12 find_path(X_INCLUDE_DIRS X11/Xlib.h)
13 find_library(X_LIBRARIES X11)
14endif() 20endif()
15 21
22find_path(X_INCLUDE_DIR NAMES X11/Xlib.h
23 PATHS ${PC_X_x11_INCLUDEDIR})
24find_library(X_LIBRARY NAMES X11
25 PATHS ${PC_X_x11_LIBDIR})
26find_library(X_EXT_LIBRARY NAMES Xext
27 PATHS ${PC_X_xext_LIBDIR})
28
29set(X_VERSION ${PC_X_x11_VERSION})
30
16include(FindPackageHandleStandardArgs) 31include(FindPackageHandleStandardArgs)
17find_package_handle_standard_args(X DEFAULT_MSG X_INCLUDE_DIRS X_LIBRARIES) 32find_package_handle_standard_args(X
33 REQUIRED_VARS X_LIBRARY X_EXT_LIBRARY X_INCLUDE_DIR
34 VERSION_VAR X_VERSION)
35
36if(X_FOUND)
37 set(X_LIBRARIES ${X_LIBRARY} ${X_EXT_LIBRARY})
38 set(X_INCLUDE_DIRS ${X_INCLUDE_DIR})
39 set(X_DEFINITIONS -DHAVE_X11=1)
18 40
19list(APPEND X_DEFINITIONS -DHAVE_X11=1) 41 if(NOT TARGET X::X)
42 add_library(X::X UNKNOWN IMPORTED)
43 set_target_properties(X::X PROPERTIES
44 IMPORTED_LOCATION "${X_LIBRARY}"
45 INTERFACE_INCLUDE_DIRECTORIES "${X_INCLUDE_DIR}"
46 INTERFACE_COMPILE_DEFINITIONS HAVE_X11=1)
47 endif()
48 if(NOT TARGET X::Xext)
49 add_library(X::Xext UNKNOWN IMPORTED)
50 set_target_properties(X::Xext PROPERTIES
51 IMPORTED_LOCATION "${X_EXT_LIBRARY}"
52 INTERFACE_INCLUDE_DIRECTORIES "${X_INCLUDE_DIR}"
53 INTERFACE_LINK_LIBRARIES X::X)
54 endif()
55endif()
20 56
21mark_as_advanced(X_INCLUDE_DIRS X_LIBRARIES X_DEFINITIONS) 57mark_as_advanced(X_INCLUDE_DIR X_LIBRARY X_EXT_LIBRARY)