1ECM-FIND-MODULES(7)           Extra CMake Modules          ECM-FIND-MODULES(7)
2
3
4

NAME

6       ecm-find-modules - ECM Find Modules Reference
7

INTRODUCTION

9       Find  modules  are used by the CMake find_package command to search for
10       packages that do not provide their  own  CMake  package  config  files.
11       CMake  provides  an extensive set of find modules, and Extra CMake Mod‐
12       ules (ECM) adds to that.
13
14       To use ECM’s find modules, you need to tell CMake to find the ECM pack‐
15       age,  and  then add either ${ECM_MODULE_PATH} or ${ECM_FIND_MODULE_DIR}
16       to the CMAKE_MODULE_PATH variable:
17
18          find_package(ECM REQUIRED NO_MODULE)
19          set(CMAKE_MODULE_PATH ${ECM_FIND_MODULE_DIR})
20
21       Using ${ECM_MODULE_PATH} will also make the modules intended for direct
22       use  by  CMake  scripts  available (see ecm-modules(7) and ecm-kde-mod‐
23       ules(7)).
24
25       You  can  also  make  local  copies   of   find   modules   using   the
26       ecm_use_find_modules function from ECMUseFindModules, which is automat‐
27       ically included when ECM is found:
28
29          find_package(ECM REQUIRED NO_MODULE)
30          ecm_use_find_modules(
31              DIR "${CMAKE_BINARY_DIR}/cmake"
32              MODULES FindEGL.cmake
33          )
34          set(CMAKE_MODULE_PATH "${CMAKE_BINARY_DIR}/cmake")
35
36       This allows selective use of ECM’s find modules,  and  the  NO_OVERRIDE
37       argument  can  be used to ensure that if CMake ships its own version of
38       that find module, it will be used instead.
39

ALL FIND MODULES

