1 # Distributed under the OSI-approved BSD 3-Clause License. See accompanying
2 # file Copyright.txt or https://cmake.org/licensing for details.
4 #[=======================================================================[.rst:
10 Try to find X11 on UNIX systems. The following values are defined
14 X11_FOUND - True if X11 is available
15 X11_INCLUDE_DIR - include directories to use X11
16 X11_LIBRARIES - link against these to use X11
18 and also the following more fine grained variables and targets:
20 .. versionadded:: 3.14
25 X11_ICE_INCLUDE_PATH, X11_ICE_LIB, X11_ICE_FOUND, X11::ICE
26 X11_SM_INCLUDE_PATH, X11_SM_LIB, X11_SM_FOUND, X11::SM
27 X11_X11_INCLUDE_PATH, X11_X11_LIB, X11::X11
28 X11_Xaccessrules_INCLUDE_PATH,
29 X11_Xaccessstr_INCLUDE_PATH, X11_Xaccess_FOUND
30 X11_Xau_INCLUDE_PATH, X11_Xau_LIB, X11_Xau_FOUND, X11::Xau
31 X11_xcb_INCLUDE_PATH, X11_xcb_LIB, X11_xcb_FOUND, X11::xcb
32 X11_X11_xcb_INCLUDE_PATH, X11_X11_xcb_LIB, X11_X11_xcb_FOUND, X11::X11_xcb
33 X11_xcb_composite_INCLUDE_PATH, X11_xcb_composite_LIB, X11_xcb_composite_FOUND, X11::xcb_composite
34 X11_xcb_cursor_INCLUDE_PATH, X11_xcb_cursor_LIB, X11_xcb_cursor_FOUND, X11::xcb_cursor
35 X11_xcb_damage_INCLUDE_PATH, X11_xcb_damage_LIB, X11_xcb_damage_FOUND, X11::xcb_damage
36 X11_xcb_dpms_INCLUDE_PATH, X11_xcb_dpms_LIB, X11_xcb_dpms_FOUND, X11::xcb_dpms
37 X11_xcb_dri2_INCLUDE_PATH, X11_xcb_dri2_LIB, X11_xcb_dri2_FOUND, X11::xcb_dri2
38 X11_xcb_dri3_INCLUDE_PATH, X11_xcb_dri3_LIB, X11_xcb_dri3_FOUND, X11::xcb_dri3
39 X11_xcb_errors_INCLUDE_PATH, X11_xcb_errors_LIB, X11_xcb_errors_FOUND, X11::xcb_errors
40 X11_xcb_ewmh_INCLUDE_PATH, X11_xcb_ewmh_LIB, X11_xcb_ewmh_FOUND, X11::xcb_ewmh
41 X11_xcb_glx_INCLUDE_PATH, X11_xcb_glx_LIB, X11_xcb_glx_FOUND, X11::xcb_glx
42 X11_xcb_icccm_INCLUDE_PATH, X11_xcb_icccm_LIB, X11_xcb_icccm_FOUND, X11::xcb_icccm
43 X11_xcb_image_INCLUDE_PATH, X11_xcb_image_LIB, X11_xcb_image_FOUND, X11::xcb_image
44 X11_xcb_keysyms_INCLUDE_PATH, X11_xcb_keysyms_LIB, X11_xcb_keysyms_FOUND, X11::xcb_keysyms
45 X11_xcb_present_INCLUDE_PATH, X11_xcb_present_LIB, X11_xcb_present_FOUND, X11::xcb_present
46 X11_xcb_randr_INCLUDE_PATH, X11_xcb_randr_LIB, X11_xcb_randr_FOUND, X11::xcb_randr
47 X11_xcb_record_INCLUDE_PATH, X11_xcb_record_LIB, X11_xcb_record_FOUND, X11::xcb_record
48 X11_xcb_render_INCLUDE_PATH, X11_xcb_render_LIB, X11_xcb_render_FOUND, X11::xcb_render
49 X11_xcb_render_util_INCLUDE_PATH,X11_xcb_render_util_LIB,X11_xcb_render_util_FOUND,X11::xcb_render_util
50 X11_xcb_res_INCLUDE_PATH, X11_xcb_res_LIB, X11_xcb_res_FOUND, X11::xcb_res
51 X11_xcb_screensaver_INCLUDE_PATH,X11_xcb_screensaver_LIB,X11_xcb_screensaver_FOUND,X11::xcb_screensaver
52 X11_xcb_shape_INCLUDE_PATH, X11_xcb_shape_LIB, X11_xcb_shape_FOUND, X11::xcb_shape
53 X11_xcb_shm_INCLUDE_PATH, X11_xcb_shm_LIB, X11_xcb_shm_FOUND, X11::xcb_shm
54 X11_xcb_sync_INCLUDE_PATH, X11_xcb_sync_LIB, X11_xcb_sync_FOUND, X11::xcb_sync
55 X11_xcb_util_INCLUDE_PATH, X11_xcb_util_LIB, X11_xcb_util_FOUND, X11::xcb_util
56 X11_xcb_xf86dri_INCLUDE_PATH, X11_xcb_xf86dri_LIB, X11_xcb_xf86dri_FOUND, X11::xcb_xf86dri
57 X11_xcb_xfixes_INCLUDE_PATH, X11_xcb_xfixes_LIB, X11_xcb_xfixes_FOUND, X11::xcb_xfixes
58 X11_xcb_xinerama_INCLUDE_PATH, X11_xcb_xinerama_LIB, X11_xcb_xinerama_FOUND, X11::xcb_xinerama
59 X11_xcb_xinput_INCLUDE_PATH, X11_xcb_xinput_LIB, X11_xcb_xinput_FOUND, X11::xcb_xinput
60 X11_xcb_xkb_INCLUDE_PATH, X11_xcb_xkb_LIB, X11_xcb_xkb_FOUND, X11::xcb_xkb
61 X11_xcb_xrm_INCLUDE_PATH, X11_xcb_xrm_LIB, X11_xcb_xrm_FOUND, X11::xcb_xrm
62 X11_xcb_xtest_INCLUDE_PATH, X11_xcb_xtest_LIB, X11_xcb_xtest_FOUND, X11::xcb_xtest
63 X11_xcb_xvmc_INCLUDE_PATH, X11_xcb_xvmc_LIB, X11_xcb_xvmc_FOUND, X11::xcb_xvmc
64 X11_xcb_xv_INCLUDE_PATH, X11_xcb_xv_LIB, X11_xcb_xv_FOUND X11::xcb_xv
65 X11_Xcomposite_INCLUDE_PATH, X11_Xcomposite_LIB, X11_Xcomposite_FOUND, X11::Xcomposite
66 X11_Xcursor_INCLUDE_PATH, X11_Xcursor_LIB, X11_Xcursor_FOUND, X11::Xcursor
67 X11_Xdamage_INCLUDE_PATH, X11_Xdamage_LIB, X11_Xdamage_FOUND, X11::Xdamage
68 X11_Xdmcp_INCLUDE_PATH, X11_Xdmcp_LIB, X11_Xdmcp_FOUND, X11::Xdmcp
69 X11_Xext_INCLUDE_PATH, X11_Xext_LIB, X11_Xext_FOUND, X11::Xext
70 X11_Xxf86misc_INCLUDE_PATH, X11_Xxf86misc_LIB, X11_Xxf86misc_FOUND, X11::Xxf86misc
71 X11_Xxf86vm_INCLUDE_PATH, X11_Xxf86vm_LIB X11_Xxf86vm_FOUND, X11::Xxf86vm
72 X11_Xfixes_INCLUDE_PATH, X11_Xfixes_LIB, X11_Xfixes_FOUND, X11::Xfixes
73 X11_Xft_INCLUDE_PATH, X11_Xft_LIB, X11_Xft_FOUND, X11::Xft
74 X11_Xi_INCLUDE_PATH, X11_Xi_LIB, X11_Xi_FOUND, X11::Xi
75 X11_Xinerama_INCLUDE_PATH, X11_Xinerama_LIB, X11_Xinerama_FOUND, X11::Xinerama
77 X11_Xkblib_INCLUDE_PATH, X11_Xkb_FOUND, X11::Xkb
78 X11_xkbcommon_INCLUDE_PATH, X11_xkbcommon_LIB, X11_xkbcommon_FOUND, X11::xkbcommon
79 X11_xkbcommon_X11_INCLUDE_PATH, X11_xkbcommon_X11_LIB, X11_xkbcommon_X11_FOUND, X11::xkbcommon_X11
80 X11_xkbfile_INCLUDE_PATH, X11_xkbfile_LIB, X11_xkbfile_FOUND, X11::xkbfile
81 X11_Xmu_INCLUDE_PATH, X11_Xmu_LIB, X11_Xmu_FOUND, X11::Xmu
82 X11_Xpm_INCLUDE_PATH, X11_Xpm_LIB, X11_Xpm_FOUND, X11::Xpm
83 X11_Xpresent_INCLUDE_PATH, X11_Xpresent_LIB, X11_Xpresent_FOUND, X11::Xpresent
84 X11_Xtst_INCLUDE_PATH, X11_Xtst_LIB, X11_Xtst_FOUND, X11::Xtst
85 X11_Xrandr_INCLUDE_PATH, X11_Xrandr_LIB, X11_Xrandr_FOUND, X11::Xrandr
86 X11_Xrender_INCLUDE_PATH, X11_Xrender_LIB, X11_Xrender_FOUND, X11::Xrender
87 X11_XRes_INCLUDE_PATH, X11_XRes_LIB, X11_XRes_FOUND, X11::XRes
88 X11_Xss_INCLUDE_PATH, X11_Xss_LIB, X11_Xss_FOUND, X11::Xss
89 X11_Xt_INCLUDE_PATH, X11_Xt_LIB, X11_Xt_FOUND, X11::Xt
90 X11_Xutil_INCLUDE_PATH, X11_Xutil_FOUND, X11::Xutil
91 X11_Xv_INCLUDE_PATH, X11_Xv_LIB, X11_Xv_FOUND, X11::Xv
92 X11_dpms_INCLUDE_PATH, (in X11_Xext_LIB), X11_dpms_FOUND
93 X11_Xdbe_INCLUDE_PATH, (in X11_Xext_LIB), X11_Xdbe_FOUND
94 X11_XShm_INCLUDE_PATH, (in X11_Xext_LIB), X11_XShm_FOUND
95 X11_Xshape_INCLUDE_PATH, (in X11_Xext_LIB), X11_Xshape_FOUND
96 X11_XSync_INCLUDE_PATH, (in X11_Xext_LIB), X11_XSync_FOUND
97 X11_Xaw_INCLUDE_PATH, X11_Xaw_LIB X11_Xaw_FOUND X11::Xaw
99 .. versionadded:: 3.14
100 Renamed ``Xxf86misc``, ``X11_Xxf86misc``, ``X11_Xxf86vm``, ``X11_xkbfile``,
101 ``X11_Xtst``, and ``X11_Xss`` libraries to match their file names.
102 Deprecated the ``X11_Xinput`` library. Old names are still available
105 .. versionadded:: 3.14
106 Added the ``X11_Xext_INCLUDE_PATH`` variable.
108 .. versionadded:: 3.18
109 Added the ``xcb``, ``X11-xcb``, ``xcb-icccm``, ``xcb-xkb``, ``xkbcommon``,
110 and ``xkbcommon-X11`` libraries.
112 .. versionadded:: 3.19
113 Added the ``Xaw``, ``xcb_util``, and ``xcb_xfixes`` libraries.
115 .. versionadded:: 3.24
116 Added the ``xcb_randr``, ``xcb_xtext``, and ``xcb_keysyms`` libraries.
118 .. versionadded:: 3.27
119 Added the ``xcb_composite``, ``xcb_cursor``, ``xcb_damage``, ``xcb_dpms``,
120 ``xcb_dri2``, ``xcb_dri3``, ``xcb_errors``, ``xcb_ewmh``, ``xcb_glx``,
121 ``xcb_image``, ``xcb_present``, ``xcb_record``, ``xcb_render``,
122 ``xcb_render_util``, ``xcb_res``, ``xcb_screensaver``, ``xcb_shape``,
123 ``xcb_shm``, ``xcb_sync``, ``xcb_xf86dri``, ``xcb_xinerama``, ``xcb_xinput``,
124 ``xcb_xrm``, ``xcb_xvmc``, and ``xcb_xv`` libraries.
126 .. versionadded:: 3.29
127 Added coverage of double buffer extension (variables
128 ``X11_Xdbe_INCLUDE_PATH`` and ``X11_Xdbe_FOUND``).
130 #]=======================================================================]
134 # X11 is never a framework and some header files may be
135 # found in tcl on the mac
136 set(CMAKE_FIND_FRAMEWORK_SAVE ${CMAKE_FIND_FRAMEWORK})
137 set(CMAKE_FIND_FRAMEWORK NEVER)
138 set(CMAKE_REQUIRED_QUIET_SAVE ${CMAKE_REQUIRED_QUIET})
139 set(CMAKE_REQUIRED_QUIET ${X11_FIND_QUIETLY})
140 set(X11_INC_SEARCH_PATH
141 /usr/pkg/xorg/include
146 /usr/openwin/share/include
147 /opt/graphics/OpenGL/include
151 set(X11_LIB_SEARCH_PATH
159 find_path(X11_X11_INCLUDE_PATH X11/X.h ${X11_INC_SEARCH_PATH})
160 find_path(X11_Xlib_INCLUDE_PATH X11/Xlib.h ${X11_INC_SEARCH_PATH})
162 # Look for includes; keep the list sorted by name of the cmake *_INCLUDE_PATH
163 # variable (which doesn't need to match the include file name).
165 # Solaris lacks XKBrules.h, so we should skip kxkbd there.
166 find_path(X11_ICE_INCLUDE_PATH X11/ICE/ICE.h ${X11_INC_SEARCH_PATH})
167 find_path(X11_SM_INCLUDE_PATH X11/SM/SM.h ${X11_INC_SEARCH_PATH})
168 find_path(X11_Xaccessrules_INCLUDE_PATH X11/extensions/XKBrules.h ${X11_INC_SEARCH_PATH})
169 find_path(X11_Xaccessstr_INCLUDE_PATH X11/extensions/XKBstr.h ${X11_INC_SEARCH_PATH})
170 find_path(X11_Xau_INCLUDE_PATH X11/Xauth.h ${X11_INC_SEARCH_PATH})
171 find_path(X11_Xaw_INCLUDE_PATH X11/Xaw/Box.h ${X11_INC_SEARCH_PATH})
172 find_path(X11_xcb_INCLUDE_PATH xcb/xcb.h ${X11_INC_SEARCH_PATH})
173 find_path(X11_X11_xcb_INCLUDE_PATH X11/Xlib-xcb.h ${X11_INC_SEARCH_PATH})
174 find_path(X11_xcb_composite_INCLUDE_PATH xcb/composite.h ${X11_INC_SEARCH_PATH})
175 find_path(X11_xcb_cursor_INCLUDE_PATH xcb/xcb_cursor.h ${X11_INC_SEARCH_PATH})
176 find_path(X11_xcb_damage_INCLUDE_PATH xcb/damage.h ${X11_INC_SEARCH_PATH})
177 find_path(X11_xcb_dpms_INCLUDE_PATH xcb/dpms.h ${X11_INC_SEARCH_PATH})
178 find_path(X11_xcb_dri2_INCLUDE_PATH xcb/dri2.h ${X11_INC_SEARCH_PATH})
179 find_path(X11_xcb_dri3_INCLUDE_PATH xcb/dri3.h ${X11_INC_SEARCH_PATH})
180 find_path(X11_xcb_errors_INCLUDE_PATH xcb/xcb_errors.h ${X11_INC_SEARCH_PATH})
181 find_path(X11_xcb_ewmh_INCLUDE_PATH xcb/xcb_ewmh.h ${X11_INC_SEARCH_PATH})
182 find_path(X11_xcb_glx_INCLUDE_PATH xcb/glx.h ${X11_INC_SEARCH_PATH})
183 find_path(X11_xcb_icccm_INCLUDE_PATH xcb/xcb_icccm.h ${X11_INC_SEARCH_PATH})
184 find_path(X11_xcb_image_INCLUDE_PATH xcb/xcb_image.h ${X11_INC_SEARCH_PATH})
185 find_path(X11_xcb_keysyms_INCLUDE_PATH xcb/xcb_keysyms.h ${X11_INC_SEARCH_PATH})
186 find_path(X11_xcb_present_INCLUDE_PATH xcb/present.h ${X11_INC_SEARCH_PATH})
187 find_path(X11_xcb_randr_INCLUDE_PATH xcb/randr.h ${X11_INC_SEARCH_PATH})
188 find_path(X11_xcb_record_INCLUDE_PATH xcb/record.h ${X11_INC_SEARCH_PATH})
189 find_path(X11_xcb_render_INCLUDE_PATH xcb/render.h ${X11_INC_SEARCH_PATH})
190 find_path(X11_xcb_render_util_INCLUDE_PATH xcb/xcb_renderutil.h ${X11_INC_SEARCH_PATH})
191 find_path(X11_xcb_res_INCLUDE_PATH xcb/res.h ${X11_INC_SEARCH_PATH})
192 find_path(X11_xcb_screensaver_INCLUDE_PATH xcb/screensaver.h ${X11_INC_SEARCH_PATH})
193 find_path(X11_xcb_shape_INCLUDE_PATH xcb/shape.h ${X11_INC_SEARCH_PATH})
194 find_path(X11_xcb_shm_INCLUDE_PATH xcb/shm.h ${X11_INC_SEARCH_PATH})
195 find_path(X11_xcb_sync_INCLUDE_PATH xcb/sync.h ${X11_INC_SEARCH_PATH})
196 find_path(X11_xcb_util_INCLUDE_PATH xcb/xcb_aux.h ${X11_INC_SEARCH_PATH})
197 find_path(X11_xcb_xf86dri_INCLUDE_PATH xcb/xf86dri.h ${X11_INC_SEARCH_PATH})
198 find_path(X11_xcb_xfixes_INCLUDE_PATH xcb/xfixes.h ${X11_INC_SEARCH_PATH})
199 find_path(X11_xcb_xinerama_INCLUDE_PATH xcb/xinerama.h ${X11_INC_SEARCH_PATH})
200 find_path(X11_xcb_xinput_INCLUDE_PATH xcb/xinput.h ${X11_INC_SEARCH_PATH})
201 find_path(X11_xcb_xkb_INCLUDE_PATH xcb/xkb.h ${X11_INC_SEARCH_PATH})
202 find_path(X11_xcb_xrm_INCLUDE_PATH xcb/xcb_xrm.h ${X11_INC_SEARCH_PATH})
203 find_path(X11_xcb_xtest_INCLUDE_PATH xcb/xtest.h ${X11_INC_SEARCH_PATH})
204 find_path(X11_xcb_xvmc_INCLUDE_PATH xcb/xvmc.h ${X11_INC_SEARCH_PATH})
205 find_path(X11_xcb_xv_INCLUDE_PATH xcb/xv.h ${X11_INC_SEARCH_PATH})
206 find_path(X11_Xcomposite_INCLUDE_PATH X11/extensions/Xcomposite.h ${X11_INC_SEARCH_PATH})
207 find_path(X11_Xcursor_INCLUDE_PATH X11/Xcursor/Xcursor.h ${X11_INC_SEARCH_PATH})
208 find_path(X11_Xdamage_INCLUDE_PATH X11/extensions/Xdamage.h ${X11_INC_SEARCH_PATH})
209 find_path(X11_Xdbe_INCLUDE_PATH X11/extensions/Xdbe.h ${X11_INC_SEARCH_PATH})
210 find_path(X11_Xdmcp_INCLUDE_PATH X11/Xdmcp.h ${X11_INC_SEARCH_PATH})
211 find_path(X11_Xext_INCLUDE_PATH X11/extensions/Xext.h ${X11_INC_SEARCH_PATH})
212 find_path(X11_dpms_INCLUDE_PATH X11/extensions/dpms.h ${X11_INC_SEARCH_PATH})
213 find_path(X11_Xxf86misc_INCLUDE_PATH X11/extensions/xf86misc.h ${X11_INC_SEARCH_PATH})
214 find_path(X11_Xxf86vm_INCLUDE_PATH X11/extensions/xf86vmode.h ${X11_INC_SEARCH_PATH})
215 find_path(X11_Xfixes_INCLUDE_PATH X11/extensions/Xfixes.h ${X11_INC_SEARCH_PATH})
216 find_path(X11_Xft_INCLUDE_PATH X11/Xft/Xft.h ${X11_INC_SEARCH_PATH})
217 find_path(X11_Xi_INCLUDE_PATH X11/extensions/XInput.h ${X11_INC_SEARCH_PATH})
218 find_path(X11_Xinerama_INCLUDE_PATH X11/extensions/Xinerama.h ${X11_INC_SEARCH_PATH})
219 find_path(X11_Xkb_INCLUDE_PATH X11/extensions/XKB.h ${X11_INC_SEARCH_PATH})
220 find_path(X11_xkbcommon_INCLUDE_PATH xkbcommon/xkbcommon.h ${X11_INC_SEARCH_PATH})
221 find_path(X11_xkbcommon_X11_INCLUDE_PATH xkbcommon/xkbcommon-x11.h ${X11_INC_SEARCH_PATH})
222 find_path(X11_Xkblib_INCLUDE_PATH X11/XKBlib.h ${X11_INC_SEARCH_PATH})
223 find_path(X11_xkbfile_INCLUDE_PATH X11/extensions/XKBfile.h ${X11_INC_SEARCH_PATH})
224 find_path(X11_Xmu_INCLUDE_PATH X11/Xmu/Xmu.h ${X11_INC_SEARCH_PATH})
225 find_path(X11_Xpm_INCLUDE_PATH X11/xpm.h ${X11_INC_SEARCH_PATH})
226 find_path(X11_Xpresent_INCLUDE_PATH X11/extensions/Xpresent.h ${X11_INC_SEARCH_PATH})
227 find_path(X11_Xtst_INCLUDE_PATH X11/extensions/XTest.h ${X11_INC_SEARCH_PATH})
228 find_path(X11_XShm_INCLUDE_PATH X11/extensions/XShm.h ${X11_INC_SEARCH_PATH})
229 find_path(X11_Xrandr_INCLUDE_PATH X11/extensions/Xrandr.h ${X11_INC_SEARCH_PATH})
230 find_path(X11_Xrender_INCLUDE_PATH X11/extensions/Xrender.h ${X11_INC_SEARCH_PATH})
231 find_path(X11_XRes_INCLUDE_PATH X11/extensions/XRes.h ${X11_INC_SEARCH_PATH})
232 find_path(X11_Xss_INCLUDE_PATH X11/extensions/scrnsaver.h ${X11_INC_SEARCH_PATH})
233 find_path(X11_Xshape_INCLUDE_PATH X11/extensions/shape.h ${X11_INC_SEARCH_PATH})
234 find_path(X11_Xutil_INCLUDE_PATH X11/Xutil.h ${X11_INC_SEARCH_PATH})
235 find_path(X11_Xt_INCLUDE_PATH X11/Intrinsic.h ${X11_INC_SEARCH_PATH})
236 find_path(X11_Xv_INCLUDE_PATH X11/extensions/Xvlib.h ${X11_INC_SEARCH_PATH})
237 find_path(X11_XSync_INCLUDE_PATH X11/extensions/sync.h ${X11_INC_SEARCH_PATH})
241 # Backwards compatibility.
242 set(X11_Xinput_INCLUDE_PATH "${X11_Xi_INCLUDE_PATH}")
243 set(X11_xf86misc_INCLUDE_PATH "${X11_Xxf86misc_INCLUDE_PATH}")
244 set(X11_xf86vmode_INCLUDE_PATH "${X11_Xxf8vm_INCLUDE_PATH}")
245 set(X11_Xkbfile_INCLUDE_PATH "${X11_xkbfile_INCLUDE_PATH}")
246 set(X11_XTest_INCLUDE_PATH "${X11_Xtst_INCLUDE_PATH}")
247 set(X11_Xscreensaver_INCLUDE_PATH "${X11_Xss_INCLUDE_PATH}")
249 find_library(X11_X11_LIB X11 ${X11_LIB_SEARCH_PATH})
251 # Find additional X libraries. Keep list sorted by library name.
252 find_library(X11_ICE_LIB ICE ${X11_LIB_SEARCH_PATH})
253 find_library(X11_SM_LIB SM ${X11_LIB_SEARCH_PATH})
254 find_library(X11_Xau_LIB Xau ${X11_LIB_SEARCH_PATH})
255 find_library(X11_Xaw_LIB Xaw ${X11_LIB_SEARCH_PATH})
256 find_library(X11_xcb_LIB xcb ${X11_LIB_SEARCH_PATH})
257 find_library(X11_X11_xcb_LIB X11-xcb ${X11_LIB_SEARCH_PATH})
258 find_library(X11_xcb_composite_LIB xcb-composite ${X11_LIB_SEARCH_PATH})
259 find_library(X11_xcb_cursor_LIB xcb-cursor ${X11_LIB_SEARCH_PATH})
260 find_library(X11_xcb_damage_LIB xcb-damage ${X11_LIB_SEARCH_PATH})
261 find_library(X11_xcb_dpms_LIB xcb-dpms ${X11_LIB_SEARCH_PATH})
262 find_library(X11_xcb_dri2_LIB xcb-dri2 ${X11_LIB_SEARCH_PATH})
263 find_library(X11_xcb_dri3_LIB xcb-dri3 ${X11_LIB_SEARCH_PATH})
264 find_library(X11_xcb_errors_LIB xcb-errors ${X11_LIB_SEARCH_PATH})
265 find_library(X11_xcb_ewmh_LIB xcb-ewmh ${X11_LIB_SEARCH_PATH})
266 find_library(X11_xcb_glx_LIB xcb-glx ${X11_LIB_SEARCH_PATH})
267 find_library(X11_xcb_icccm_LIB xcb-icccm ${X11_LIB_SEARCH_PATH})
268 find_library(X11_xcb_image_LIB xcb-image ${X11_LIB_SEARCH_PATH})
269 find_library(X11_xcb_keysyms_LIB xcb-keysyms ${X11_LIB_SEARCH_PATH})
270 find_library(X11_xcb_present_LIB xcb-present ${X11_LIB_SEARCH_PATH})
271 find_library(X11_xcb_randr_LIB xcb-randr ${X11_LIB_SEARCH_PATH})
272 find_library(X11_xcb_record_LIB xcb-record ${X11_LIB_SEARCH_PATH})
273 find_library(X11_xcb_render_LIB xcb-render ${X11_LIB_SEARCH_PATH})
274 find_library(X11_xcb_render_util_LIB xcb-render-util ${X11_LIB_SEARCH_PATH})
275 find_library(X11_xcb_res_LIB xcb-res ${X11_LIB_SEARCH_PATH})
276 find_library(X11_xcb_screensaver_LIB xcb-screensaver ${X11_LIB_SEARCH_PATH})
277 find_library(X11_xcb_shape_LIB xcb-shape ${X11_LIB_SEARCH_PATH})
278 find_library(X11_xcb_shm_LIB xcb-shm ${X11_LIB_SEARCH_PATH})
279 find_library(X11_xcb_sync_LIB xcb-sync ${X11_LIB_SEARCH_PATH})
280 find_library(X11_xcb_util_LIB xcb-util ${X11_LIB_SEARCH_PATH})
281 find_library(X11_xcb_xf86dri_LIB xcb-xf86dri ${X11_LIB_SEARCH_PATH})
282 find_library(X11_xcb_xfixes_LIB xcb-xfixes ${X11_LIB_SEARCH_PATH})
283 find_library(X11_xcb_xinerama_LIB xcb-xinerama ${X11_LIB_SEARCH_PATH})
284 find_library(X11_xcb_xinput_LIB xcb-xinput ${X11_LIB_SEARCH_PATH})
285 find_library(X11_xcb_xkb_LIB xcb-xkb ${X11_LIB_SEARCH_PATH})
286 find_library(X11_xcb_xrm_LIB xcb-xrm ${X11_LIB_SEARCH_PATH})
287 find_library(X11_xcb_xtest_LIB xcb-xtest ${X11_LIB_SEARCH_PATH})
288 find_library(X11_xcb_xvmc_LIB xcb-xvmc ${X11_LIB_SEARCH_PATH})
289 find_library(X11_xcb_xv_LIB xcb-xv ${X11_LIB_SEARCH_PATH})
290 find_library(X11_Xcomposite_LIB Xcomposite ${X11_LIB_SEARCH_PATH})
291 find_library(X11_Xcursor_LIB Xcursor ${X11_LIB_SEARCH_PATH})
292 find_library(X11_Xdamage_LIB Xdamage ${X11_LIB_SEARCH_PATH})
293 find_library(X11_Xdmcp_LIB Xdmcp ${X11_LIB_SEARCH_PATH})
294 find_library(X11_Xext_LIB Xext ${X11_LIB_SEARCH_PATH})
295 find_library(X11_Xfixes_LIB Xfixes ${X11_LIB_SEARCH_PATH})
296 find_library(X11_Xft_LIB Xft ${X11_LIB_SEARCH_PATH})
297 find_library(X11_Xi_LIB Xi ${X11_LIB_SEARCH_PATH})
298 find_library(X11_Xinerama_LIB Xinerama ${X11_LIB_SEARCH_PATH})
299 find_library(X11_xkbcommon_LIB xkbcommon ${X11_LIB_SEARCH_PATH})
300 find_library(X11_xkbcommon_X11_LIB xkbcommon-x11 ${X11_LIB_SEARCH_PATH})
301 find_library(X11_xkbfile_LIB xkbfile ${X11_LIB_SEARCH_PATH})
302 find_library(X11_Xmu_LIB Xmu ${X11_LIB_SEARCH_PATH})
303 find_library(X11_Xpm_LIB Xpm ${X11_LIB_SEARCH_PATH})
304 find_library(X11_Xpresent_LIB Xpresent ${X11_LIB_SEARCH_PATH})
305 find_library(X11_Xrandr_LIB Xrandr ${X11_LIB_SEARCH_PATH})
306 find_library(X11_Xrender_LIB Xrender ${X11_LIB_SEARCH_PATH})
307 find_library(X11_XRes_LIB XRes ${X11_LIB_SEARCH_PATH})
308 find_library(X11_Xss_LIB Xss ${X11_LIB_SEARCH_PATH})
309 find_library(X11_Xt_LIB Xt ${X11_LIB_SEARCH_PATH})
310 find_library(X11_Xtst_LIB Xtst ${X11_LIB_SEARCH_PATH})
311 find_library(X11_Xv_LIB Xv ${X11_LIB_SEARCH_PATH})
312 find_library(X11_Xxf86misc_LIB Xxf86misc ${X11_LIB_SEARCH_PATH})
313 find_library(X11_Xxf86vm_LIB Xxf86vm ${X11_LIB_SEARCH_PATH})
315 # Backwards compatibility.
316 set(X11_Xinput_LIB "${X11_Xi_LIB}")
317 set(X11_Xkbfile_LIB "${X11_xkbfile_LIB}")
318 set(X11_XTest_LIB "${X11_Xtst_LIB}")
319 set(X11_Xscreensaver_LIB "${X11_Xss_LIB}")
321 set(X11_LIBRARY_DIR "")
323 get_filename_component(X11_LIBRARY_DIR ${X11_X11_LIB} PATH)
326 set(X11_INCLUDE_DIR) # start with empty list
327 if(X11_X11_INCLUDE_PATH)
328 list(APPEND X11_INCLUDE_DIR ${X11_X11_INCLUDE_PATH})
331 if(X11_Xlib_INCLUDE_PATH)
332 list(APPEND X11_INCLUDE_DIR ${X11_Xlib_INCLUDE_PATH})
335 if(X11_Xutil_INCLUDE_PATH)
336 set(X11_Xutil_FOUND TRUE)
337 list(APPEND X11_INCLUDE_DIR ${X11_Xutil_INCLUDE_PATH})
340 if(X11_Xshape_INCLUDE_PATH)
341 set(X11_Xshape_FOUND TRUE)
342 list(APPEND X11_INCLUDE_DIR ${X11_Xshape_INCLUDE_PATH})
345 set(X11_LIBRARIES) # start with empty list
347 list(APPEND X11_LIBRARIES ${X11_X11_LIB})
351 set(X11_Xext_FOUND TRUE)
352 list(APPEND X11_LIBRARIES ${X11_Xext_LIB})
355 if(X11_Xt_LIB AND X11_Xt_INCLUDE_PATH)
356 set(X11_Xt_FOUND TRUE)
359 if(X11_Xft_LIB AND X11_Xft_INCLUDE_PATH)
360 find_package(Freetype QUIET)
361 find_package(Fontconfig QUIET)
362 if (FREETYPE_FOUND AND Fontconfig_FOUND)
363 set(X11_Xft_FOUND TRUE)
365 list(APPEND X11_INCLUDE_DIR ${X11_Xft_INCLUDE_PATH})
368 if(X11_Xv_LIB AND X11_Xv_INCLUDE_PATH)
369 set(X11_Xv_FOUND TRUE)
370 list(APPEND X11_INCLUDE_DIR ${X11_Xv_INCLUDE_PATH})
373 if (X11_Xau_LIB AND X11_Xau_INCLUDE_PATH)
374 set(X11_Xau_FOUND TRUE)
377 if (X11_xcb_LIB AND X11_xcb_INCLUDE_PATH)
378 set(X11_xcb_FOUND TRUE)
381 if (X11_X11_xcb_LIB AND X11_X11_xcb_INCLUDE_PATH)
382 set(X11_X11_xcb_FOUND TRUE)
385 if (X11_xcb_composite_LIB AND X11_xcb_composite_INCLUDE_PATH)
386 set(X11_xcb_composite_FOUND TRUE)
389 if (X11_xcb_cursor_LIB AND X11_xcb_cursor_INCLUDE_PATH)
390 set(X11_xcb_cursor_FOUND TRUE)
393 if (X11_xcb_damage_LIB AND X11_xcb_damage_INCLUDE_PATH)
394 set(X11_xcb_damage_FOUND TRUE)
397 if (X11_xcb_dpms_LIB AND X11_xcb_dpms_INCLUDE_PATH)
398 set(X11_xcb_dpms_FOUND TRUE)
401 if (X11_xcb_dri2_LIB AND X11_xcb_dri2_INCLUDE_PATH)
402 set(X11_xcb_dri2_FOUND TRUE)
405 if (X11_xcb_dri3_LIB AND X11_xcb_dri3_INCLUDE_PATH)
406 set(X11_xcb_dri3_FOUND TRUE)
409 if (X11_xcb_errors_LIB AND X11_xcb_errors_INCLUDE_PATH)
410 set(X11_xcb_errors_FOUND TRUE)
413 if (X11_xcb_ewmh_LIB AND X11_xcb_ewmh_INCLUDE_PATH)
414 set(X11_xcb_ewmh_FOUND TRUE)
417 if (X11_xcb_glx_LIB AND X11_xcb_glx_INCLUDE_PATH)
418 set(X11_xcb_glx_FOUND TRUE)
421 if (X11_xcb_icccm_LIB AND X11_xcb_icccm_INCLUDE_PATH)
422 set(X11_xcb_icccm_FOUND TRUE)
425 if (X11_xcb_image_LIB AND X11_xcb_image_INCLUDE_PATH)
426 set(X11_xcb_image_FOUND TRUE)
429 if (X11_xcb_keysyms_LIB AND X11_xcb_keysyms_INCLUDE_PATH)
430 set(X11_xcb_keysyms_FOUND TRUE)
433 if (X11_xcb_present_LIB AND X11_xcb_present_INCLUDE_PATH)
434 set(X11_xcb_present_FOUND TRUE)
437 if (X11_xcb_randr_LIB AND X11_xcb_randr_INCLUDE_PATH)
438 set(X11_xcb_randr_FOUND TRUE)
441 if (X11_xcb_record_LIB AND X11_xcb_record_INCLUDE_PATH)
442 set(X11_xcb_record_FOUND TRUE)
445 if (X11_xcb_render_LIB AND X11_xcb_render_INCLUDE_PATH)
446 set(X11_xcb_render_FOUND TRUE)
449 if (X11_xcb_render_util_LIB AND X11_xcb_render_util_INCLUDE_PATH)
450 set(X11_xcb_render_util_FOUND TRUE)
453 if (X11_xcb_res_LIB AND X11_xcb_res_INCLUDE_PATH)
454 set(X11_xcb_res_FOUND TRUE)
457 if (X11_xcb_screensaver_LIB AND X11_xcb_screensaver_INCLUDE_PATH)
458 set(X11_xcb_screensaver_FOUND TRUE)
461 if (X11_xcb_shape_LIB AND X11_xcb_shape_INCLUDE_PATH)
462 set(X11_xcb_shape_FOUND TRUE)
465 if (X11_xcb_shm_LIB AND X11_xcb_shm_INCLUDE_PATH)
466 set(X11_xcb_shm_FOUND TRUE)
469 if (X11_xcb_sync_LIB AND X11_xcb_sync_INCLUDE_PATH)
470 set(X11_xcb_sync_FOUND TRUE)
473 if (X11_xcb_util_LIB AND X11_xcb_util_INCLUDE_PATH)
474 set(X11_xcb_util_FOUND TRUE)
477 if (X11_xcb_xf86dri_LIB AND X11_xcb_xf86dri_INCLUDE_PATH)
478 set(X11_xcb_xf86dri_FOUND TRUE)
481 if (X11_xcb_xfixes_LIB AND X11_xcb_xfixes_INCLUDE_PATH)
482 set(X11_xcb_xfixes_FOUND TRUE)
485 if (X11_xcb_xinerama_LIB AND X11_xcb_xinerama_INCLUDE_PATH)
486 set(X11_xcb_xinerama_FOUND TRUE)
489 if (X11_xcb_xinput_LIB AND X11_xcb_xinput_INCLUDE_PATH)
490 set(X11_xcb_xinput_FOUND TRUE)
493 if (X11_xcb_xkb_LIB AND X11_xcb_xkb_INCLUDE_PATH)
494 set(X11_xcb_xkb_FOUND TRUE)
497 if (X11_xcb_xrm_LIB AND X11_xcb_xrm_INCLUDE_PATH)
498 set(X11_xcb_xrm_FOUND TRUE)
501 if (X11_xcb_xtest_LIB AND X11_xcb_xtest_INCLUDE_PATH)
502 set(X11_xcb_xtest_FOUND TRUE)
505 if (X11_xcb_xvmc_LIB AND X11_xcb_xvmc_INCLUDE_PATH)
506 set(X11_xcb_xvmc_FOUND TRUE)
509 if (X11_xcb_xv_LIB AND X11_xcb_xv_INCLUDE_PATH)
510 set(X11_xcb_xv_FOUND TRUE)
513 if (X11_Xdmcp_INCLUDE_PATH AND X11_Xdmcp_LIB)
514 set(X11_Xdmcp_FOUND TRUE)
515 list(APPEND X11_INCLUDE_DIR ${X11_Xdmcp_INCLUDE_PATH})
518 if (X11_Xaccessrules_INCLUDE_PATH AND X11_Xaccessstr_INCLUDE_PATH)
519 set(X11_Xaccess_FOUND TRUE)
520 set(X11_Xaccess_INCLUDE_PATH ${X11_Xaccessstr_INCLUDE_PATH})
521 list(APPEND X11_INCLUDE_DIR ${X11_Xaccess_INCLUDE_PATH})
524 if (X11_Xpm_INCLUDE_PATH AND X11_Xpm_LIB)
525 set(X11_Xpm_FOUND TRUE)
526 list(APPEND X11_INCLUDE_DIR ${X11_Xpm_INCLUDE_PATH})
529 if (X11_Xpresent_INCLUDE_PATH AND X11_Xpresent_LIB)
530 set(X11_Xpresent_FOUND TRUE)
531 list(APPEND X11_INCLUDE_DIR ${X11_Xpresent_INCLUDE_PATH})
534 if (X11_Xcomposite_INCLUDE_PATH AND X11_Xcomposite_LIB)
535 set(X11_Xcomposite_FOUND TRUE)
536 list(APPEND X11_INCLUDE_DIR ${X11_Xcomposite_INCLUDE_PATH})
539 if (X11_Xdamage_INCLUDE_PATH AND X11_Xdamage_LIB)
540 set(X11_Xdamage_FOUND TRUE)
541 list(APPEND X11_INCLUDE_DIR ${X11_Xdamage_INCLUDE_PATH})
544 if (X11_XShm_INCLUDE_PATH)
545 set(X11_XShm_FOUND TRUE)
546 list(APPEND X11_INCLUDE_DIR ${X11_XShm_INCLUDE_PATH})
549 if (X11_Xtst_INCLUDE_PATH AND X11_Xtst_LIB)
550 set(X11_Xtst_FOUND TRUE)
551 # Backwards compatibility.
552 set(X11_XTest_FOUND TRUE)
553 list(APPEND X11_INCLUDE_DIR ${X11_Xtst_INCLUDE_PATH})
556 if (X11_Xi_INCLUDE_PATH AND X11_Xi_LIB)
557 set(X11_Xi_FOUND TRUE)
558 # Backwards compatibility.
559 set(X11_Xinput_FOUND TRUE)
560 list(APPEND X11_INCLUDE_DIR ${X11_Xi_INCLUDE_PATH})
563 if (X11_Xinerama_INCLUDE_PATH AND X11_Xinerama_LIB)
564 set(X11_Xinerama_FOUND TRUE)
565 list(APPEND X11_INCLUDE_DIR ${X11_Xinerama_INCLUDE_PATH})
568 if (X11_Xfixes_INCLUDE_PATH AND X11_Xfixes_LIB)
569 set(X11_Xfixes_FOUND TRUE)
570 list(APPEND X11_INCLUDE_DIR ${X11_Xfixes_INCLUDE_PATH})
573 if (X11_Xrender_INCLUDE_PATH AND X11_Xrender_LIB)
574 set(X11_Xrender_FOUND TRUE)
575 list(APPEND X11_INCLUDE_DIR ${X11_Xrender_INCLUDE_PATH})
578 if (X11_XRes_INCLUDE_PATH AND X11_XRes_LIB)
579 set(X11_XRes_FOUND TRUE)
580 list(APPEND X11_INCLUDE_DIR ${X11_XRes_INCLUDE_PATH})
583 if (X11_Xrandr_INCLUDE_PATH AND X11_Xrandr_LIB)
584 set(X11_Xrandr_FOUND TRUE)
585 list(APPEND X11_INCLUDE_DIR ${X11_Xrandr_INCLUDE_PATH})
588 if (X11_Xxf86misc_INCLUDE_PATH AND X11_Xxf86misc_LIB)
589 set(X11_Xxf86misc_FOUND TRUE)
590 # Backwards compatibility.
591 set(X11_xf86misc_FOUND TRUE)
592 list(APPEND X11_INCLUDE_DIR ${X11_Xxf86misc_INCLUDE_PATH})
595 if (X11_Xxf86vm_INCLUDE_PATH AND X11_Xxf86vm_LIB)
596 set(X11_Xxf86vm_FOUND TRUE)
597 # Backwards compatibility.
598 set(X11_xf86vmode_FOUND TRUE)
599 list(APPEND X11_INCLUDE_DIR ${X11_Xxf86vm_INCLUDE_PATH})
602 if (X11_Xcursor_INCLUDE_PATH AND X11_Xcursor_LIB)
603 set(X11_Xcursor_FOUND TRUE)
604 list(APPEND X11_INCLUDE_DIR ${X11_Xcursor_INCLUDE_PATH})
607 if (X11_Xss_INCLUDE_PATH AND X11_Xss_LIB)
608 set(X11_Xss_FOUND TRUE)
609 set(X11_Xscreensaver_FOUND TRUE)
610 list(APPEND X11_INCLUDE_DIR ${X11_Xss_INCLUDE_PATH})
613 if (X11_dpms_INCLUDE_PATH)
614 set(X11_dpms_FOUND TRUE)
615 list(APPEND X11_INCLUDE_DIR ${X11_dpms_INCLUDE_PATH})
618 if (X11_Xkb_INCLUDE_PATH AND X11_Xkblib_INCLUDE_PATH AND X11_Xlib_INCLUDE_PATH)
619 set(X11_Xkb_FOUND TRUE)
620 list(APPEND X11_INCLUDE_DIR ${X11_Xkb_INCLUDE_PATH} )
623 if (X11_xkbcommon_INCLUDE_PATH AND X11_xkbcommon_LIB)
624 set(X11_xkbcommon_FOUND TRUE)
627 if (X11_xkbcommon_X11_INCLUDE_PATH AND X11_xkbcommon_X11_LIB)
628 set(X11_xkbcommon_X11_FOUND TRUE)
631 if (X11_xkbfile_INCLUDE_PATH AND X11_xkbfile_LIB AND X11_Xlib_INCLUDE_PATH)
632 set(X11_xkbfile_FOUND TRUE)
633 # Backwards compatibility.
634 set(X11_Xkbfile_FOUND TRUE)
635 list(APPEND X11_INCLUDE_DIR ${X11_xkbfile_INCLUDE_PATH} )
638 if (X11_Xmu_INCLUDE_PATH AND X11_Xmu_LIB)
639 set(X11_Xmu_FOUND TRUE)
640 list(APPEND X11_INCLUDE_DIR ${X11_Xmu_INCLUDE_PATH})
643 if (X11_XSync_INCLUDE_PATH)
644 set(X11_XSync_FOUND TRUE)
645 list(APPEND X11_INCLUDE_DIR ${X11_XSync_INCLUDE_PATH})
648 if(X11_ICE_LIB AND X11_ICE_INCLUDE_PATH)
649 set(X11_ICE_FOUND TRUE)
652 if(X11_SM_LIB AND X11_SM_INCLUDE_PATH)
653 set(X11_SM_FOUND TRUE)
656 if(X11_Xaw_LIB AND X11_Xaw_INCLUDE_PATH)
657 set(X11_Xaw_FOUND TRUE)
660 if (X11_Xdbe_INCLUDE_PATH)
661 set(X11_Xdbe_FOUND TRUE)
662 list(APPEND X11_INCLUDE_DIR ${X11_Xdbe_INCLUDE_PATH})
665 # Most of the X11 headers will be in the same directories, avoid
666 # creating a huge list of duplicates.
668 list(REMOVE_DUPLICATES X11_INCLUDE_DIR)
671 # Deprecated variable for backwards compatibility with CMake 1.4
672 if (X11_X11_INCLUDE_PATH AND X11_LIBRARIES)
676 include(FindPackageHandleStandardArgs)
677 if (CMAKE_FIND_PACKAGE_NAME STREQUAL "FLTK")
678 # FindFLTK include()'s this module. It's an old pattern, but rather than
679 # trying to suppress this from outside the module (which is then sensitive
680 # to the contents, detect the case in this module and suppress it
682 set(FPHSA_NAME_MISMATCHED 1)
684 find_package_handle_standard_args(X11
685 REQUIRED_VARS X11_X11_INCLUDE_PATH X11_X11_LIB
687 unset(FPHSA_NAME_MISMATCHED)
690 include(${CMAKE_CURRENT_LIST_DIR}/CheckFunctionExists.cmake)
691 include(${CMAKE_CURRENT_LIST_DIR}/CheckLibraryExists.cmake)
693 # Translated from an autoconf-generated configure script.
694 # See libs.m4 in autoconf's m4 directory.
695 if($ENV{ISC} MATCHES "^yes$")
696 set(X11_X_EXTRA_LIBS -lnsl_s -linet)
698 set(X11_X_EXTRA_LIBS "")
700 # See if XOpenDisplay in X11 works by itself.
701 check_library_exists("${X11_LIBRARIES}" "XOpenDisplay" "${X11_LIBRARY_DIR}" X11_LIB_X11_SOLO)
702 if(NOT X11_LIB_X11_SOLO)
703 # Find library needed for dnet_ntoa.
704 check_library_exists("dnet" "dnet_ntoa" "" X11_LIB_DNET_HAS_DNET_NTOA)
705 if (X11_LIB_DNET_HAS_DNET_NTOA)
706 list(APPEND X11_X_EXTRA_LIBS -ldnet)
708 check_library_exists("dnet_stub" "dnet_ntoa" "" X11_LIB_DNET_STUB_HAS_DNET_NTOA)
709 if (X11_LIB_DNET_STUB_HAS_DNET_NTOA)
710 list(APPEND X11_X_EXTRA_LIBS -ldnet_stub)
715 # Find library needed for gethostbyname.
716 check_function_exists("gethostbyname" CMAKE_HAVE_GETHOSTBYNAME)
717 if(NOT CMAKE_HAVE_GETHOSTBYNAME)
718 check_library_exists("nsl" "gethostbyname" "" CMAKE_LIB_NSL_HAS_GETHOSTBYNAME)
719 if (CMAKE_LIB_NSL_HAS_GETHOSTBYNAME)
720 list(APPEND X11_X_EXTRA_LIBS -lnsl)
722 check_library_exists("bsd" "gethostbyname" "" CMAKE_LIB_BSD_HAS_GETHOSTBYNAME)
723 if (CMAKE_LIB_BSD_HAS_GETHOSTBYNAME)
724 list(APPEND X11_X_EXTRA_LIBS -lbsd)
729 # Find library needed for connect.
730 check_function_exists("connect" CMAKE_HAVE_CONNECT)
731 if(NOT CMAKE_HAVE_CONNECT)
732 check_library_exists("socket" "connect" "" CMAKE_LIB_SOCKET_HAS_CONNECT)
733 if (CMAKE_LIB_SOCKET_HAS_CONNECT)
734 list(INSERT X11_X_EXTRA_LIBS 0 -lsocket)
738 # Find library needed for remove.
739 check_function_exists("remove" CMAKE_HAVE_REMOVE)
740 if(NOT CMAKE_HAVE_REMOVE)
741 check_library_exists("posix" "remove" "" CMAKE_LIB_POSIX_HAS_REMOVE)
742 if (CMAKE_LIB_POSIX_HAS_REMOVE)
743 list(APPEND X11_X_EXTRA_LIBS -lposix)
747 # Find library needed for shmat.
748 check_function_exists("shmat" CMAKE_HAVE_SHMAT)
749 if(NOT CMAKE_HAVE_SHMAT)
750 check_library_exists("ipc" "shmat" "" CMAKE_LIB_IPS_HAS_SHMAT)
751 if (CMAKE_LIB_IPS_HAS_SHMAT)
752 list(APPEND X11_X_EXTRA_LIBS -lipc)
758 check_library_exists("ICE" "IceConnectionNumber" "${X11_LIBRARY_DIR}"
759 CMAKE_LIB_ICE_HAS_ICECONNECTIONNUMBER)
760 if(CMAKE_LIB_ICE_HAS_ICECONNECTIONNUMBER)
761 set (X11_X_PRE_LIBS ${X11_ICE_LIB})
763 list(INSERT X11_X_PRE_LIBS 0 ${X11_SM_LIB})
768 # Build the final list of libraries.
769 set(X11_LIBRARIES ${X11_X_PRE_LIBS} ${X11_LIBRARIES} ${X11_X_EXTRA_LIBS})
771 if (NOT TARGET X11::X11)
772 add_library(X11::X11 UNKNOWN IMPORTED)
773 set_target_properties(X11::X11 PROPERTIES
774 IMPORTED_LOCATION "${X11_X11_LIB}"
775 INTERFACE_INCLUDE_DIRECTORIES "${X11_X11_INCLUDE_PATH}")
779 if (X11_ICE_FOUND AND NOT TARGET X11::ICE)
780 add_library(X11::ICE UNKNOWN IMPORTED)
781 set_target_properties(X11::ICE PROPERTIES
782 IMPORTED_LOCATION "${X11_ICE_LIB}"
783 INTERFACE_INCLUDE_DIRECTORIES "${X11_ICE_INCLUDE_PATH}")
786 if (X11_SM_FOUND AND NOT TARGET X11::SM)
787 add_library(X11::SM UNKNOWN IMPORTED)
788 set_target_properties(X11::SM PROPERTIES
789 IMPORTED_LOCATION "${X11_SM_LIB}"
790 INTERFACE_INCLUDE_DIRECTORIES "${X11_SM_INCLUDE_PATH}")
793 if (X11_Xau_FOUND AND NOT TARGET X11::Xau)
794 add_library(X11::Xau UNKNOWN IMPORTED)
795 set_target_properties(X11::Xau PROPERTIES
796 IMPORTED_LOCATION "${X11_Xau_LIB}"
797 INTERFACE_INCLUDE_DIRECTORIES "${X11_Xau_INCLUDE_PATH}")
800 if (X11_Xaw_FOUND AND NOT TARGET X11::Xaw)
801 add_library(X11::Xaw UNKNOWN IMPORTED)
802 set_target_properties(X11::Xaw PROPERTIES
803 IMPORTED_LOCATION "${X11_Xaw_LIB}"
804 INTERFACE_INCLUDE_DIRECTORIES "${X11_Xaw_INCLUDE_PATH}"
805 INTERFACE_LINK_LIBRARIES "X11::Xext;X11::Xmu;X11::Xt;X11::Xpm;X11::X11")
808 if (X11_xcb_FOUND AND NOT TARGET X11::xcb)
809 add_library(X11::xcb UNKNOWN IMPORTED)
810 set_target_properties(X11::xcb PROPERTIES
811 IMPORTED_LOCATION "${X11_xcb_LIB}"
812 INTERFACE_INCLUDE_DIRECTORIES "${X11_xcb_INCLUDE_PATH}")
815 if (X11_X11_xcb_FOUND AND NOT TARGET X11::X11_xcb)
816 add_library(X11::X11_xcb UNKNOWN IMPORTED)
817 set_target_properties(X11::X11_xcb PROPERTIES
818 IMPORTED_LOCATION "${X11_X11_xcb_LIB}"
819 INTERFACE_INCLUDE_DIRECTORIES "${X11_X11_xcb_INCLUDE_PATH}"
820 INTERFACE_LINK_LIBRARIES "X11::xcb;X11::X11")
823 if (X11_xcb_composite_FOUND AND NOT TARGET X11::xcb_composite)
824 add_library(X11::xcb_composite UNKNOWN IMPORTED)
825 set_target_properties(X11::xcb_composite PROPERTIES
826 IMPORTED_LOCATION "${X11_xcb_composite_LIB}"
827 INTERFACE_LINK_LIBRARIES "X11::xcb")
830 if (X11_xcb_cursor_FOUND AND NOT TARGET X11::xcb_cursor)
831 add_library(X11::xcb_cursor UNKNOWN IMPORTED)
832 set_target_properties(X11::xcb_cursor PROPERTIES
833 IMPORTED_LOCATION "${X11_xcb_cursor_LIB}"
834 INTERFACE_LINK_LIBRARIES "X11::xcb")
837 if (X11_xcb_damage_FOUND AND NOT TARGET X11::xcb_damage)
838 add_library(X11::xcb_damage UNKNOWN IMPORTED)
839 set_target_properties(X11::xcb_damage PROPERTIES
840 IMPORTED_LOCATION "${X11_xcb_damage_LIB}"
841 INTERFACE_LINK_LIBRARIES "X11::xcb")
844 if (X11_xcb_dpms_FOUND AND NOT TARGET X11::xcb_dpms)
845 add_library(X11::xcb_dpms UNKNOWN IMPORTED)
846 set_target_properties(X11::xcb_dpms PROPERTIES
847 IMPORTED_LOCATION "${X11_xcb_dpms_LIB}"
848 INTERFACE_LINK_LIBRARIES "X11::xcb")
851 if (X11_xcb_dri2_FOUND AND NOT TARGET X11::xcb_dri2)
852 add_library(X11::xcb_dri2 UNKNOWN IMPORTED)
853 set_target_properties(X11::xcb_dri2 PROPERTIES
854 IMPORTED_LOCATION "${X11_xcb_dri2_LIB}"
855 INTERFACE_LINK_LIBRARIES "X11::xcb")
858 if (X11_xcb_dri3_FOUND AND NOT TARGET X11::xcb_dri3)
859 add_library(X11::xcb_dri3 UNKNOWN IMPORTED)
860 set_target_properties(X11::xcb_dri3 PROPERTIES
861 IMPORTED_LOCATION "${X11_xcb_dri3_LIB}"
862 INTERFACE_LINK_LIBRARIES "X11::xcb")
865 if (X11_xcb_errors_FOUND AND NOT TARGET X11::xcb_errors)
866 add_library(X11::xcb_errors UNKNOWN IMPORTED)
867 set_target_properties(X11::xcb_errors PROPERTIES
868 IMPORTED_LOCATION "${X11_xcb_errors_LIB}"
869 INTERFACE_LINK_LIBRARIES "X11::xcb")
872 if (X11_xcb_ewmh_FOUND AND NOT TARGET X11::xcb_ewmh)
873 add_library(X11::xcb_ewmh UNKNOWN IMPORTED)
874 set_target_properties(X11::xcb_ewmh PROPERTIES
875 IMPORTED_LOCATION "${X11_xcb_ewmh_LIB}"
876 INTERFACE_LINK_LIBRARIES "X11::xcb")
879 if (X11_xcb_glx_FOUND AND NOT TARGET X11::xcb_glx)
880 add_library(X11::xcb_glx UNKNOWN IMPORTED)
881 set_target_properties(X11::xcb_glx PROPERTIES
882 IMPORTED_LOCATION "${X11_xcb_glx_LIB}"
883 INTERFACE_LINK_LIBRARIES "X11::xcb")
886 if (X11_xcb_icccm_FOUND AND NOT TARGET X11::xcb_icccm)
887 add_library(X11::xcb_icccm UNKNOWN IMPORTED)
888 set_target_properties(X11::xcb_icccm PROPERTIES
889 IMPORTED_LOCATION "${X11_xcb_icccm_LIB}"
890 INTERFACE_LINK_LIBRARIES "X11::xcb")
893 if (X11_xcb_image_FOUND AND NOT TARGET X11::xcb_image)
894 add_library(X11::xcb_image UNKNOWN IMPORTED)
895 set_target_properties(X11::xcb_image PROPERTIES
896 IMPORTED_LOCATION "${X11_xcb_image_LIB}"
897 INTERFACE_LINK_LIBRARIES "X11::xcb")
900 if (X11_xcb_keysyms_FOUND AND NOT TARGET X11::xcb_keysyms)
901 add_library(X11::xcb_keysyms UNKNOWN IMPORTED)
902 set_target_properties(X11::xcb_keysyms PROPERTIES
903 IMPORTED_LOCATION "${X11_xcb_keysyms_LIB}"
904 INTERFACE_LINK_LIBRARIES "X11::xcb")
907 if (X11_xcb_present_FOUND AND NOT TARGET X11::xcb_present)
908 add_library(X11::xcb_present UNKNOWN IMPORTED)
909 set_target_properties(X11::xcb_present PROPERTIES
910 IMPORTED_LOCATION "${X11_xcb_present_LIB}"
911 INTERFACE_LINK_LIBRARIES "X11::xcb")
914 if (X11_xcb_randr_FOUND AND NOT TARGET X11::xcb_randr)
915 add_library(X11::xcb_randr UNKNOWN IMPORTED)
916 set_target_properties(X11::xcb_randr PROPERTIES
917 IMPORTED_LOCATION "${X11_xcb_randr_LIB}"
918 INTERFACE_LINK_LIBRARIES "X11::xcb")
921 if (X11_xcb_record_FOUND AND NOT TARGET X11::xcb_record)
922 add_library(X11::xcb_record UNKNOWN IMPORTED)
923 set_target_properties(X11::xcb_record PROPERTIES
924 IMPORTED_LOCATION "${X11_xcb_record_LIB}"
925 INTERFACE_LINK_LIBRARIES "X11::xcb")
928 if (X11_xcb_render_FOUND AND NOT TARGET X11::xcb_render)
929 add_library(X11::xcb_render UNKNOWN IMPORTED)
930 set_target_properties(X11::xcb_render PROPERTIES
931 IMPORTED_LOCATION "${X11_xcb_render_LIB}"
932 INTERFACE_LINK_LIBRARIES "X11::xcb")
935 if (X11_xcb_render_util_FOUND AND NOT TARGET X11::xcb_render_util)
936 add_library(X11::xcb_render_util UNKNOWN IMPORTED)
937 set_target_properties(X11::xcb_render_util PROPERTIES
938 IMPORTED_LOCATION "${X11_xcb_render_util_LIB}"
939 INTERFACE_LINK_LIBRARIES "X11::xcb")
942 if (X11_xcb_res_FOUND AND NOT TARGET X11::xcb_res)
943 add_library(X11::xcb_res UNKNOWN IMPORTED)
944 set_target_properties(X11::xcb_res PROPERTIES
945 IMPORTED_LOCATION "${X11_xcb_res_LIB}"
946 INTERFACE_LINK_LIBRARIES "X11::xcb")
949 if (X11_xcb_screensaver_FOUND AND NOT TARGET X11::xcb_screensaver)
950 add_library(X11::xcb_screensaver UNKNOWN IMPORTED)
951 set_target_properties(X11::xcb_screensaver PROPERTIES
952 IMPORTED_LOCATION "${X11_xcb_screensaver_LIB}"
953 INTERFACE_LINK_LIBRARIES "X11::xcb")
956 if (X11_xcb_shape_FOUND AND NOT TARGET X11::xcb_shape)
957 add_library(X11::xcb_shape UNKNOWN IMPORTED)
958 set_target_properties(X11::xcb_shape PROPERTIES
959 IMPORTED_LOCATION "${X11_xcb_shape_LIB}"
960 INTERFACE_LINK_LIBRARIES "X11::xcb")
963 if (X11_xcb_shm_FOUND AND NOT TARGET X11::xcb_shm)
964 add_library(X11::xcb_shm UNKNOWN IMPORTED)
965 set_target_properties(X11::xcb_shm PROPERTIES
966 IMPORTED_LOCATION "${X11_xcb_shm_LIB}"
967 INTERFACE_LINK_LIBRARIES "X11::xcb")
970 if (X11_xcb_sync_FOUND AND NOT TARGET X11::xcb_sync)
971 add_library(X11::xcb_sync UNKNOWN IMPORTED)
972 set_target_properties(X11::xcb_sync PROPERTIES
973 IMPORTED_LOCATION "${X11_xcb_sync_LIB}"
974 INTERFACE_LINK_LIBRARIES "X11::xcb")
977 if (X11_xcb_util_FOUND AND NOT TARGET X11::xcb_util)
978 add_library(X11::xcb_util UNKNOWN IMPORTED)
979 set_target_properties(X11::xcb_util PROPERTIES
980 IMPORTED_LOCATION "${X11_xcb_util_LIB}"
981 INTERFACE_LINK_LIBRARIES "X11::xcb")
984 if (X11_xcb_xf86dri_FOUND AND NOT TARGET X11::xcb_xf86dri)
985 add_library(X11::xcb_xf86dri UNKNOWN IMPORTED)
986 set_target_properties(X11::xcb_xf86dri PROPERTIES
987 IMPORTED_LOCATION "${X11_xcb_xf86dri_LIB}"
988 INTERFACE_LINK_LIBRARIES "X11::xcb")
991 if (X11_xcb_xfixes_FOUND AND NOT TARGET X11::xcb_xfixes)
992 add_library(X11::xcb_xfixes UNKNOWN IMPORTED)
993 set_target_properties(X11::xcb_xfixes PROPERTIES
994 IMPORTED_LOCATION "${X11_xcb_xfixes_LIB}"
995 INTERFACE_LINK_LIBRARIES "X11::xcb")
998 if (X11_xcb_xinerama_FOUND AND NOT TARGET X11::xcb_xinerama)
999 add_library(X11::xcb_xinerama UNKNOWN IMPORTED)
1000 set_target_properties(X11::xcb_xinerama PROPERTIES
1001 IMPORTED_LOCATION "${X11_xcb_xinerama_LIB}"
1002 INTERFACE_LINK_LIBRARIES "X11::xcb")
1005 if (X11_xcb_xinput_FOUND AND NOT TARGET X11::xcb_xinput)
1006 add_library(X11::xcb_xinput UNKNOWN IMPORTED)
1007 set_target_properties(X11::xcb_xinput PROPERTIES
1008 IMPORTED_LOCATION "${X11_xcb_xinput_LIB}"
1009 INTERFACE_LINK_LIBRARIES "X11::xcb")
1012 if (X11_xcb_xkb_FOUND AND NOT TARGET X11::xcb_xkb)
1013 add_library(X11::xcb_xkb UNKNOWN IMPORTED)
1014 set_target_properties(X11::xcb_xkb PROPERTIES
1015 IMPORTED_LOCATION "${X11_xcb_xkb_LIB}"
1016 INTERFACE_LINK_LIBRARIES "X11::xcb")
1019 if (X11_xcb_xrm_FOUND AND NOT TARGET X11::xcb_xrm)
1020 add_library(X11::xcb_xrm UNKNOWN IMPORTED)
1021 set_target_properties(X11::xcb_xrm PROPERTIES
1022 IMPORTED_LOCATION "${X11_xcb_xrm_LIB}"
1023 INTERFACE_LINK_LIBRARIES "X11::xcb")
1026 if (X11_xcb_xtest_FOUND AND NOT TARGET X11::xcb_xtest)
1027 add_library(X11::xcb_xtest UNKNOWN IMPORTED)
1028 set_target_properties(X11::xcb_xtest PROPERTIES
1029 IMPORTED_LOCATION "${X11_xcb_xtest_LIB}"
1030 INTERFACE_LINK_LIBRARIES "X11::xcb")
1033 if (X11_xcb_xvmc_FOUND AND NOT TARGET X11::xcb_xvmc)
1034 add_library(X11::xcb_xvmc UNKNOWN IMPORTED)
1035 set_target_properties(X11::xcb_xvmc PROPERTIES
1036 IMPORTED_LOCATION "${X11_xcb_xvmc_LIB}"
1037 INTERFACE_LINK_LIBRARIES "X11::xcb")
1040 if (X11_xcb_xv_FOUND AND NOT TARGET X11::xcb_xv)
1041 add_library(X11::xcb_xv UNKNOWN IMPORTED)
1042 set_target_properties(X11::xcb_xv PROPERTIES
1043 IMPORTED_LOCATION "${X11_xcb_xv_LIB}"
1044 INTERFACE_LINK_LIBRARIES "X11::xcb")
1047 if (X11_Xcomposite_FOUND AND NOT TARGET X11::Xcomposite)
1048 add_library(X11::Xcomposite UNKNOWN IMPORTED)
1049 set_target_properties(X11::Xcomposite PROPERTIES
1050 IMPORTED_LOCATION "${X11_Xcomposite_LIB}"
1051 INTERFACE_INCLUDE_DIRECTORIES "${X11_Xcomposite_INCLUDE_PATH}"
1052 INTERFACE_LINK_LIBRARIES "X11::X11")
1055 if (X11_Xcursor_FOUND AND NOT TARGET X11::Xcursor)
1056 add_library(X11::Xcursor UNKNOWN IMPORTED)
1057 set_target_properties(X11::Xcursor PROPERTIES
1058 IMPORTED_LOCATION "${X11_Xcursor_LIB}"
1059 INTERFACE_INCLUDE_DIRECTORIES "${X11_Xcursor_INCLUDE_PATH}"
1060 INTERFACE_LINK_LIBRARIES "X11::Xrender;X11::Xfixes;X11::X11")
1063 if (X11_Xdamage_FOUND AND NOT TARGET X11::Xdamage)
1064 add_library(X11::Xdamage UNKNOWN IMPORTED)
1065 set_target_properties(X11::Xdamage PROPERTIES
1066 IMPORTED_LOCATION "${X11_Xdamage_LIB}"
1067 INTERFACE_INCLUDE_DIRECTORIES "${X11_Xdamage_INCLUDE_PATH}"
1068 INTERFACE_LINK_LIBRARIES "X11::Xfixes;X11::X11")
1071 if (X11_Xdmcp_FOUND AND NOT TARGET X11::Xdmcp)
1072 add_library(X11::Xdmcp UNKNOWN IMPORTED)
1073 set_target_properties(X11::Xdmcp PROPERTIES
1074 IMPORTED_LOCATION "${X11_Xdmcp_LIB}"
1075 INTERFACE_INCLUDE_DIRECTORIES "${X11_Xdmcp_INCLUDE_PATH}")
1078 if (X11_Xext_FOUND AND NOT TARGET X11::Xext)
1079 add_library(X11::Xext UNKNOWN IMPORTED)
1080 set_target_properties(X11::Xext PROPERTIES
1081 IMPORTED_LOCATION "${X11_Xext_LIB}"
1082 INTERFACE_INCLUDE_DIRECTORIES "${X11_Xext_INCLUDE_PATH}"
1083 INTERFACE_LINK_LIBRARIES "X11::X11")
1086 if (X11_Xxf86misc_FOUND AND NOT TARGET X11::Xxf86misc)
1087 add_library(X11::Xxf86misc UNKNOWN IMPORTED)
1088 set_target_properties(X11::Xxf86misc PROPERTIES
1089 IMPORTED_LOCATION "${X11_Xxf86misc_LIB}"
1090 INTERFACE_INCLUDE_DIRECTORIES "${X11_Xxf86misc_INCLUDE_PATH}"
1091 INTERFACE_LINK_LIBRARIES "X11::X11;X11::Xext")
1094 if (X11_Xxf86vm_FOUND AND NOT TARGET X11::Xxf86vm)
1095 add_library(X11::Xxf86vm UNKNOWN IMPORTED)
1096 set_target_properties(X11::Xxf86vm PROPERTIES
1097 IMPORTED_LOCATION "${X11_Xxf86vm_LIB}"
1098 INTERFACE_INCLUDE_DIRECTORIES "${X11_Xxf86vm_INCLUDE_PATH}"
1099 INTERFACE_LINK_LIBRARIES "X11::X11;X11::Xext")
1102 if (X11_Xfixes_FOUND AND NOT TARGET X11::Xfixes)
1103 add_library(X11::Xfixes UNKNOWN IMPORTED)
1104 set_target_properties(X11::Xfixes PROPERTIES
1105 IMPORTED_LOCATION "${X11_Xfixes_LIB}"
1106 INTERFACE_INCLUDE_DIRECTORIES "${X11_Xfixes_INCLUDE_PATH}"
1107 INTERFACE_LINK_LIBRARIES "X11::X11")
1110 if (X11_Xft_FOUND AND NOT TARGET X11::Xft)
1111 add_library(X11::Xft UNKNOWN IMPORTED)
1112 set_target_properties(X11::Xft PROPERTIES
1113 IMPORTED_LOCATION "${X11_Xft_LIB}"
1114 INTERFACE_INCLUDE_DIRECTORIES "${X11_Xft_INCLUDE_PATH}"
1115 INTERFACE_LINK_LIBRARIES "X11::Xrender;X11::X11;Fontconfig::Fontconfig;Freetype::Freetype")
1118 if (X11_Xi_FOUND AND NOT TARGET X11::Xi)
1119 add_library(X11::Xi UNKNOWN IMPORTED)
1120 set_target_properties(X11::Xi PROPERTIES
1121 IMPORTED_LOCATION "${X11_Xi_LIB}"
1122 INTERFACE_INCLUDE_DIRECTORIES "${X11_Xi_INCLUDE_PATH}"
1123 INTERFACE_LINK_LIBRARIES "X11::Xext;X11::X11")
1126 if (X11_Xinerama_FOUND AND NOT TARGET X11::Xinerama)
1127 add_library(X11::Xinerama UNKNOWN IMPORTED)
1128 set_target_properties(X11::Xinerama PROPERTIES
1129 IMPORTED_LOCATION "${X11_Xinerama_LIB}"
1130 INTERFACE_INCLUDE_DIRECTORIES "${X11_Xinerama_INCLUDE_PATH}"
1131 INTERFACE_LINK_LIBRARIES "X11::Xext;X11::X11")
1134 if (X11_Xkb_FOUND AND NOT TARGET X11::Xkb)
1135 add_library(X11::Xkb INTERFACE IMPORTED)
1136 set_target_properties(X11::Xkb PROPERTIES
1137 INTERFACE_INCLUDE_DIRECTORIES "${X11_Xkb_INCLUDE_PATH}"
1138 INTERFACE_LINK_LIBRARIES "X11::X11")
1141 if (X11_xkbcommon_FOUND AND NOT TARGET X11::xkbcommon)
1142 add_library(X11::xkbcommon UNKNOWN IMPORTED)
1143 set_target_properties(X11::xkbcommon PROPERTIES
1144 IMPORTED_LOCATION "${X11_xkbcommon_LIB}"
1145 INTERFACE_INCLUDE_DIRECTORIES "${X11_xkbcommon_INCLUDE_PATH}")
1148 if (X11_xkbcommon_X11_FOUND AND NOT TARGET X11::xkbcommon_X11)
1149 add_library(X11::xkbcommon_X11 UNKNOWN IMPORTED)
1150 set_target_properties(X11::xkbcommon_X11 PROPERTIES
1151 IMPORTED_LOCATION "${X11_xkbcommon_X11_LIB}"
1152 INTERFACE_INCLUDE_DIRECTORIES "${X11_xkbcommon_X11_INCLUDE_PATH}"
1153 INTERFACE_LINK_LIBRARIES "X11::X11;X11::xkbcommon")
1156 if (X11_xkbfile_FOUND AND NOT TARGET X11::xkbfile)
1157 add_library(X11::xkbfile UNKNOWN IMPORTED)
1158 set_target_properties(X11::xkbfile PROPERTIES
1159 IMPORTED_LOCATION "${X11_xkbfile_LIB}"
1160 INTERFACE_INCLUDE_DIRECTORIES "${X11_xkbfile_INCLUDE_PATH}"
1161 INTERFACE_LINK_LIBRARIES "X11::X11")
1164 if (X11_Xmu_FOUND AND NOT TARGET X11::Xmu)
1165 add_library(X11::Xmu UNKNOWN IMPORTED)
1166 set_target_properties(X11::Xmu PROPERTIES
1167 IMPORTED_LOCATION "${X11_Xmu_LIB}"
1168 INTERFACE_INCLUDE_DIRECTORIES "${X11_Xmu_INCLUDE_PATH}"
1169 INTERFACE_LINK_LIBRARIES "X11::Xt;X11::Xext;X11::X11")
1172 if (X11_Xpm_FOUND AND NOT TARGET X11::Xpm)
1173 add_library(X11::Xpm UNKNOWN IMPORTED)
1174 set_target_properties(X11::Xpm PROPERTIES
1175 IMPORTED_LOCATION "${X11_Xpm_LIB}"
1176 INTERFACE_INCLUDE_DIRECTORIES "${X11_Xpm_INCLUDE_PATH}"
1177 INTERFACE_LINK_LIBRARIES "X11::X11")
1180 if (X11_Xpresent_FOUND AND NOT TARGET X11::Xpresent)
1181 add_library(X11::Xpresent UNKNOWN IMPORTED)
1182 set_target_properties(X11::Xpresent PROPERTIES
1183 IMPORTED_LOCATION "${X11_Xpresent_LIB}"
1184 INTERFACE_INCLUDE_DIRECTORIES "${X11_Xpresent_INCLUDE_PATH}"
1185 INTERFACE_LINK_LIBRARIES "X11::X11;X11::Xext;X11::Xfixes;X11::Xrandr")
1188 if (X11_Xtst_FOUND AND NOT TARGET X11::Xtst)
1189 add_library(X11::Xtst UNKNOWN IMPORTED)
1190 set_target_properties(X11::Xtst PROPERTIES
1191 IMPORTED_LOCATION "${X11_Xtst_LIB}"
1192 INTERFACE_INCLUDE_DIRECTORIES "${X11_Xtst_INCLUDE_PATH}"
1193 INTERFACE_LINK_LIBRARIES "X11::Xi;X11::Xext;X11::X11")
1196 if (X11_Xrandr_FOUND AND NOT TARGET X11::Xrandr)
1197 add_library(X11::Xrandr UNKNOWN IMPORTED)
1198 set_target_properties(X11::Xrandr PROPERTIES
1199 IMPORTED_LOCATION "${X11_Xrandr_LIB}"
1200 INTERFACE_INCLUDE_DIRECTORIES "${X11_Xrandr_INCLUDE_PATH}"
1201 INTERFACE_LINK_LIBRARIES "X11::Xrender;X11::Xext;X11::X11")
1204 if (X11_Xrender_FOUND AND NOT TARGET X11::Xrender)
1205 add_library(X11::Xrender UNKNOWN IMPORTED)
1206 set_target_properties(X11::Xrender PROPERTIES
1207 IMPORTED_LOCATION "${X11_Xrender_LIB}"
1208 INTERFACE_INCLUDE_DIRECTORIES "${X11_Xrender_INCLUDE_PATH}"
1209 INTERFACE_LINK_LIBRARIES "X11::X11")
1212 if (X11_XRes_FOUND AND NOT TARGET X11::XRes)
1213 add_library(X11::XRes UNKNOWN IMPORTED)
1214 set_target_properties(X11::XRes PROPERTIES
1215 IMPORTED_LOCATION "${X11_XRes_LIB}"
1216 INTERFACE_INCLUDE_DIRECTORIES "${X11_XRes_INCLUDE_PATH}"
1217 INTERFACE_LINK_LIBRARIES "X11::Xext;X11::X11")
1220 if (X11_Xss_FOUND AND NOT TARGET X11::Xss)
1221 add_library(X11::Xss UNKNOWN IMPORTED)
1222 set_target_properties(X11::Xss PROPERTIES
1223 IMPORTED_LOCATION "${X11_Xss_LIB}"
1224 INTERFACE_INCLUDE_DIRECTORIES "${X11_Xss_INCLUDE_PATH}"
1225 INTERFACE_LINK_LIBRARIES "X11::Xext;X11::X11")
1228 if (X11_Xt_FOUND AND NOT TARGET X11::Xt)
1229 add_library(X11::Xt UNKNOWN IMPORTED)
1230 set_target_properties(X11::Xt PROPERTIES
1231 IMPORTED_LOCATION "${X11_Xt_LIB}"
1232 INTERFACE_INCLUDE_DIRECTORIES "${X11_Xt_INCLUDE_PATH}"
1233 INTERFACE_LINK_LIBRARIES "X11::ICE;X11::SM;X11::X11")
1236 if (X11_Xutil_FOUND AND NOT TARGET X11::Xutil)
1237 add_library(X11::Xutil INTERFACE IMPORTED)
1238 set_target_properties(X11::Xutil PROPERTIES
1239 INTERFACE_INCLUDE_DIRECTORIES "${X11_Xutil_INCLUDE_PATH}"
1240 # libX11 contains the implementations for functions in the Xutil.h
1242 INTERFACE_LINK_LIBRARIES "X11::X11")
1245 if (X11_Xv_FOUND AND NOT TARGET X11::Xv)
1246 add_library(X11::Xv UNKNOWN IMPORTED)
1247 set_target_properties(X11::Xv PROPERTIES
1248 IMPORTED_LOCATION "${X11_Xv_LIB}"
1249 INTERFACE_INCLUDE_DIRECTORIES "${X11_Xv_INCLUDE_PATH}"
1250 INTERFACE_LINK_LIBRARIES "X11::Xext;X11::X11")
1254 X11_X11_INCLUDE_PATH
1256 X11_Xext_INCLUDE_PATH
1259 X11_Xau_INCLUDE_PATH
1261 X11_xcb_INCLUDE_PATH
1262 X11_xcb_composite_LIB
1263 X11_xcb_composite_INCLUDE_PATH
1265 X11_xcb_cursor_INCLUDE_PATH
1267 X11_xcb_damage_INCLUDE_PATH
1269 X11_xcb_dpms_INCLUDE_PATH
1271 X11_xcb_dri2_INCLUDE_PATH
1273 X11_xcb_dri3_INCLUDE_PATH
1275 X11_xcb_errors_INCLUDE_PATH
1277 X11_xcb_ewmh_INCLUDE_PATH
1279 X11_xcb_glx_INCLUDE_PATH
1281 X11_xcb_icccm_INCLUDE_PATH
1283 X11_xcb_image_INCLUDE_PATH
1285 X11_xcb_keysyms_INCLUDE_PATH
1287 X11_xcb_present_INCLUDE_PATH
1289 X11_xcb_randr_INCLUDE_PATH
1291 X11_xcb_record_INCLUDE_PATH
1293 X11_xcb_render_INCLUDE_PATH
1294 X11_xcb_render_util_LIB
1295 X11_xcb_render_util_INCLUDE_PATH
1297 X11_xcb_res_INCLUDE_PATH
1298 X11_xcb_screensaver_LIB
1299 X11_xcb_screensaver_INCLUDE_PATH
1301 X11_xcb_shape_INCLUDE_PATH
1303 X11_xcb_shm_INCLUDE_PATH
1305 X11_xcb_sync_INCLUDE_PATH
1307 X11_xcb_util_INCLUDE_PATH
1309 X11_xcb_xf86dri_INCLUDE_PATH
1311 X11_xcb_xfixes_INCLUDE_PATH
1312 X11_xcb_xinerama_LIB
1313 X11_xcb_xinerama_INCLUDE_PATH
1315 X11_xcb_xinput_INCLUDE_PATH
1319 X11_xcb_xrm_INCLUDE_PATH
1321 X11_xcb_xtest_INCLUDE_PATH
1323 X11_xcb_xvmc_INCLUDE_PATH
1325 X11_xcb_xv_INCLUDE_PATH
1326 X11_X11_xcb_INCLUDE_PATH
1327 X11_Xlib_INCLUDE_PATH
1328 X11_Xutil_INCLUDE_PATH
1329 X11_Xcomposite_INCLUDE_PATH
1332 X11_Xfixes_INCLUDE_PATH
1334 X11_Xrandr_INCLUDE_PATH
1336 X11_Xdamage_INCLUDE_PATH
1338 X11_Xrender_INCLUDE_PATH
1340 X11_XRes_INCLUDE_PATH
1342 X11_Xxf86misc_INCLUDE_PATH
1344 X11_Xxf86vm_INCLUDE_PATH
1348 X11_Xinerama_INCLUDE_PATH
1350 X11_Xtst_INCLUDE_PATH
1352 X11_Xcursor_INCLUDE_PATH
1353 X11_dpms_INCLUDE_PATH
1358 X11_Xaccessrules_INCLUDE_PATH
1359 X11_Xaccessstr_INCLUDE_PATH
1360 X11_Xdmcp_INCLUDE_PATH
1361 X11_Xkb_INCLUDE_PATH
1362 X11_Xkblib_INCLUDE_PATH
1363 X11_xkbcommon_INCLUDE_PATH
1365 X11_xkbcommon_X11_INCLUDE_PATH
1366 X11_xkbcommon_X11_LIB
1367 X11_xkbfile_INCLUDE_PATH
1369 X11_Xmu_INCLUDE_PATH
1371 X11_Xss_INCLUDE_PATH
1373 X11_Xpm_INCLUDE_PATH
1375 X11_Xpresent_INCLUDE_PATH
1378 X11_Xft_INCLUDE_PATH
1379 X11_Xshape_INCLUDE_PATH
1382 X11_XShm_INCLUDE_PATH
1384 X11_ICE_INCLUDE_PATH
1387 X11_XSync_INCLUDE_PATH
1389 X11_Xaw_INCLUDE_PATH
1390 X11_Xdbe_INCLUDE_PATH
1392 set(CMAKE_FIND_FRAMEWORK ${CMAKE_FIND_FRAMEWORK_SAVE})
1393 set(CMAKE_REQUIRED_QUIET ${CMAKE_REQUIRED_QUIET_SAVE})