1ECM-FIND-MODULES(7) Extra CMake Modules ECM-FIND-MODULES(7)
2
3
4
6 ecm-find-modules - ECM Find Modules Reference
7
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
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
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)