41   FindCanberra
42       Try to find Canberra event sound library.
43
44       This will define the following variables:
45
46       Canberra_FOUND
47              True if (the requested version of) Canberra is available
48
49       Canberra_VERSION
50              The version of Canberra
51
52       Canberra_LIBRARIES
53              The libraries of Canberra for use with target_link_libraries()
54
55       Canberra_INCLUDE_DIRS
56              The include dirs of Canberra for use with  target_include_direc‐
57              tories()
58
59       If  Canberra_FOUND  is TRUE, it will also define the following imported
60       target:
61
62       Canberra::Canberra
63              The Canberra library
64
65       In general we recommend using the imported target, as it is  easier  to
66       use.   Bear  in mind, however, that if the target is in the link inter‐
67       face of an exported library, it must be made available by  the  package
68       config file.
69
70       Since 5.56.0.
71
72   FindEGL
73       Try to find EGL.
74
75       This will define the following variables:
76
77       EGL_FOUND
78              True if (the requested version of) EGL is available
79
80       EGL_VERSION
81              The version of EGL; note that this is the API version defined in
82              the headers, rather than the version of the implementation  (eg:
83              Mesa)
84
85       EGL_LIBRARIES
86              This  can  be  passed  to target_link_libraries() instead of the
87              EGL::EGL target
88
89       EGL_INCLUDE_DIRS
90              This should be passed  to  target_include_directories()  if  the
91              target is not used for linking
92
93       EGL_DEFINITIONS
94              This  should be passed to target_compile_options() if the target
95              is not used for linking
96
97       If EGL_FOUND is TRUE, it will also define the following  imported  tar‐
98       get:
99
100       EGL::EGL
101              The EGL library
102
103       In  general  we recommend using the imported target, as it is easier to
104       use.  Bear in mind, however, that if the target is in the  link  inter‐
105       face  of  an exported library, it must be made available by the package
106       config file.
107
108       Since pre-1.0.0.
109
110   FindFontconfig
111       Try to find Fontconfig.  Once done this will define the following vari‐
112       ables:
113
114       Fontconfig_FOUND
115              True if Fontconfig is available
116
117       Fontconfig_INCLUDE_DIRS
118              The include directory to use for the Fontconfig headers
119
120       Fontconfig_LIBRARIES
121              The Fontconfig libraries for linking
122
123       Fontconfig_DEFINITIONS
124              Compiler switches required for using Fontconfig
125
126       Fontconfig_VERSION
127              The version of Fontconfig that has been found
128
129       If Fontconfig_FOUND is TRUE, it will also define the following imported
130       target:
131
132       Fontconfig::Fontconfig
133
134       Since 5.57.0.
135
136   FindGLIB2
137       Try to locate the GLib2 library.  If found, this will define  the  fol‐
138       lowing variables:
139
140       GLIB2_FOUND
141              True if the GLib2 library is available
142
143       GLIB2_INCLUDE_DIRS
144              The GLib2 include directories
145
146       GLIB2_LIBRARIES
147              The GLib2 libraries for linking
148
149       GLIB2_INCLUDE_DIR
150              Deprecated, use GLIB2_INCLUDE_DIRS
151
152       GLIB2_LIBRARY
153              Deprecated, use GLIB2_LIBRARIES
154
155       If GLIB2_FOUND is TRUE, it will also define the following imported tar‐
156       get:
157
158       GLIB2::GLIB2
159              The GLIB2 library
160
161       Since 5.41.0.
162
163   FindGperf
164       Try to find GNU gperf.
165
166       If the gperf executable is not in your PATH, you can provide an  alter‐
167       native name or full path location with the Gperf_EXECUTABLE variable.
168
169       This will define the following variables:
170
171       Gperf_FOUND
172              True if gperf is available.
173
174       Gperf_EXECUTABLE
175              The gperf executable.
176
177       If Gperf_FOUND is TRUE, it will also define the following imported tar‐
178       get:
179
180       GPerf::Gperf
181              The gperf executable.
182
183       and the following public function:
184
185          ecm_gperf_generate(<GperfInput> <OutputFile> <OutputVariable>
186                 [GENERATION_FLAGS <flags>])
187
188       Run gperf on <GperfInput> to generate <OutputFile>, adding  it  to  the
189       <OutputVariable>  variable  which  contains  the  source for the target
190       where <OutputFile> is going to be built.  The optional GENERATION_FLAGS
191       argument  is  needed to pass extra parameters to gperf (note you cannot
192       override that way the output file).
193
194       A simple invocation would be:
195
196          ecm_gperf_generate(simple.gperf ${CMAKE_CURRENT_BINARY_DIR}/simple.h MySources)
197
198       Since 5.35.0.
199
200   FindIcoTool
201       Try to find icotool.
202
203       If the icotool executable is not in  your  PATH,  you  can  provide  an
204       alternative  name  or  full  path  location with the IcoTool_EXECUTABLE
205       variable.
206
207       This will define the following variables:
208
209       IcoTool_FOUND
210              True if icotool is available.
211
212       IcoTool_EXECUTABLE
213              The icotool executable.
214
215       If IcoTool_FOUND is TRUE, it will also define  the  following  imported
216       target:
217
218       IcoTool::IcoTool
219              The icotool executable.
220
221       Since 5.49.
222
223   FindInotify
224       Try to find inotify on this system. This finds:
225
226              · libinotify on Unix like systems, or
227
228              · the kernel’s inotify on Linux systems.
229
230       This will define the following variables:
231
232       Inotify_FOUND
233              True if inotify is available
234
235       Inotify_LIBRARIES
236              This has to be passed to target_link_libraries()
237
238       Inotify_INCLUDE_DIRS
239              This has to be passed to target_include_directories()
240
241       On  Linux, the libraries and include directories are empty, even though
242       Inotify_FOUND may be set to TRUE. This is because no  special  includes
243       or  libraries  are  needed. On other systems these may be needed to use
244       inotify.
245
246       Since 5.32.0.
247
248   FindKF5
249       Find KDE Frameworks 5 with a single find_package() call.
250
251       This will use the package  config  files  provided  by  the  individual
252       frameworks.   For example, if you wish to find KArchive, which presents
253       itself to CMake as KF5Archive (ie:  you  would  do  find_package(KF5Ar‐
254       chive) to find it directly), you can do
255
256          find_package(KF5 COMPONENTS Archive)
257
258       If all the required components (those given in the COMPONENTS argument,
259       but not those given in the  OPTIONAL_COMPONENTS  argument)  are  found,
260       KF5_FOUND will be set to true. Otherwise, it will be set to false.
261
262       Since pre-1.0.0.
263
264   FindLibExiv2
265       Try to find the Exiv2 library.
266
267       This will define the following variables:
268
269       LibExiv2_FOUND
270              True if (the requested version of) Exiv2 is available
271
272       LibExiv2_VERSION
273              The version of Exiv2
274
275       LibExiv2_INCLUDE_DIRS
276              The  include  dirs of Exiv2 for use with target_include_directo‐
277              ries()
278
279       LibExiv2_LIBRARIES
280              The Exiv2 library for use  with  target_link_libraries().   This
281              can   be   passed  to  target_link_libraries()  instead  of  the
282              LibExiv2::LibExiv2 target
283
284       If LibExiv2_FOUND is TRUE, it will also define the  following  imported
285       target:
286
287       LibExiv2::LibExiv2
288              The Exiv2 library
289
290       In  general  we recommend using the imported target, as it is easier to
291       use.  Bear in mind, however, that if the target is in the  link  inter‐
292       face  of  an exported library, it must be made available by the package
293       config file.
294
295       Since 5.53.0.
296
297   FindLibGit2
298       Try to find libgit2 on a Unix system.
299
300       This will define the following variables:
301
302       LIBGIT2_FOUND
303              True if (the requested version of) libgit2 is available
304
305       LIBGIT2_VERSION
306              The version of libgit2
307
308       LIBGIT2_LIBRARIES
309              This can be passed to  target_link_libraries()  instead  of  the
310              LibGit2::LibGit2 target
311
312       LIBGIT2_INCLUDE_DIRS
313              This  should  be  passed  to target_include_directories() if the
314              target is not used for linking
315
316       LIBGIT2_DEFINITIONS
317              This should be passed to target_compile_options() if the  target
318              is not used for linking
319
320       If  LIBGIT2_FOUND  is  TRUE, it will also define the following imported
321       target:
322
323       LibGit2::LibGit2
324              The libgit2 library
325
326       In general we recommend using the imported target, as it is  easier  to
327       use.   Bear  in mind, however, that if the target is in the link inter‐
328       face of an exported library, it must be made available by  the  package
329       config file.
330
331       Since 1.3.0.
332
333   FindOpenEXR
334       Try to find the OpenEXR libraries.
335
336       This will define the following variables:
337
338       OpenEXR_FOUND
339              True if OpenEXR is available
340
341       OpenEXR_LIBRARIES
342              Link to these to use OpenEXR
343
344       OpenEXR_INCLUDE_DIRS
345              Include directory for OpenEXR
346
347       OpenEXR_DEFINITIONS
348              Compiler flags required to link against OpenEXR
349
350       and the following imported targets:
351
352       OpenEXR::IlmImf
353              The OpenEXR core library
354
355       In  general  we recommend using the imported target, as it is easier to
356       use.  Bear in mind, however, that if the target is in the  link  inter‐
357       face  of  an exported library, it must be made available by the package
358       config file.
359
360       Since pre-1.0.0.
361
362   FindPhoneNumber
363       Try to find PhoneNumber.
364
365       This is a component-based find module, which makes use  of  the  COMPO‐
366       NENTS  and OPTIONAL_COMPONENTS arguments to find_module.  The following
367       components are available:
368
369          PhoneNumber  GeoCoding
370
371       If no components are specified, this module will act as though all com‐
372       ponents were passed to OPTIONAL_COMPONENTS.
373
374       This  module  will define the following variables, independently of the
375       components searched for or found:
376
377       PhoneNumber_FOUND
378              True if (the requestion version of) PhoneNumber is available
379
380       For each searched-for components, PhoneNumber_<component>_FOUND will be
381       set  to  TRUE  if the corresponding library was found, and FALSE other‐
382       wise.  If PhoneNumber_<component>_FOUND is TRUE,  the  imported  target
383       PhoneNumber::<component> will be defined.
384
385       Since 5.54.0.
386
387   FindPng2Ico
388       Try to find png2ico.
389
390       If  the  png2ico  executable  is  not  in your PATH, you can provide an
391       alternative name or full  path  location  with  the  Png2Ico_EXECUTABLE
392       variable.
393
394       This will define the following variables:
395
396       Png2Ico_FOUND
397              True if png2ico is available.
398
399       Png2Ico_EXECUTABLE
400              The png2ico executable.
401
402       If  Png2Ico_FOUND  is  TRUE, it will also define the following imported
403       target:
404
405       Png2Ico::Png2Ico
406              The png2ico executable.
407
408       and the following variables:
409
410       Png2Ico_HAS_COLORS_ARGUMENT
411              Whether png2ico accepts a --colors argument. Matthias Benkmann’s
412              tool  does,  while  the version of png2ico from the “KDE On Win‐
413              dows” (kdewin) project does not.
414
415       Png2Ico_HAS_RCFILE_ARGUMENT
416              Whether png2ico accepts an --rcfile  argument.  The  version  of
417              png2ico  from  the “KDE On Windows” (kdewin) project does, while
418              Matthias Benkmann’s tool does not.
419
420       Since 1.7.0.
421
422   FindPoppler
423       Try to find Poppler.
424
425       This is a component-based find module, which makes use  of  the  COMPO‐
426       NENTS  and OPTIONAL_COMPONENTS arguments to find_module.  The following
427       components are available:
428
429          Core  Cpp  Qt5  Qt4  Glib
430
431       If no components are specified, this module will act as though all com‐
432       ponents were passed to OPTIONAL_COMPONENTS.
433
434       This  module  will define the following variables, independently of the
435       components searched for or found:
436
437       Poppler_FOUND
438              TRUE if (the requested version of) Poppler is available
439
440       Poppler_VERSION
441              Found Poppler version
442
443       Poppler_TARGETS
444              A list of all targets imported by this module (note  that  there
445              may be more than the components that were requested)
446
447       Poppler_LIBRARIES
448              This  can  be  passed  to target_link_libraries() instead of the
449              imported targets
450
451       Poppler_INCLUDE_DIRS
452              This should be passed  to  target_include_directories()  if  the
453              targets are not used for linking
454
455       Poppler_DEFINITIONS
456              This should be passed to target_compile_options() if the targets
457              are not used for linking
458
459       For each searched-for components, Poppler_<component>_FOUND will be set
460       to  TRUE if the corresponding Poppler library was found, and FALSE oth‐
461       erwise.  If Poppler_<component>_FOUND is TRUE, the imported target Pop‐
462       pler::<component>  will  be  defined.  This module will also attempt to
463       determine  Poppler_*_VERSION  variables  for  each   imported   target,
464       although Poppler_VERSION should normally be sufficient.
465
466       In  general we recommend using the imported targets, as they are easier
467       to use and provide more control.  Bear in mind, however,  that  if  any
468       target is in the link interface of an exported library, it must be made
469       available by the package config file.
470
471       Since 5.19
472
473   FindPulseAudio
474       Try to locate the PulseAudio library.  If found, this will  define  the
475       following variables:
476
477       PulseAudio_FOUND
478              True  if  the  system has the PulseAudio library of at least the
479              minimum version specified by either  the  version  parameter  to
480              find_package() or the variable PulseAudio_MINIMUM_VERSION
481
482       PulseAudio_INCLUDE_DIRS
483              The PulseAudio include directory
484
485       PulseAudio_LIBRARIES
486              The PulseAudio libraries for linking
487
488       PulseAudio_MAINLOOP_LIBRARY
489              The libraries needed to use PulseAudio Mainloop
490
491       PulseAudio_VERSION
492              The version of PulseAudio that was found
493
494       PulseAudio_INCLUDE_DIR
495              Deprecated, use PulseAudio_INCLUDE_DIRS
496
497       PulseAudio_LIBRARY
498              Deprecated, use PulseAudio_LIBRARIES
499
500       If PulseAudio_FOUND is TRUE, it will also define the following imported
501       target:
502
503       PulseAudio::PulseAudio
504              The PulseAudio library
505
506       Since 5.41.0.
507
508   FindQtWaylandScanner
509       Try to find qtwaylandscanner.
510
511       If the qtwaylandscanner executable is not in your PATH, you can provide
512       an  alternative  name  or  full  path  location with the QtWaylandScan‐
513       ner_EXECUTABLE variable.
514
515       This will define the following variables:
516
517       QtWaylandScanner_FOUND
518              True if qtwaylandscanner is available
519
520       QtWaylandScanner_EXECUTABLE
521              The qtwaylandscanner executable.
522
523       If QtWaylandScanner_FOUND is TRUE, it will also  define  the  following
524       imported target:
525
526       Wayland::QtScanner
527              The qtwaylandscanner executable.
528
529       This  module  provides the following functions to generate C++ protocol
530       implementations:
531
532          · ecm_add_qtwayland_client_protocol
533
534          · ecm_add_qtwayland_server_protocol
535
536          ecm_add_qtwayland_client_protocol(<source_files_var>
537                                            PROTOCOL <xmlfile>
538                                            BASENAME <basename>
539                                            [PREFIX <prefix>])
540
541       Generate C++ wrapper to Wayland client protocol  files  from  <xmlfile>
542       XML  definition  for the <basename> interface and append those files to
543       <source_files_var>.  Pass the <prefix> argument if the interface  names
544       don’t start with qt_ or wl_.
545
546       WaylandScanner is required and will be searched for.
547
548          ecm_add_qtwayland_server_protocol(<source_files_var>
549                                            PROTOCOL <xmlfile>
550                                            BASENAME <basename>
551                                            [PREFIX <prefix>])
552
553       Generate  C++  wrapper  to Wayland server protocol files from <xmlfile>
554       XML definition for the <basename> interface and append those  files  to
555       <source_files_var>.   Pass the <prefix> argument if the interface names
556       don’t start with qt_ or wl_.
557
558       WaylandScanner is required and will be searched for.
559
560       Since 1.4.0.
561
562   FindSasl2
563       Try to find the SASL2 library.
564
565       This will define the following variables:
566
567       Sasl2_FOUND
568              System has SASL2.
569
570       Sasl2_VERSION
571              The version of SASL2.
572
573       Sasl2_INCLUDE_DIRS
574              This should be passed  to  target_include_directories()  if  the
575              target is not used for linking.
576
577       Sasl2_LIBRARIES
578              The    SASL2    library.    This   can   be   passed   to   tar‐
579              get_link_libraries() instead of the Sasl2::Sasl2 target
580
581       If Sasl2_FOUND is TRUE, the following imported target  will  be  avail‐
582       able:
583
584       Sasl2::Sasl2
585              The SASL2 library
586
587       Since 5.41.0.
588
589   FindSeccomp
590       Try to locate the libseccomp library.
591
592       This will define the following variables:
593
594       Seccomp_FOUND
595              True if the seccomp library is available
596
597       Seccomp_INCLUDE_DIRS
598              The seccomp include directories
599
600       Seccomp_LIBRARIES
601              The seccomp libraries for linking
602
603       If  Seccomp_FOUND  is  TRUE, it will also define the following imported
604       target:
605
606       Seccomp::Seccomp
607              The Seccomp library
608
609       Since 5.44.0.
610
611   FindSharedMimeInfo
612       Try to find the shared-mime-info package.
613
614       This will define the following variables:
615
616       SharedMimeInfo_FOUND
617              True if system has the shared-mime-info package
618
619       UPDATE_MIME_DATABASE_EXECUTABLE
620              The update-mime-database executable
621
622       and the following imported targets:
623
624       SharedMimeInfo::UpdateMimeDatabase
625              The update-mime-database executable
626
627       The follow macro is available:
628
629          update_xdg_mimetypes(<path>)
630
631       Updates the XDG mime database at  install  time  (unless  the  $DESTDIR
632       environment variable is set, in which case it is up to package managers
633       to perform this task).
634
635       Since pre-1.0.0.
636
637   FindUDev
638       Try to find the UDev library.
639
640       This will define the following variables:
641
642       UDev_FOUND
643              System has UDev.
644
645       UDev_INCLUDE_DIRS
646              The libudev include directory.
647
648       UDev_LIBRARIES
649              The libudev libraries.
650
651       UDev_VERSION
652              The libudev version.
653
654       If UDev_FOUND is TRUE, it will also define the following imported  tar‐
655       get:
656
657       UDev::UDev
658              The UDev library
659
660       Since 5.57.0.
661
662   FindWayland
663       Try to find Wayland.
664
665       This  is  a  component-based find module, which makes use of the COMPO‐
666       NENTS and OPTIONAL_COMPONENTS arguments to find_module.  The  following
667       components are available:
668
669          Client  Server  Cursor  Egl
670
671       If no components are specified, this module will act as though all com‐
672       ponents were passed to OPTIONAL_COMPONENTS.
673
674       This module will define the following variables, independently  of  the
675       components searched for or found:
676
677       Wayland_FOUND
678              TRUE if (the requested version of) Wayland is available
679
680       Wayland_VERSION
681              Found Wayland version
682
683       Wayland_TARGETS
684              A  list  of all targets imported by this module (note that there
685              may be more than the components that were requested)
686
687       Wayland_LIBRARIES
688              This can be passed to  target_link_libraries()  instead  of  the
689              imported targets
690
691       Wayland_INCLUDE_DIRS
692              This  should  be  passed  to target_include_directories() if the
693              targets are not used for linking
694
695       Wayland_DEFINITIONS
696              This should be passed to target_compile_options() if the targets
697              are not used for linking
698
699       For each searched-for components, Wayland_<component>_FOUND will be set
700       to TRUE if the corresponding Wayland library was found, and FALSE  oth‐
701       erwise.  If Wayland_<component>_FOUND is TRUE, the imported target Way‐
702       land::<component> will be defined.  This module will  also  attempt  to
703       determine   Wayland_*_VERSION   variables  for  each  imported  target,
704       although Wayland_VERSION should normally be sufficient.
705
706       In general we recommend using the imported targets, as they are  easier
707       to  use  and  provide more control.  Bear in mind, however, that if any
708       target is in the link interface of an exported library, it must be made
709       available by the package config file.
710
711       Since pre-1.0.0.
712
713   FindWaylandScanner
714       Try to find wayland-scanner.
715
716       If  the wayland-scanner executable is not in your PATH, you can provide
717       an alternative name or full path location with the  WaylandScanner_EXE‐
718       CUTABLE variable.
719
720       This will define the following variables:
721
722       WaylandScanner_FOUND
723              True if wayland-scanner is available.
724
725       WaylandScanner_EXECUTABLE
726              The wayland-scanner executable.
727
728       If  WaylandScanner_FOUND  is  TRUE,  it  will also define the following
729       imported target:
730
731       Wayland::Scanner
732              The wayland-scanner executable.
733
734       This module provides the following functions  to  generate  C  protocol
735       implementations:
736
737          · ecm_add_wayland_client_protocol
738
739          · ecm_add_wayland_server_protocol
740
741          ecm_add_wayland_client_protocol(<source_files_var>
742                                          PROTOCOL <xmlfile>
743                                          BASENAME <basename>)
744
745       Generate  Wayland  client  protocol files from <xmlfile> XML definition
746       for   the   <basename>   interface   and   append   those   files    to
747       <source_files_var>.
748
749          ecm_add_wayland_server_protocol(<source_files_var>
750                                          PROTOCOL <xmlfile>
751                                          BASENAME <basename>)
752
753       Generate  Wayland  server  protocol files from <xmlfile> XML definition
754       for   the   <basename>   interface   and   append   those   files    to
755       <source_files_var>.
756
757       Since 1.4.0.
758
759   FindX11_XCB
760       Try to find the X11 XCB compatibility library.
761
762       This will define the following variables:
763
764       X11_XCB_FOUND
765              True if (the requested version of) libX11-xcb is available
766
767       X11_XCB_VERSION
768              The version of libX11-xcb (this is not guaranteed to be set even
769              when X11_XCB_FOUND is true)
770
771       X11_XCB_LIBRARIES
772              This can be passed to  target_link_libraries()  instead  of  the
773              EGL::EGL target
774
775       X11_XCB_INCLUDE_DIR
776              This  should  be  passed  to target_include_directories() if the
777              target is not used for linking
778
779       X11_XCB_DEFINITIONS
780              This should be passed to target_compile_options() if the  target
781              is not used for linking
782
783       If  X11_XCB_FOUND  is  TRUE, it will also define the following imported
784       target:
785
786       X11::XCB
787              The X11 XCB compatibility library
788
789       In general we recommend using the imported target, as it is  easier  to
790       use.   Bear  in mind, however, that if the target is in the link inter‐
791       face of an exported library, it must be made available by  the  package
792       config file.
793
794       Since pre-1.0.0.
795
796   FindXCB
797       Try to find XCB.
798
799       This  is  a  component-based find module, which makes use of the COMPO‐
800       NENTS and OPTIONAL_COMPONENTS arguments to find_module.  The  following
801       components are available:
802
803          XCB
804          ATOM         AUX          COMPOSITE    CURSOR       DAMAGE
805          DPMS         DRI2         DRI3         EVENT        EWMH
806          GLX          ICCCM        IMAGE        KEYSYMS      PRESENT
807          RANDR        RECORD       RENDER       RENDERUTIL   RES
808          SCREENSAVER  SHAPE        SHM          SYNC         UTIL
809          XEVIE        XF86DRI      XFIXES       XINERAMA     XINPUT
810          XKB          XPRINT       XTEST        XV           XVMC
811
812       If no components are specified, this module will act as though all com‐
813       ponents except XINPUT (which is considered  unstable)  were  passed  to
814       OPTIONAL_COMPONENTS.
815
816       This  module  will define the following variables, independently of the
817       components searched for or found:
818
819       XCB_FOUND
820              True if (the requestion version of) xcb is available
821
822       XCB_VERSION
823              Found xcb version
824
825       XCB_TARGETS
826              A list of all targets imported by this module (note  that  there
827              may be more than the components that were requested)
828
829       XCB_LIBRARIES
830              This  can  be  passed  to target_link_libraries() instead of the
831              imported targets
832
833       XCB_INCLUDE_DIRS
834              This should be passed  to  target_include_directories()  if  the
835              targets are not used for linking
836
837       XCB_DEFINITIONS
838              This should be passed to target_compile_options() if the targets
839              are not used for linking
840
841       For each searched-for components, XCB_<component>_FOUND will be set  to
842       true  if  the corresponding xcb library was found, and false otherwise.
843       If XCB_<component>_FOUND is true, the imported target  XCB::<component>
844       will be defined.  This module will also attempt to determine XCB_*_VER‐
845       SION variables for each imported target,  although  XCB_VERSION  should
846       normally be sufficient.
847
848       In  general we recommend using the imported targets, as they are easier
849       to use and provide more control.  Bear in mind, however,  that  if  any
850       target is in the link interface of an exported library, it must be made
851       available by the package config file.
852
853       Since pre-1.0.0.
854

SEE ALSO

856       ecm(7), ecm-modules(7), ecm-kde-modules(7)
857
859       KDE Developers
860
861
862
863
8645.68                             Mar 19, 2020              ECM-FIND-MODULES(7)
Impressum