Merge branch 'release-4.0'
[kiteware-cmake.git] / Modules / FindX11.cmake
blob9dee9486ec9ae4495ecf494eb42aa70846733337
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:
5 FindX11
6 -------
8 Find X11 installation
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
21   Imported targets.
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
76   X11_Xkb_INCLUDE_PATH,
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
103   for compatibility.
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 #]=======================================================================]
132 if (UNIX)
133   set(X11_FOUND 0)
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
142     /usr/X11R6/include
143     /usr/X11R7/include
144     /usr/include/X11
145     /usr/openwin/include
146     /usr/openwin/share/include
147     /opt/graphics/OpenGL/include
148     /opt/X11/include
149   )
151   set(X11_LIB_SEARCH_PATH
152     /usr/pkg/xorg/lib
153     /usr/X11R6/lib
154     /usr/X11R7/lib
155     /usr/openwin/lib
156     /opt/X11/lib
157   )
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 "")
322   if(X11_X11_LIB)
323     get_filename_component(X11_LIBRARY_DIR ${X11_X11_LIB} PATH)
324   endif()
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})
329   endif()
331   if(X11_Xlib_INCLUDE_PATH)
332     list(APPEND X11_INCLUDE_DIR ${X11_Xlib_INCLUDE_PATH})
333   endif()
335   if(X11_Xutil_INCLUDE_PATH)
336     set(X11_Xutil_FOUND TRUE)
337     list(APPEND X11_INCLUDE_DIR ${X11_Xutil_INCLUDE_PATH})
338   endif()
340   if(X11_Xshape_INCLUDE_PATH)
341     set(X11_Xshape_FOUND TRUE)
342     list(APPEND X11_INCLUDE_DIR ${X11_Xshape_INCLUDE_PATH})
343   endif()
345   set(X11_LIBRARIES) # start with empty list
346   if(X11_X11_LIB)
347     list(APPEND X11_LIBRARIES ${X11_X11_LIB})
348   endif()
350   if(X11_Xext_LIB)
351     set(X11_Xext_FOUND TRUE)
352     list(APPEND X11_LIBRARIES ${X11_Xext_LIB})
353   endif()
355   if(X11_Xt_LIB AND X11_Xt_INCLUDE_PATH)
356     set(X11_Xt_FOUND TRUE)
357   endif()
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)
364     endif ()
365     list(APPEND X11_INCLUDE_DIR ${X11_Xft_INCLUDE_PATH})
366   endif()
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})
371   endif()
373   if (X11_Xau_LIB AND X11_Xau_INCLUDE_PATH)
374     set(X11_Xau_FOUND TRUE)
375   endif ()
377   if (X11_xcb_LIB AND X11_xcb_INCLUDE_PATH)
378     set(X11_xcb_FOUND TRUE)
379   endif ()
381   if (X11_X11_xcb_LIB AND X11_X11_xcb_INCLUDE_PATH)
382     set(X11_X11_xcb_FOUND TRUE)
383   endif ()
385   if (X11_xcb_composite_LIB AND X11_xcb_composite_INCLUDE_PATH)
386     set(X11_xcb_composite_FOUND TRUE)
387   endif ()
389   if (X11_xcb_cursor_LIB AND X11_xcb_cursor_INCLUDE_PATH)
390     set(X11_xcb_cursor_FOUND TRUE)
391   endif ()
393   if (X11_xcb_damage_LIB AND X11_xcb_damage_INCLUDE_PATH)
394     set(X11_xcb_damage_FOUND TRUE)
395   endif ()
397   if (X11_xcb_dpms_LIB AND X11_xcb_dpms_INCLUDE_PATH)
398     set(X11_xcb_dpms_FOUND TRUE)
399   endif ()
401   if (X11_xcb_dri2_LIB AND X11_xcb_dri2_INCLUDE_PATH)
402     set(X11_xcb_dri2_FOUND TRUE)
403   endif ()
405   if (X11_xcb_dri3_LIB AND X11_xcb_dri3_INCLUDE_PATH)
406     set(X11_xcb_dri3_FOUND TRUE)
407   endif ()
409   if (X11_xcb_errors_LIB AND X11_xcb_errors_INCLUDE_PATH)
410     set(X11_xcb_errors_FOUND TRUE)
411   endif ()
413   if (X11_xcb_ewmh_LIB AND X11_xcb_ewmh_INCLUDE_PATH)
414     set(X11_xcb_ewmh_FOUND TRUE)
415   endif ()
417   if (X11_xcb_glx_LIB AND X11_xcb_glx_INCLUDE_PATH)
418     set(X11_xcb_glx_FOUND TRUE)
419   endif ()
421   if (X11_xcb_icccm_LIB AND X11_xcb_icccm_INCLUDE_PATH)
422     set(X11_xcb_icccm_FOUND TRUE)
423   endif ()
425   if (X11_xcb_image_LIB AND X11_xcb_image_INCLUDE_PATH)
426     set(X11_xcb_image_FOUND TRUE)
427   endif ()
429   if (X11_xcb_keysyms_LIB AND X11_xcb_keysyms_INCLUDE_PATH)
430     set(X11_xcb_keysyms_FOUND TRUE)
431   endif ()
433   if (X11_xcb_present_LIB AND X11_xcb_present_INCLUDE_PATH)
434     set(X11_xcb_present_FOUND TRUE)
435   endif ()
437   if (X11_xcb_randr_LIB AND X11_xcb_randr_INCLUDE_PATH)
438     set(X11_xcb_randr_FOUND TRUE)
439   endif ()
441   if (X11_xcb_record_LIB AND X11_xcb_record_INCLUDE_PATH)
442     set(X11_xcb_record_FOUND TRUE)
443   endif ()
445   if (X11_xcb_render_LIB AND X11_xcb_render_INCLUDE_PATH)
446     set(X11_xcb_render_FOUND TRUE)
447   endif ()
449   if (X11_xcb_render_util_LIB AND X11_xcb_render_util_INCLUDE_PATH)
450     set(X11_xcb_render_util_FOUND TRUE)
451   endif ()
453   if (X11_xcb_res_LIB AND X11_xcb_res_INCLUDE_PATH)
454     set(X11_xcb_res_FOUND TRUE)
455   endif ()
457   if (X11_xcb_screensaver_LIB AND X11_xcb_screensaver_INCLUDE_PATH)
458     set(X11_xcb_screensaver_FOUND TRUE)
459   endif ()
461   if (X11_xcb_shape_LIB AND X11_xcb_shape_INCLUDE_PATH)
462     set(X11_xcb_shape_FOUND TRUE)
463   endif ()
465   if (X11_xcb_shm_LIB AND X11_xcb_shm_INCLUDE_PATH)
466     set(X11_xcb_shm_FOUND TRUE)
467   endif ()
469   if (X11_xcb_sync_LIB AND X11_xcb_sync_INCLUDE_PATH)
470     set(X11_xcb_sync_FOUND TRUE)
471   endif ()
473   if (X11_xcb_util_LIB AND X11_xcb_util_INCLUDE_PATH)
474     set(X11_xcb_util_FOUND TRUE)
475   endif ()
477   if (X11_xcb_xf86dri_LIB AND X11_xcb_xf86dri_INCLUDE_PATH)
478     set(X11_xcb_xf86dri_FOUND TRUE)
479   endif ()
481   if (X11_xcb_xfixes_LIB AND X11_xcb_xfixes_INCLUDE_PATH)
482     set(X11_xcb_xfixes_FOUND TRUE)
483   endif ()
485   if (X11_xcb_xinerama_LIB AND X11_xcb_xinerama_INCLUDE_PATH)
486     set(X11_xcb_xinerama_FOUND TRUE)
487   endif ()
489   if (X11_xcb_xinput_LIB AND X11_xcb_xinput_INCLUDE_PATH)
490     set(X11_xcb_xinput_FOUND TRUE)
491   endif ()
493   if (X11_xcb_xkb_LIB AND X11_xcb_xkb_INCLUDE_PATH)
494     set(X11_xcb_xkb_FOUND TRUE)
495   endif ()
497   if (X11_xcb_xrm_LIB AND X11_xcb_xrm_INCLUDE_PATH)
498     set(X11_xcb_xrm_FOUND TRUE)
499   endif ()
501   if (X11_xcb_xtest_LIB AND X11_xcb_xtest_INCLUDE_PATH)
502     set(X11_xcb_xtest_FOUND TRUE)
503   endif ()
505   if (X11_xcb_xvmc_LIB AND X11_xcb_xvmc_INCLUDE_PATH)
506     set(X11_xcb_xvmc_FOUND TRUE)
507   endif ()
509   if (X11_xcb_xv_LIB AND X11_xcb_xv_INCLUDE_PATH)
510     set(X11_xcb_xv_FOUND TRUE)
511   endif ()
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})
516   endif ()
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})
522   endif ()
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})
527   endif ()
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})
532   endif ()
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})
537   endif ()
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})
542   endif ()
544   if (X11_XShm_INCLUDE_PATH)
545      set(X11_XShm_FOUND TRUE)
546      list(APPEND X11_INCLUDE_DIR ${X11_XShm_INCLUDE_PATH})
547   endif ()
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})
554   endif ()
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})
561   endif ()
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})
566   endif ()
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})
571   endif ()
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})
576   endif ()
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})
581   endif ()
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})
586   endif ()
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})
593   endif ()
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})
600   endif ()
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})
605   endif ()
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})
611   endif ()
613   if (X11_dpms_INCLUDE_PATH)
614      set(X11_dpms_FOUND TRUE)
615      list(APPEND X11_INCLUDE_DIR ${X11_dpms_INCLUDE_PATH})
616   endif ()
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} )
621   endif ()
623   if (X11_xkbcommon_INCLUDE_PATH AND X11_xkbcommon_LIB)
624      set(X11_xkbcommon_FOUND TRUE)
625   endif ()
627   if (X11_xkbcommon_X11_INCLUDE_PATH AND X11_xkbcommon_X11_LIB)
628      set(X11_xkbcommon_X11_FOUND TRUE)
629   endif ()
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} )
636   endif ()
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})
641   endif ()
643   if (X11_XSync_INCLUDE_PATH)
644      set(X11_XSync_FOUND TRUE)
645      list(APPEND X11_INCLUDE_DIR ${X11_XSync_INCLUDE_PATH})
646   endif ()
648   if(X11_ICE_LIB AND X11_ICE_INCLUDE_PATH)
649      set(X11_ICE_FOUND TRUE)
650   endif()
652   if(X11_SM_LIB AND X11_SM_INCLUDE_PATH)
653      set(X11_SM_FOUND TRUE)
654   endif()
656   if(X11_Xaw_LIB AND X11_Xaw_INCLUDE_PATH)
657       set(X11_Xaw_FOUND TRUE)
658   endif()
660   if (X11_Xdbe_INCLUDE_PATH)
661      set(X11_Xdbe_FOUND TRUE)
662      list(APPEND X11_INCLUDE_DIR ${X11_Xdbe_INCLUDE_PATH})
663   endif ()
665   # Most of the X11 headers will be in the same directories, avoid
666   # creating a huge list of duplicates.
667   if (X11_INCLUDE_DIR)
668      list(REMOVE_DUPLICATES X11_INCLUDE_DIR)
669   endif ()
671   # Deprecated variable for backwards compatibility with CMake 1.4
672   if (X11_X11_INCLUDE_PATH AND X11_LIBRARIES)
673     set(X11_FOUND 1)
674   endif ()
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
681     # explicitly.
682     set(FPHSA_NAME_MISMATCHED 1)
683   endif ()
684   find_package_handle_standard_args(X11
685     REQUIRED_VARS X11_X11_INCLUDE_PATH X11_X11_LIB
686     HANDLE_COMPONENTS)
687   unset(FPHSA_NAME_MISMATCHED)
689   if(X11_FOUND)
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)
697     else()
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)
707         else ()
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)
711           endif ()
712         endif ()
713       endif()
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)
721         else ()
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)
725           endif ()
726         endif ()
727       endif()
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)
735         endif ()
736       endif()
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)
744         endif ()
745       endif()
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)
753         endif ()
754       endif()
755     endif()
757     if (X11_ICE_FOUND)
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})
762         if(X11_SM_LIB)
763           list(INSERT X11_X_PRE_LIBS 0 ${X11_SM_LIB})
764         endif()
765       endif()
766     endif ()
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}")
776     endif ()
777   endif ()
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}")
784   endif ()
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}")
791   endif ()
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}")
798   endif ()
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")
806   endif ()
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}")
813   endif ()
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")
821   endif ()
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")
828   endif ()
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")
835   endif ()
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")
842   endif ()
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")
849   endif ()
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")
856   endif ()
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")
863   endif ()
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")
870   endif ()
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")
877   endif ()
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")
884   endif ()
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")
891   endif ()
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")
898   endif ()
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")
905   endif ()
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")
912   endif ()
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")
919   endif ()
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")
926   endif ()
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")
933   endif ()
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")
940   endif ()
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")
947   endif ()
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")
954   endif ()
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")
961   endif ()
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")
968   endif ()
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")
975   endif ()
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")
982   endif ()
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")
989   endif ()
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")
996   endif ()
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")
1003   endif ()
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")
1010   endif ()
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")
1017   endif ()
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")
1024   endif ()
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")
1031   endif ()
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")
1038   endif ()
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")
1045   endif ()
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")
1053   endif ()
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")
1061   endif ()
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")
1069   endif ()
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}")
1076   endif ()
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")
1084   endif ()
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")
1092   endif ()
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")
1100   endif ()
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")
1108   endif ()
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")
1116   endif ()
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")
1124   endif ()
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")
1132   endif ()
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")
1139   endif ()
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}")
1146   endif ()
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")
1154   endif ()
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")
1162   endif ()
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")
1170   endif ()
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")
1178   endif ()
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")
1186   endif ()
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")
1194   endif ()
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")
1202   endif ()
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")
1210   endif ()
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")
1218   endif ()
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")
1226   endif ()
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")
1234   endif ()
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
1241       # header.
1242       INTERFACE_LINK_LIBRARIES "X11::X11")
1243   endif ()
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")
1251   endif ()
1253   mark_as_advanced(
1254     X11_X11_INCLUDE_PATH
1255     X11_X11_LIB
1256     X11_Xext_INCLUDE_PATH
1257     X11_Xext_LIB
1258     X11_Xau_LIB
1259     X11_Xau_INCLUDE_PATH
1260     X11_xcb_LIB
1261     X11_xcb_INCLUDE_PATH
1262     X11_xcb_composite_LIB
1263     X11_xcb_composite_INCLUDE_PATH
1264     X11_xcb_cursor_LIB
1265     X11_xcb_cursor_INCLUDE_PATH
1266     X11_xcb_damage_LIB
1267     X11_xcb_damage_INCLUDE_PATH
1268     X11_xcb_dpms_LIB
1269     X11_xcb_dpms_INCLUDE_PATH
1270     X11_xcb_dri2_LIB
1271     X11_xcb_dri2_INCLUDE_PATH
1272     X11_xcb_dri3_LIB
1273     X11_xcb_dri3_INCLUDE_PATH
1274     X11_xcb_errors_LIB
1275     X11_xcb_errors_INCLUDE_PATH
1276     X11_xcb_ewmh_LIB
1277     X11_xcb_ewmh_INCLUDE_PATH
1278     X11_xcb_glx_LIB
1279     X11_xcb_glx_INCLUDE_PATH
1280     X11_xcb_icccm_LIB
1281     X11_xcb_icccm_INCLUDE_PATH
1282     X11_xcb_image_LIB
1283     X11_xcb_image_INCLUDE_PATH
1284     X11_xcb_keysyms_LIB
1285     X11_xcb_keysyms_INCLUDE_PATH
1286     X11_xcb_present_LIB
1287     X11_xcb_present_INCLUDE_PATH
1288     X11_xcb_randr_LIB
1289     X11_xcb_randr_INCLUDE_PATH
1290     X11_xcb_record_LIB
1291     X11_xcb_record_INCLUDE_PATH
1292     X11_xcb_render_LIB
1293     X11_xcb_render_INCLUDE_PATH
1294     X11_xcb_render_util_LIB
1295     X11_xcb_render_util_INCLUDE_PATH
1296     X11_xcb_res_LIB
1297     X11_xcb_res_INCLUDE_PATH
1298     X11_xcb_screensaver_LIB
1299     X11_xcb_screensaver_INCLUDE_PATH
1300     X11_xcb_shape_LIB
1301     X11_xcb_shape_INCLUDE_PATH
1302     X11_xcb_shm_LIB
1303     X11_xcb_shm_INCLUDE_PATH
1304     X11_xcb_sync_LIB
1305     X11_xcb_sync_INCLUDE_PATH
1306     X11_xcb_util_LIB
1307     X11_xcb_util_INCLUDE_PATH
1308     X11_xcb_xf86dri_LIB
1309     X11_xcb_xf86dri_INCLUDE_PATH
1310     X11_xcb_xfixes_LIB
1311     X11_xcb_xfixes_INCLUDE_PATH
1312     X11_xcb_xinerama_LIB
1313     X11_xcb_xinerama_INCLUDE_PATH
1314     X11_xcb_xinput_LIB
1315     X11_xcb_xinput_INCLUDE_PATH
1316     X11_xcb_xkb_LIB
1317     X11_X11_xcb_LIB
1318     X11_xcb_xrm_LIB
1319     X11_xcb_xrm_INCLUDE_PATH
1320     X11_xcb_xtest_LIB
1321     X11_xcb_xtest_INCLUDE_PATH
1322     X11_xcb_xvmc_LIB
1323     X11_xcb_xvmc_INCLUDE_PATH
1324     X11_xcb_xv_LIB
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
1330     X11_Xcomposite_LIB
1331     X11_Xfixes_LIB
1332     X11_Xfixes_INCLUDE_PATH
1333     X11_Xrandr_LIB
1334     X11_Xrandr_INCLUDE_PATH
1335     X11_Xdamage_LIB
1336     X11_Xdamage_INCLUDE_PATH
1337     X11_Xrender_LIB
1338     X11_Xrender_INCLUDE_PATH
1339     X11_XRes_LIB
1340     X11_XRes_INCLUDE_PATH
1341     X11_Xxf86misc_LIB
1342     X11_Xxf86misc_INCLUDE_PATH
1343     X11_Xxf86vm_LIB
1344     X11_Xxf86vm_INCLUDE_PATH
1345     X11_Xi_LIB
1346     X11_Xi_INCLUDE_PATH
1347     X11_Xinerama_LIB
1348     X11_Xinerama_INCLUDE_PATH
1349     X11_Xtst_LIB
1350     X11_Xtst_INCLUDE_PATH
1351     X11_Xcursor_LIB
1352     X11_Xcursor_INCLUDE_PATH
1353     X11_dpms_INCLUDE_PATH
1354     X11_Xt_LIB
1355     X11_Xt_INCLUDE_PATH
1356     X11_Xdmcp_LIB
1357     X11_LIBRARIES
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
1364     X11_xkbcommon_LIB
1365     X11_xkbcommon_X11_INCLUDE_PATH
1366     X11_xkbcommon_X11_LIB
1367     X11_xkbfile_INCLUDE_PATH
1368     X11_xkbfile_LIB
1369     X11_Xmu_INCLUDE_PATH
1370     X11_Xmu_LIB
1371     X11_Xss_INCLUDE_PATH
1372     X11_Xss_LIB
1373     X11_Xpm_INCLUDE_PATH
1374     X11_Xpm_LIB
1375     X11_Xpresent_INCLUDE_PATH
1376     X11_Xpresent_LIB
1377     X11_Xft_LIB
1378     X11_Xft_INCLUDE_PATH
1379     X11_Xshape_INCLUDE_PATH
1380     X11_Xv_LIB
1381     X11_Xv_INCLUDE_PATH
1382     X11_XShm_INCLUDE_PATH
1383     X11_ICE_LIB
1384     X11_ICE_INCLUDE_PATH
1385     X11_SM_LIB
1386     X11_SM_INCLUDE_PATH
1387     X11_XSync_INCLUDE_PATH
1388     X11_Xaw_LIB
1389     X11_Xaw_INCLUDE_PATH
1390     X11_Xdbe_INCLUDE_PATH
1391   )
1392   set(CMAKE_FIND_FRAMEWORK ${CMAKE_FIND_FRAMEWORK_SAVE})
1393   set(CMAKE_REQUIRED_QUIET ${CMAKE_REQUIRED_QUIET_SAVE})
1394 endif ()