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 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
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)