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   FindGradle
201       Provides the ability to build Android AAR libraries using Gradle.
202
203       This relies on the Qt provided Gradle, so a Qt for Android installation
204       is required.
205
206          gradle_add_aar(<target>
207                 BUIDLFILE build.gradle NAME <aar-name>)
208
209       This builds an Android AAR library using the given build.gradle file.
210
211          gradle_install_aar(<target>
212                 DESTINATION <dest>)
213
214       Installs  a  Android  AAR  library  that  has  been  created  with gra‐
215       dle_add_aar.
216
217       Since 5.76.0.
218
219   FindIcoTool
220       Try to find icotool.
221
222       If the icotool executable is not in  your  PATH,  you  can  provide  an
223       alternative  name  or  full  path  location with the IcoTool_EXECUTABLE
224       variable.
225
226       This will define the following variables:
227
228       IcoTool_FOUND
229              True if icotool is available.
230
231       IcoTool_EXECUTABLE
232              The icotool executable.
233
234       If IcoTool_FOUND is TRUE, it will also define  the  following  imported
235       target:
236
237       IcoTool::IcoTool
238              The icotool executable.
239
240       Since 5.49.
241
242   FindInotify
243       Try to find inotify on this system. This finds:
244
245              · libinotify on Unix like systems, or
246
247              · the kernel’s inotify on Linux systems.
248
249       This will define the following variables:
250
251       Inotify_FOUND
252              True if inotify is available
253
254       Inotify_LIBRARIES
255              This has to be passed to target_link_libraries()
256
257       Inotify_INCLUDE_DIRS
258              This has to be passed to target_include_directories()
259
260       On  Linux, the libraries and include directories are empty, even though
261       Inotify_FOUND may be set to TRUE. This is because no  special  includes
262       or  libraries  are  needed. On other systems these may be needed to use
263       inotify.
264
265       Since 5.32.0.
266
267   FindKF5
268       Find KDE Frameworks 5 with a single find_package() call.
269
270       This will use the package  config  files  provided  by  the  individual
271       frameworks.   For example, if you wish to find KArchive, which presents
272       itself to CMake as KF5Archive (ie:  you  would  do  find_package(KF5Ar‐
273       chive) to find it directly), you can do
274
275          find_package(KF5 COMPONENTS Archive)
276
277       If all the required components (those given in the COMPONENTS argument,
278       but not those given in the  OPTIONAL_COMPONENTS  argument)  are  found,
279       KF5_FOUND will be set to true. Otherwise, it will be set to false.
280
281       Since pre-1.0.0.
282
283   FindLibExiv2
284       Try to find the Exiv2 library.
285
286       This will define the following variables:
287
288       LibExiv2_FOUND
289              True if (the requested version of) Exiv2 is available
290
291       LibExiv2_VERSION
292              The version of Exiv2
293
294       LibExiv2_INCLUDE_DIRS
295              The  include  dirs of Exiv2 for use with target_include_directo‐
296              ries()
297
298       LibExiv2_LIBRARIES
299              The Exiv2 library for use  with  target_link_libraries().   This
300              can   be   passed  to  target_link_libraries()  instead  of  the
301              LibExiv2::LibExiv2 target
302
303       If LibExiv2_FOUND is TRUE, it will also define the  following  imported
304       target:
305
306       LibExiv2::LibExiv2
307              The Exiv2 library
308
309       In  general  we recommend using the imported target, as it is easier to
310       use.  Bear in mind, however, that if the target is in the  link  inter‐
311       face  of  an exported library, it must be made available by the package
312       config file.
313
314       Since 5.53.0.
315
316   FindLibGit2
317       Try to find libgit2 on a Unix system.
318
319       This will define the following variables:
320
321       LIBGIT2_FOUND
322              True if (the requested version of) libgit2 is available
323
324       LIBGIT2_VERSION
325              The version of libgit2
326
327       LIBGIT2_LIBRARIES
328              This can be passed to  target_link_libraries()  instead  of  the
329              LibGit2::LibGit2 target
330
331       LIBGIT2_INCLUDE_DIRS
332              This  should  be  passed  to target_include_directories() if the
333              target is not used for linking
334
335       LIBGIT2_DEFINITIONS
336              This should be passed to target_compile_options() if the  target
337              is not used for linking
338
339       If  LIBGIT2_FOUND  is  TRUE, it will also define the following imported
340       target:
341
342       LibGit2::LibGit2
343              The libgit2 library
344
345       In general we recommend using the imported target, as it is  easier  to
346       use.   Bear  in mind, however, that if the target is in the link inter‐
347       face of an exported library, it must be made available by  the  package
348       config file.
349
350       Since 1.3.0.
351
352   FindOpenEXR
353       Try to find the OpenEXR libraries.
354
355       This will define the following variables:
356
357       OpenEXR_FOUND
358              True if OpenEXR is available
359
360       OpenEXR_LIBRARIES
361              Link to these to use OpenEXR
362
363       OpenEXR_INCLUDE_DIRS
364              Include directory for OpenEXR
365
366       OpenEXR_DEFINITIONS
367              Compiler flags required to link against OpenEXR
368
369       and the following imported targets:
370
371       OpenEXR::IlmImf
372              The OpenEXR core library
373
374       In  general  we recommend using the imported target, as it is easier to
375       use.  Bear in mind, however, that if the target is in the  link  inter‐
376       face  of  an exported library, it must be made available by the package
377       config file.
378
379       Since pre-1.0.0.
380
381   FindPhoneNumber
382       Try to find PhoneNumber.
383
384       This is a component-based find module, which makes use  of  the  COMPO‐
385       NENTS  and OPTIONAL_COMPONENTS arguments to find_module.  The following
386       components are available:
387
388          PhoneNumber  GeoCoding
389
390       If no components are specified, this module will act as though all com‐
391       ponents were passed to OPTIONAL_COMPONENTS.
392
393       This  module  will define the following variables, independently of the
394       components searched for or found:
395
396       PhoneNumber_FOUND
397              True if (the requestion version of) PhoneNumber is available
398
399       For each searched-for components, PhoneNumber_<component>_FOUND will be
400       set  to  TRUE  if the corresponding library was found, and FALSE other‐
401       wise.  If PhoneNumber_<component>_FOUND is TRUE,  the  imported  target
402       PhoneNumber::<component> will be defined.
403
404       Since 5.54.0.
405
406   FindPoppler
407       Try to find Poppler.
408
409       This  is  a  component-based find module, which makes use of the COMPO‐
410       NENTS and OPTIONAL_COMPONENTS arguments to find_module.  The  following
411       components are available:
412
413          Core  Cpp  Qt5  Qt4  Glib
414
415       If no components are specified, this module will act as though all com‐
416       ponents were passed to OPTIONAL_COMPONENTS.
417
418       This module will define the following variables, independently  of  the
419       components searched for or found:
420
421       Poppler_FOUND
422              TRUE if (the requested version of) Poppler is available
423
424       Poppler_VERSION
425              Found Poppler version
426
427       Poppler_TARGETS
428              A  list  of all targets imported by this module (note that there
429              may be more than the components that were requested)
430
431       Poppler_LIBRARIES
432              This can be passed to  target_link_libraries()  instead  of  the
433              imported targets
434
435       Poppler_INCLUDE_DIRS
436              This  should  be  passed  to target_include_directories() if the
437              targets are not used for linking
438
439       Poppler_DEFINITIONS
440              This should be passed to target_compile_options() if the targets
441              are not used for linking
442
443       For each searched-for components, Poppler_<component>_FOUND will be set
444       to TRUE if the corresponding Poppler library was found, and FALSE  oth‐
445       erwise.  If Poppler_<component>_FOUND is TRUE, the imported target Pop‐
446       pler::<component> will be defined.  This module will  also  attempt  to
447       determine   Poppler_*_VERSION   variables  for  each  imported  target,
448       although Poppler_VERSION should normally be sufficient.
449
450       In general we recommend using the imported targets, as they are  easier
451       to  use  and  provide more control.  Bear in mind, however, that if any
452       target is in the link interface of an exported library, it must be made
453       available by the package config file.
454
455       Since 5.19
456
457   FindPulseAudio
458       Try  to  locate the PulseAudio library.  If found, this will define the
459       following variables:
460
461       PulseAudio_FOUND
462              True if the system has the PulseAudio library of  at  least  the
463              minimum  version  specified  by  either the version parameter to
464              find_package() or the variable PulseAudio_MINIMUM_VERSION
465
466       PulseAudio_INCLUDE_DIRS
467              The PulseAudio include directory
468
469       PulseAudio_LIBRARIES
470              The PulseAudio libraries for linking
471
472       PulseAudio_MAINLOOP_LIBRARY
473              The libraries needed to use PulseAudio Mainloop
474
475       PulseAudio_VERSION
476              The version of PulseAudio that was found
477
478       PulseAudio_INCLUDE_DIR
479              Deprecated, use PulseAudio_INCLUDE_DIRS
480
481       PulseAudio_LIBRARY
482              Deprecated, use PulseAudio_LIBRARIES
483
484       If PulseAudio_FOUND is TRUE, it will also define the following imported
485       target:
486
487       PulseAudio::PulseAudio
488              The PulseAudio library
489
490       Since 5.41.0.
491
492   FindQtWaylandScanner
493       Try to find qtwaylandscanner.
494
495       If the qtwaylandscanner executable is not in your PATH, you can provide
496       an alternative name or  full  path  location  with  the  QtWaylandScan‐
497       ner_EXECUTABLE variable.
498
499       This will define the following variables:
500
501       QtWaylandScanner_FOUND
502              True if qtwaylandscanner is available
503
504       QtWaylandScanner_EXECUTABLE
505              The qtwaylandscanner executable.
506
507       If  QtWaylandScanner_FOUND  is  TRUE, it will also define the following
508       imported target:
509
510       Wayland::QtScanner
511              The qtwaylandscanner executable.
512
513       This module provides the following functions to generate  C++  protocol
514       implementations:
515
516          · ecm_add_qtwayland_client_protocol
517
518          · ecm_add_qtwayland_server_protocol
519
520          ecm_add_qtwayland_client_protocol(<source_files_var>
521                                            PROTOCOL <xmlfile>
522                                            BASENAME <basename>
523                                            [PREFIX <prefix>])
524
525       Generate  C++  wrapper  to Wayland client protocol files from <xmlfile>
526       XML definition for the <basename> interface and append those  files  to
527       <source_files_var>.   Pass the <prefix> argument if the interface names
528       don’t start with qt_ or wl_.
529
530       WaylandScanner is required and will be searched for.
531
532          ecm_add_qtwayland_server_protocol(<source_files_var>
533                                            PROTOCOL <xmlfile>
534                                            BASENAME <basename>
535                                            [PREFIX <prefix>])
536
537       Generate C++ wrapper to Wayland server protocol  files  from  <xmlfile>
538       XML  definition  for the <basename> interface and append those files to
539       <source_files_var>.  Pass the <prefix> argument if the interface  names
540       don’t start with qt_ or wl_.
541
542       WaylandScanner is required and will be searched for.
543
544       Since 1.4.0.
545
546   FindSasl2
547       Try to find the SASL2 library.
548
549       This will define the following variables:
550
551       Sasl2_FOUND
552              System has SASL2.
553
554       Sasl2_VERSION
555              The version of SASL2.
556
557       Sasl2_INCLUDE_DIRS
558              This  should  be  passed  to target_include_directories() if the
559              target is not used for linking.
560
561       Sasl2_LIBRARIES
562              The   SASL2   library.    This   can   be   passed    to    tar‐
563              get_link_libraries() instead of the Sasl2::Sasl2 target
564
565       If  Sasl2_FOUND  is  TRUE, the following imported target will be avail‐
566       able:
567
568       Sasl2::Sasl2
569              The SASL2 library
570
571       Since 5.41.0.
572
573   FindSeccomp
574       Try to locate the libseccomp library.
575
576       This will define the following variables:
577
578       Seccomp_FOUND
579              True if the seccomp library is available
580
581       Seccomp_INCLUDE_DIRS
582              The seccomp include directories
583
584       Seccomp_LIBRARIES
585              The seccomp libraries for linking
586
587       If Seccomp_FOUND is TRUE, it will also define  the  following  imported
588       target:
589
590       Seccomp::Seccomp
591              The Seccomp library
592
593       Since 5.44.0.
594
595   FindSharedMimeInfo
596       Try to find the shared-mime-info package.
597
598       This will define the following variables:
599
600       SharedMimeInfo_FOUND
601              True if system has the shared-mime-info package
602
603       UPDATE_MIME_DATABASE_EXECUTABLE
604              The update-mime-database executable
605
606       and the following imported targets:
607
608       SharedMimeInfo::UpdateMimeDatabase
609              The update-mime-database executable
610
611       The follow macro is available:
612
613          update_xdg_mimetypes(<path>)
614
615       Updates  the  XDG  mime  database  at install time (unless the $DESTDIR
616       environment variable is set, in which case it is up to package managers
617       to perform this task).
618
619       Since pre-1.0.0.
620
621   FindTaglib
622       Try to find the Taglib library.
623
624       This will define the following variables:
625
626       Taglib_FOUND
627              True  if the system has the taglib library of at least the mini‐
628              mum version specified by the version parameter to find_package()
629
630       Taglib_INCLUDE_DIRS
631              The taglib include dirs for use with target_include_directories
632
633       Taglib_LIBRARIES
634              The taglib libraries for use with target_link_libraries()
635
636       Taglib_VERSION
637              The version of taglib that was found
638
639       If Taglib_FOUND is TRUE, it will also  define  the  following  imported
640       target:
641
642       Taglib::Taglib
643              The Taglib library
644
645       Since 5.72.0
646
647       SPDX-FileCopyrightText: 2006 Laurent Montel <montel@kde.org> SPDX-File‐
648       CopyrightText: 2019 Heiko Becker <heirecka@exherbo.org>  SPDX-FileCopy‐
649       rightText:    2020    Elvis    Angelaccio    <elvis.angelaccio@kde.org>
650       SPDX-License-Identifier: BSD-3-Clause
651
652   FindUDev
653       Try to find the UDev library.
654
655       This will define the following variables:
656
657       UDev_FOUND
658              System has UDev.
659
660       UDev_INCLUDE_DIRS
661              The libudev include directory.
662
663       UDev_LIBRARIES
664              The libudev libraries.
665
666       UDev_VERSION
667              The libudev version.
668
669       If UDev_FOUND is TRUE, it will also define the following imported  tar‐
670       get:
671
672       UDev::UDev
673              The UDev library
674
675       Since 5.57.0.
676
677   FindWayland
678       Try to find Wayland.
679
680       This  is  a  component-based find module, which makes use of the COMPO‐
681       NENTS and OPTIONAL_COMPONENTS arguments to find_module.  The  following
682       components are available:
683
684          Client  Server  Cursor  Egl
685
686       If no components are specified, this module will act as though all com‐
687       ponents were passed to OPTIONAL_COMPONENTS.
688
689       This module will define the following variables, independently  of  the
690       components searched for or found:
691
692       Wayland_FOUND
693              TRUE if (the requested version of) Wayland is available
694
695       Wayland_VERSION
696              Found Wayland version
697
698       Wayland_TARGETS
699              A  list  of all targets imported by this module (note that there
700              may be more than the components that were requested)
701
702       Wayland_LIBRARIES
703              This can be passed to  target_link_libraries()  instead  of  the
704              imported targets
705
706       Wayland_INCLUDE_DIRS
707              This  should  be  passed  to target_include_directories() if the
708              targets are not used for linking
709
710       Wayland_DEFINITIONS
711              This should be passed to target_compile_options() if the targets
712              are not used for linking
713
714       Wayland_DATADIR
715              The core wayland protocols data directory Since 5.73.0
716
717       For each searched-for components, Wayland_<component>_FOUND will be set
718       to TRUE if the corresponding Wayland library was found, and FALSE  oth‐
719       erwise.  If Wayland_<component>_FOUND is TRUE, the imported target Way‐
720       land::<component> will be defined.  This module will  also  attempt  to
721       determine   Wayland_*_VERSION   variables  for  each  imported  target,
722       although Wayland_VERSION should normally be sufficient.
723
724       In general we recommend using the imported targets, as they are  easier
725       to  use  and  provide more control.  Bear in mind, however, that if any
726       target is in the link interface of an exported library, it must be made
727       available by the package config file.
728
729       Since pre-1.0.0.
730
731   FindWaylandProtocols
732       Try to find wayland-protocols on a Unix system.
733
734       This will define the following variables:
735
736       WaylandProtocols_FOUND
737              True  if  (the requested version of) wayland-protocols is avail‐
738              able
739
740       WaylandProtocols_VERSION
741              The version of wayland-protocols
742
743       WaylandProtocols_DATADIR
744              The wayland protocols data directory
745
746   FindWaylandScanner
747       Try to find wayland-scanner.
748
749       If the wayland-scanner executable is not in your PATH, you can  provide
750       an  alternative name or full path location with the WaylandScanner_EXE‐
751       CUTABLE variable.
752
753       This will define the following variables:
754
755       WaylandScanner_FOUND
756              True if wayland-scanner is available.
757
758       WaylandScanner_EXECUTABLE
759              The wayland-scanner executable.
760
761       If WaylandScanner_FOUND is TRUE, it  will  also  define  the  following
762       imported target:
763
764       Wayland::Scanner
765              The wayland-scanner executable.
766
767       This  module  provides  the  following functions to generate C protocol
768       implementations:
769
770          · ecm_add_wayland_client_protocol
771
772          · ecm_add_wayland_server_protocol
773
774          ecm_add_wayland_client_protocol(<source_files_var>
775                                          PROTOCOL <xmlfile>
776                                          BASENAME <basename>)
777
778       Generate Wayland client protocol files from  <xmlfile>  XML  definition
779       for    the   <basename>   interface   and   append   those   files   to
780       <source_files_var>.
781
782          ecm_add_wayland_server_protocol(<source_files_var>
783                                          PROTOCOL <xmlfile>
784                                          BASENAME <basename>)
785
786       Generate Wayland server protocol files from  <xmlfile>  XML  definition
787       for    the   <basename>   interface   and   append   those   files   to
788       <source_files_var>.
789
790       Since 1.4.0.
791
792   FindX11_XCB
793       Try to find the X11 XCB compatibility library.
794
795       This will define the following variables:
796
797       X11_XCB_FOUND
798              True if (the requested version of) libX11-xcb is available
799
800       X11_XCB_VERSION
801              The version of libX11-xcb (this is not guaranteed to be set even
802              when X11_XCB_FOUND is true)
803
804       X11_XCB_LIBRARIES
805              This  can  be  passed  to target_link_libraries() instead of the
806              EGL::EGL target
807
808       X11_XCB_INCLUDE_DIR
809              This should be passed  to  target_include_directories()  if  the
810              target is not used for linking
811
812       X11_XCB_DEFINITIONS
813              This  should be passed to target_compile_options() if the target
814              is not used for linking
815
816       If X11_XCB_FOUND is TRUE, it will also define  the  following  imported
817       target:
818
819       X11::XCB
820              The X11 XCB compatibility library
821
822       In  general  we recommend using the imported target, as it is easier to
823       use.  Bear in mind, however, that if the target is in the  link  inter‐
824       face  of  an exported library, it must be made available by the package
825       config file.
826
827       Since pre-1.0.0.
828
829   FindXCB
830       Try to find XCB.
831
832       This is a component-based find module, which makes use  of  the  COMPO‐
833       NENTS  and OPTIONAL_COMPONENTS arguments to find_module.  The following
834       components are available:
835
836          XCB
837          ATOM         AUX          COMPOSITE    CURSOR       DAMAGE
838          DPMS         DRI2         DRI3         EVENT        EWMH
839          GLX          ICCCM        IMAGE        KEYSYMS      PRESENT
840          RANDR        RECORD       RENDER       RENDERUTIL   RES
841          SCREENSAVER  SHAPE        SHM          SYNC         UTIL
842          XEVIE        XF86DRI      XFIXES       XINERAMA     XINPUT
843          XKB          XPRINT       XTEST        XV           XVMC
844
845       If no components are specified, this module will act as though all com‐
846       ponents  except  XINPUT  (which  is considered unstable) were passed to
847       OPTIONAL_COMPONENTS.
848
849       This module will define the following variables, independently  of  the
850       components searched for or found:
851
852       XCB_FOUND
853              True if (the requestion version of) xcb is available
854
855       XCB_VERSION
856              Found xcb version
857
858       XCB_TARGETS
859              A  list  of all targets imported by this module (note that there
860              may be more than the components that were requested)
861
862       XCB_LIBRARIES
863              This can be passed to  target_link_libraries()  instead  of  the
864              imported targets
865
866       XCB_INCLUDE_DIRS
867              This  should  be  passed  to target_include_directories() if the
868              targets are not used for linking
869
870       XCB_DEFINITIONS
871              This should be passed to target_compile_options() if the targets
872              are not used for linking
873
874       For  each searched-for components, XCB_<component>_FOUND will be set to
875       true if the corresponding xcb library was found, and  false  otherwise.
876       If  XCB_<component>_FOUND is true, the imported target XCB::<component>
877       will be defined.  This module will also attempt to determine XCB_*_VER‐
878       SION  variables  for  each imported target, although XCB_VERSION should
879       normally be sufficient.
880
881       In general we recommend using the imported targets, as they are  easier
882       to  use  and  provide more control.  Bear in mind, however, that if any
883       target is in the link interface of an exported library, it must be made
884       available by the package config file.
885
886       Since pre-1.0.0.
887
888   Findepoxy
889       Try to find libepoxy on a Unix system.
890
891       This will define the following variables:
892
893       epoxy_FOUND
894              True if (the requested version of) libepoxy is available
895
896       epoxy_VERSION
897              The version of libepoxy
898
899       epoxy_LIBRARIES
900              This  should  be passed to target_link_libraries() if the target
901              is not used for linking
902
903       epoxy_INCLUDE_DIRS
904              This should be passed  to  target_include_directories()  if  the
905              target is not used for linking
906
907       epoxy_DEFINITIONS
908              This  should be passed to target_compile_options() if the target
909              is not used for linking
910
911       epoxy_HAS_GLX
912              True if GLX support is available
913
914       If epoxy_FOUND is TRUE, it will also define the following imported tar‐
915       get:
916
917       epoxy::epoxy
918              The epoxy library
919
920       In  general  we recommend using the imported target, as it is easier to
921       use.  Bear in mind, however, that if the target is in the  link  inter‐
922       face  of  an exported library, it must be made available by the package
923       config file.
924

SEE ALSO

926       ecm(7), ecm-modules(7), ecm-kde-modules(7)
927
929       KDE Developers
930
931
932
933
9345.79                             Feb 06, 2021              ECM-FIND-MODULES(7)
Impressum