source: x/lib/qt5.xml@ 33c71a1

qt5new
Last change on this file since 33c71a1 was 33c71a1, checked in by Pierre Labastie <pierre.labastie@…>, 17 months ago

Fix build order in qt5 modules

qtdeclarative and qtactiveqt are dependencies of qttools
qtsvg is a dependency of qtdeclarative
qtdeclarative is a dependency of qtwayland too

  • Property mode set to 100644
File size: 54.0 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY qt5-qtactiveqt-md5 "0e083bf188f79f9467f4124d2de1b683">
8 <!ENTITY qt5-qtdeclarative-md5 "7a811f6ee3b05320d5ae6fffbadc8136">
9 <!ENTITY qt5-qtgraphicaleffects-md5 "0f528e3c1bf0e81befb7c1037c2200de">
10 <!ENTITY qt5-qtquickcontrols2-md5 "5e4b1b8145a738a36d6f14d2d6cb32ec">
11 <!ENTITY qt5-qtsvg-md5 "5fc7f98d8ba2078446c538a461566d4b">
12 <!ENTITY qt5-qttools-md5 "6b1918dc24e0a56c9fd48d69e78b13fa">
13 <!ENTITY qt5-qtwayland-md5 "decc31455e124036dce9644b5d8bd754">
14 <!ENTITY qt5-qtx11extras-md5 "3646de5ffd3cf29c7a3b266d3a9b7a02">
15 <!ENTITY qt5-qtxmlpatterns-md5 "438c2f84b44ee681e13e2ebe13360338">
16 <!ENTITY qt5-download-http "&qt5-url;/">
17 <!ENTITY qt5-download-ftp " ">
18 <!ENTITY qt5-md5sum "See below">
19 <!ENTITY qt5-size "11 MB for basic modules, 59 MB for qtwebengine,">
20 <!ENTITY qt5-buildsize "930 MB (23 MB installed) for basic modules">
21 <!ENTITY qt5-time "Using parallelism=4: 3.4 SBU for basic modules">
22]>
23
24<sect1 id="qt5" xreflabel="Qt-&qt5-version;">
25 <?dbhtml filename="qt5.html" ?>
26
27
28 <title>Qt-&qt5-version; Modules</title>
29
30 <indexterm zone="qt5">
31 <primary sortas="a-Qt">Qt Modules</primary>
32 </indexterm>
33
34 <para>
35 After the <xref linkend="qtbase"/> has been installed, various modules
36 can be added to provide more functionalities. They are divided in several
37 groups, each of which depends on the precedent:
38 </para>
39
40 <itemizedlist spacing="compact">
41 <listitem>
42 <para>
43 <xref linkend="qt-basic"/> are used in almost all
44 <application>Qt5</application> based applications, and
45 must be built first.
46 </para>
47 </listitem>
48 <listitem>
49 <para>
50 <xref linkend="qt-kde"/> are needed for
51 <xref linkend="kf5-frameworks"/> and <xref linkend="plasma5-build"/>.
52 </para>
53 </listitem>
54 <listitem>
55 <para>
56 <xref linkend="qtwebengine"/> is a huge module that integrates
57 <application>chromium</application>'s web capabilities into
58 <application>Qt5</application>
59 </para>
60 </listitem>
61 <listitem>
62 <para>
63 <xref linkend="qt-miscellaneous"/> are not needed for building
64 packages in the book, but can be built for a complete installation
65 of <application>Qt5</application>
66 </para>
67 </listitem>
68 </itemizedlist>
69
70 &lfs113_checked;
71
72 <bridgehead renderas="sect3">Package Information</bridgehead>
73 <itemizedlist spacing="compact">
74 <listitem>
75 <para>
76 Download (HTTP): <ulink url="&qt5-download-http;"/>
77 </para>
78 </listitem>
79 <listitem>
80 <para>
81 Download (FTP): <ulink url="&qt5-download-ftp;"/>
82 </para>
83 </listitem>
84 <listitem>
85 <para>
86 Download MD5 sum: &qt5-md5sum;
87 </para>
88 </listitem>
89 <listitem>
90 <para>
91 Download size: &qt5-size;
92 </para>
93 </listitem>
94 <listitem>
95 <para>
96 Estimated disk space required: &qt5-buildsize;
97 </para>
98 </listitem>
99 <listitem>
100 <para>
101 Estimated build time: &qt5-time;
102 </para>
103 </listitem>
104 </itemizedlist>
105
106 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
107 <itemizedlist spacing="compact">
108 <listitem>
109 <para>
110 Now that <application>Qt5</application> updates are restricted to
111 commercial customers, upstream patches for the various modules are
112 being curated at kde.
113 Patches for the modules required by packages in BLFS have been
114 aggregated for the non-modular Qt5 build we use.
115 </para>
116 <para>
117 Required patch:
118 <ulink url="&patch-root;/qt-everywhere-opensource-src-&qt5-version;-kf5-1.patch"/>
119 </para>
120 <para>
121 Details of the kde curation can be found at
122 <ulink url="https://dot.kde.org/2021/04/06/announcing-kdes-qt-5-patch-collection"/>
123 and <ulink url="https://community.kde.org/Qt5PatchCollection"/>.
124 </para>
125 </listitem>
126 </itemizedlist>
127
128<!--
129 <bridgehead renderas="sect3">Qt5 Dependencies</bridgehead>
130
131 <bridgehead renderas="sect4">Required</bridgehead>
132 <para role="required">
133 <xref linkend="xorg7-lib"/>
134 </para>
135
136 <bridgehead renderas="sect4">Recommended</bridgehead>
137 <para role="recommended">
138 <xref linkend="alsa-lib"/>,
139 <xref linkend="make-ca"/>,
140 <xref linkend="cups"/>,
141 <xref linkend="glib2"/>,
142 <xref linkend="gst10-plugins-base"/> (QtMultimedia backend),
143 <xref linkend="harfbuzz"/>,
144 <xref linkend="icu"/>,
145 <xref linkend="jasper"/>,
146 <xref linkend="libjpeg"/>,
147 <xref linkend="libmng"/>,
148 <xref linkend="libpng"/>,
149 <xref linkend="libtiff"/>,
150 <xref linkend="libwebp"/>,
151 <xref linkend="libxkbcommon"/>,
152 <xref linkend="mesa"/>,
153 <xref linkend="mitkrb"/>,
154 <xref linkend="mtdev"/>,
155 <xref linkend="pcre2"/>,
156 <xref linkend="sqlite"/>,
157 <xref linkend="wayland"/> (<application>Mesa</application>
158 must be built with <application>Wayland</application> EGL
159 backend),
160 <xref linkend="xcb-util-image"/>,
161 <xref linkend="xcb-util-keysyms"/>,
162 <xref linkend="xcb-util-renderutil"/>, and
163 <xref linkend="xcb-util-wm"/>
164 </para>
165
166 <bridgehead renderas="sect4">Optional</bridgehead>
167 <para role="optional">
168 <xref role="runtime" linkend="bluez"/> (for sdpscanner, and at runtime for
169 QtConnectivity module),
170 <xref linkend="ibus"/>,
171 <xref linkend="libinput"/>, <!- - needs -libinput switch - ->
172 <xref linkend="mariadb"/>
173 or <ulink url="http://www.mysql.com/">MySQL</ulink>,
174 <xref linkend="pciutils"/> (required for QtWebEngine),
175 <xref linkend="postgresql"/>,
176 <xref linkend="python2"/> (required for QtWebEngine),
177 <xref linkend="pulseaudio"/>,
178 <xref linkend="sdl2"/>,
179 <xref linkend="unixodbc"/>,
180 <ulink url="https://www.assimp.org/">assimp</ulink>,
181 <ulink url="http://www.festvox.org/flite/">Flite</ulink>,
182 <ulink url="http://www.firebirdsql.org/">Firebird</ulink>,
183 <ulink url="http://www.freetds.org/">FreeTDS</ulink>,
184 <ulink url="https://libproxy.github.io/libproxy/">libproxy</ulink>,
185 <ulink url="https://openal.org/">OpenAL</ulink>,
186 <ulink url="https://freebsoft.org/speechd/">speech-dispatcher</ulink>,
187 <ulink url="http:///www.tslib.org/">tslib</ulink>, and
188 <ulink url="https://vulkan.lunarg.com/sdk/home/">Vulkan</ulink>
189 </para>
190
191 <!- - Many of the dependencies in the qmake/configure output do not apply
192 to Linux-based platforms. I've selected the ones that do and put
193 them in as optional dependencies. -renodr - ->
194 <para condition="html" role="usernotes">
195 User Notes: <ulink url="&blfs-wiki;/qt5"/>
196 </para>
197-->
198 <sect2>
199 <title>Creating the module list and utility functions</title>
200
201 <para>
202 Create the list of modules in the proper order as follows:
203 </para>
204
205<screen><userinput>cat &gt; qt5-submodules-&qt5-version;.md5 &lt;&lt; "EOF"
206<literal># Begin basic group
207&qt5-qtactiveqt-md5; qtactiveqt-everywhere-opensource-src-&qt5-version;.tar.xz
208&qt5-qtsvg-md5; qtsvg-everywhere-opensource-src-&qt5-version;.tar.xz
209&qt5-qtdeclarative-md5; qtdeclarative-everywhere-opensource-src-&qt5-version;.tar.xz
210&qt5-qttools-md5; qttools-everywhere-opensource-src-&qt5-version;.tar.xz
211&qt5-qtx11extras-md5; qtx11extras-everywhere-opensource-src-&qt5-version;.tar.xz
212&qt5-qtwayland-md5; qtwayland-everywhere-opensource-src-&qt5-version;.tar.xz
213# End basic group
214# Begin KDE group
215&qt5-qtquickcontrols2-md5; qtquickcontrols2-everywhere-opensource-src-&qt5-version;.tar.xz
216&qt5-qtgraphicaleffects-md5; qtgraphicaleffects-everywhere-opensource-src-&qt5-version;.tar.xz
217&qt5-qtxmlpatterns-md5; qtxmlpatterns-everywhere-opensource-src-&qt5-version;.tar.xz
218# TODO
219# End KDE group
220# Begin qtwebengine
221c88cbe3158feb20c4feb3d54262feb23 qtwebengine-everywhere-opensource-src-5.15.2.tar.xz
222# End qtwebengine
223# Begin optional group
224# TODO
225# End optional group</literal>
226EOF</userinput></screen>
227
228 <para>
229 Next create two utility functions, one for switching to user
230 <systemitem class="username">root</systemitem>, the other for
231 module building:
232 </para>
233
234<screen><userinput>as_root() {
235 if [ "$EUID" = 0 ]; then $*
236 elif [ -x /usr/bin/sudo ]; then sudo -E $*
237 else su -c \\"$*\\"
238 fi
239}
240
241export -f as_root
242
243module_build() {
244 # MD5_ENTRY contains the md5sum entry from the .md5 file for this module
245 echo $MD5_ENTRY | {
246 read md5 tarball
247
248 # download
249 wget &qt5-download-http;$tarball
250 md5sum -c - &lt;&lt;&lt; "$MD5_ENTRY" || exit 1
251
252 packagedir=${tarball%.tar*}
253
254 tar -xf $tarball
255 pushd $packagedir
256 # OPTIONS contains the qmake options
257 if [ -n "$OPTIONS" ]; then
258 qmake -- $OPTIONS
259 else
260 qmake
261 fi
262 make
263 as_root make install
264 popd
265
266 rm -rf $packagedir
267 }
268 as_root /sbin/ldconfig
269
270 # Remove references to the build directory from installed library
271 # dependency (prl) files:
272 as_root find $QT5DIR/ -name \*.prl \
273 -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
274}
275
276export -f module_build</userinput></screen>
277 </sect2>
278
279 <sect2 id="qt-basic" xreflabel="Basic Qt5 Modules">
280 <title>Basic Qt5 Modules</title>
281
282 <para role="required">
283 The modules in this group only depend on <xref linkend="qtbase"/>
284 and a properly set <envar>QT5DIR</envar> environment variable.
285 </para>
286
287 <para>
288 Install the basic modules with the following instructions:
289 </para>
290
291<screen><userinput>( # start a subshell
292set -e # exit the subshell in case of error
293
294unset OPTIONS
295sed -n "/Begin basic/,/End basic/p" qt5-submodules-&qt5-version;.md5 | \
296 while read MD5_ENTRY; do
297 if [ -n "${MD5_ENTRY%\#*}" ]; then module_build; fi
298done
299)</userinput></screen>
300
301 <para>
302 Create desktop menu entries pointing to some tools from the
303 Qt system. As the &root; user:
304 </para>
305
306 <screen role="root"><userinput>QT5BINDIR=$QT5DIR/bin
307install -v -dm755 /usr/share/pixmaps/
308
309install -v -Dm644 src/assistant/assistant/images/assistant-128.png \
310 /usr/share/pixmaps/assistant-qt5.png
311
312install -v -Dm644 src/designer/src/designer/images/designer.png \
313 /usr/share/pixmaps/designer-qt5.png
314
315install -v -Dm644 src/linguist/linguist/images/icons/linguist-128-32.png \
316 /usr/share/pixmaps/linguist-qt5.png
317
318install -v -Dm644 src/qdbus/qdbusviewer/images/qdbusviewer-128.png \
319 /usr/share/pixmaps/qdbusviewer-qt5.png
320
321install -dm755 /usr/share/applications
322
323cat &gt; /usr/share/applications/assistant-qt5.desktop &lt;&lt; EOF
324<literal>[Desktop Entry]
325Name=Qt5 Assistant
326Comment=Shows Qt5 documentation and examples
327Exec=$QT5BINDIR/assistant
328Icon=assistant-qt5.png
329Terminal=false
330Encoding=UTF-8
331Type=Application
332Categories=Qt;Development;Documentation;</literal>
333EOF
334
335cat &gt; /usr/share/applications/designer-qt5.desktop &lt;&lt; EOF
336<literal>[Desktop Entry]
337Name=Qt5 Designer
338GenericName=Interface Designer
339Comment=Design GUIs for Qt5 applications
340Exec=$QT5BINDIR/designer
341Icon=designer-qt5.png
342MimeType=application/x-designer;
343Terminal=false
344Encoding=UTF-8
345Type=Application
346Categories=Qt;Development;</literal>
347EOF
348
349cat &gt; /usr/share/applications/linguist-qt5.desktop &lt;&lt; EOF
350<literal>[Desktop Entry]
351Name=Qt5 Linguist
352Comment=Add translations to Qt5 applications
353Exec=$QT5BINDIR/linguist
354Icon=linguist-qt5.png
355MimeType=text/vnd.trolltech.linguist;application/x-linguist;
356Terminal=false
357Encoding=UTF-8
358Type=Application
359Categories=Qt;Development;</literal>
360EOF
361
362cat &gt; /usr/share/applications/qdbusviewer-qt5.desktop &lt;&lt; EOF
363<literal>[Desktop Entry]
364Name=Qt5 QDbusViewer
365GenericName=D-Bus Debugger
366Comment=Debug D-Bus applications
367Exec=$QT5BINDIR/qdbusviewer
368Icon=qdbusviewer-qt5.png
369Terminal=false
370Encoding=UTF-8
371Type=Application
372Categories=Qt;Development;Debugger;</literal>
373EOF</userinput></screen>
374
375 <para>
376 Some packages such as vlc look for certain
377 executables with a -qt5 suffix. Still as the &root; user:
378 </para>
379
380<screen role="root"><userinput>for file in lconvert lrelease lupdate; do
381 ln -sfrvn $QT5DIR/bin/$file /usr/bin/$file-qt5
382done</userinput></screen>
383
384 <sect3 role="content">
385 <title>Contents of basic modules</title>
386
387 <segmentedlist>
388 <segtitle>Installed Programs</segtitle>
389 <segtitle>Installed Libraries</segtitle>
390 <segtitle>Installed Directories</segtitle>
391
392 <seglistitem>
393 <seg>
394 assistant,
395 designer,
396 lconvert,
397 linguist,
398 lprodump,
399 lrelease,
400 lrelease-pro,
401 lupdate,
402 lupdate-pro,
403 pixeltool,
404 qcollectiongenerator,
405 qdbus,
406 qdbusviewer,
407 qdoc,
408 qhelpgenerator,
409 qtattributionsscanner,
410 qtdiag,
411 qtpaths,
412 qtplugininfo, and
413 qtwaylandscanner
414 </seg>
415 <seg>
416 libQt5DesignerComponents.so,
417 libQt5Designer.so,
418 libQt5Help.so,
419 libQt5Svg.so,
420 libQt5WaylandClient.so,
421 libQt5WaylandCompositor.so, and
422 libQt5X11Extras.so
423 </seg>
424 <seg>
425 $QT5DIR/phrasebooks,
426 $QT5DIR/include/{QtUiTools,QtHelp,QtDesigner,QtX11Extras,QtSvg},
427 $QT5DIR/include/{QtWaylandCompositor,QtWaylandClient},
428 $QT5DIR/include/{QtDesignerComponents,QtUiPlugin},
429 $QT5DIR/lib/cmake/{Qt5AttributionsScannerTools,Qt5Help,Qt5Designer},
430 $QT5DIR/lib/cmake/{Qt5X11Extras,Qt5Svg,Qt5UiTools,Qt5DocTools},
431 $QT5DIR/lib/cmake/{Qt5WaylandCompositor,Qt5WaylandClient},
432 $QT5DIR/lib/cmake/{Qt5DesignerComponents,Qt5UiPlugin},
433 $QT5DIR/lib/cmake/Qt5LinguistTools,
434 $QT5DIR/plugins/wayland-graphics-integration-client,
435 $QT5DIR/plugins/wayland-graphics-integration-server,
436 $QT5DIR/plugins/wayland-decoration-client, and
437 $QT5DIR/plugins/iconengines
438 </seg>
439 </seglistitem>
440 </segmentedlist>
441
442 <variablelist>
443 <bridgehead renderas="sect4">Short Descriptions</bridgehead>
444 <?dbfo list-presentation="list"?>
445 <?dbhtml list-presentation="table"?>
446
447 <varlistentry id="lconvert-qt5">
448 <term><command>lconvert</command></term>
449 <listitem>
450 <para>
451 is part of Qt5's Linguist tool chain. It can be used as a
452 standalone tool to convert and filter translation data files.
453 </para>
454 <indexterm zone="qt5 lconvert-qt5">
455 <primary sortas="b-lconvert-qt5">lconvert</primary>
456 </indexterm>
457 </listitem>
458 </varlistentry>
459
460 <varlistentry id="linguist-qt5">
461 <term><command>linguist</command></term>
462 <listitem>
463 <para>
464 provides support for translating applications into
465 local languages.
466 </para>
467 <indexterm zone="qt5 linguist-qt5">
468 <primary sortas="b-linguist-qt5">linguist</primary>
469 </indexterm>
470 </listitem>
471 </varlistentry>
472
473 <varlistentry id="lrelease-qt5">
474 <term><command>lrelease</command></term>
475 <listitem>
476 <para>
477 is a simple command line tool. It reads XML-based translation
478 file in TS format and produces message files used by the
479 application.
480 </para>
481 <indexterm zone="qt5 lrelease-qt5">
482 <primary sortas="b-lrelease-qt5">lrelease</primary>
483 </indexterm>
484 </listitem>
485 </varlistentry>
486
487 <varlistentry id="lrelease-pro">
488 <term><command>lrelease-pro</command></term>
489 <listitem>
490 <para>
491 extracts project information from qmake projects and passes
492 it to lrelease.
493 </para>
494 <indexterm zone="qt5 lrelease-pro">
495 <primary sortas="b-lrelease-pro">lrelease-pro</primary>
496 </indexterm>
497 </listitem>
498 </varlistentry>
499
500 <varlistentry id="lupdate-qt5">
501 <term><command>lupdate</command></term>
502 <listitem>
503 <para>
504 finds the translatable
505 strings in the specified source, header and Qt Designer
506 interface files, and stores the extracted messages in
507 translation files to be processed by lrelease.
508 </para>
509 <indexterm zone="qt5 lupdate-qt5">
510 <primary sortas="b-lupdate-qt5">lupdate</primary>
511 </indexterm>
512 </listitem>
513 </varlistentry>
514
515 <varlistentry id="lupdate-pro">
516 <term><command>lupdate-pro</command></term>
517 <listitem>
518 <para>
519 reads a Qt project file, an passes the collected information
520 to lupdate.
521 </para>
522 <indexterm zone="qt5 lupdate-pro">
523 <primary sortas="b-lupdate-pro">lupdate-pro</primary>
524 </indexterm>
525 </listitem>
526 </varlistentry>
527
528 <varlistentry id="pixeltool-qt5">
529 <term><command>pixeltool</command></term>
530 <listitem>
531 <para>
532 is a desktop magnifier and as you move your mouse around
533 the screen it will show the magnified contents in its window.
534 </para>
535 <indexterm zone="qt5 pixeltool-qt5">
536 <primary sortas="b-pixeltool-qt5">pixeltool</primary>
537 </indexterm>
538 </listitem>
539 </varlistentry>
540
541 <varlistentry id="qcollectiongenerator-qt5">
542 <term><command>qcollectiongenerator</command></term>
543 <listitem>
544 <para>
545 processes and converts Qt help files.
546 </para>
547 <indexterm zone="qt5 qcollectiongenerator-qt5">
548 <primary sortas="b-qcollectiongenerator-qt5">qcollectiongenerator-qt5</primary>
549 </indexterm>
550 </listitem>
551 </varlistentry>
552
553 <varlistentry id="qdbus-qt5">
554 <term><command>qdbus</command></term>
555 <listitem>
556 <para>
557 lists available services, object paths, methods, signals, and
558 properties of objects on a bus.
559 </para>
560 <indexterm zone="qt5 qdbus-qt5">
561 <primary sortas="b-qdbus-qt5">qdbus</primary>
562 </indexterm>
563 </listitem>
564 </varlistentry>
565
566 <varlistentry id="qdbusviewer-qt5">
567 <term><command>qdbusviewer</command></term>
568 <listitem>
569 <para>
570 is a graphical D-Bus browser.
571 </para>
572 <indexterm zone="qt5 qdbusviewer-qt5">
573 <primary sortas="b-qdbusviewer-qt5">qdbusviewer</primary>
574 </indexterm>
575 </listitem>
576 </varlistentry>
577
578 <varlistentry id="qdoc-qt5">
579 <term><command>qdoc</command></term>
580 <listitem>
581 <para>
582 is a tool used by <application>Qt</application> Developers to
583 generate documentation for software projects.
584 </para>
585 <indexterm zone="qt5 qdoc-qt5">
586 <primary sortas="b-qdoc-qt5">qdoc</primary>
587 </indexterm>
588 </listitem>
589 </varlistentry>
590
591 <varlistentry id="qhelpgenerator-qt5">
592 <term><command>qhelpgenerator</command></term>
593 <listitem>
594 <para>
595 is a tool used to generate a <application>Qt</application>
596 compressed help file.
597 </para>
598 <indexterm zone="qt5 qhelpgenerator-qt5">
599 <primary sortas="b-qhelpgenerator-qt5">qhelpgenerator</primary>
600 </indexterm>
601 </listitem>
602 </varlistentry>
603
604 <varlistentry id="qtattributionsscanner-qt5">
605 <term><command>qtattributionsscanner</command></term>
606 <listitem>
607 <para>
608 processes qt_attribution.json files in Qt sources.
609 </para>
610 <indexterm zone="qt5 qtattributionsscanner-qt5">
611 <primary sortas="b-qtattributionsscanner-qt5">qtattributionsscanner</primary>
612 </indexterm>
613 </listitem>
614 </varlistentry>
615
616 <varlistentry id="qtdiag-qt5">
617 <term><command>qtdiag</command></term>
618 <listitem>
619 <para>
620 is a tool for reporting diagnostic information about Qt and its
621 environment.
622 </para>
623 <indexterm zone="qt5 qtdiag-qt5">
624 <primary sortas="b-qtdiag-qt5">qtdiag</primary>
625 </indexterm>
626 </listitem>
627 </varlistentry>
628
629 <varlistentry id="qtpaths-qt5">
630 <term><command>qtpaths</command></term>
631 <listitem>
632 <para>
633 is a tool to query Qt path information.
634 </para>
635 <indexterm zone="qt5 qtpaths-qt5">
636 <primary sortas="b-qtpaths-qt5">qtpaths</primary>
637 </indexterm>
638 </listitem>
639 </varlistentry>
640
641 <varlistentry id="qtplugininfo">
642 <term><command>qtplugininfo</command></term>
643 <listitem>
644 <para>
645 dumps meta-data about Qt plugins in JSON format.
646 </para>
647 <indexterm zone="qt5 qtplugininfo">
648 <primary sortas="b-qtplugininfo">qtplugininfo</primary>
649 </indexterm>
650 </listitem>
651 </varlistentry>
652
653 </variablelist>
654
655 </sect3>
656 </sect2>
657
658 <sect2 id="qt-kde" xreflabel="Modules Needed for KDE">
659 <title>Modules Needed for KDE</title>
660 <para>
661 Install the modules needed for KDE with the following instructions:
662 </para>
663
664<screen><userinput>( # start a subshell
665set -e # exit the subshell in case of error
666
667sed -n "/Begin KDE/,/End KDE/p" qt5-submodules-&qt5-version;.md5 | \
668 while read MD5_ENTRY; do
669 if [ -z "${MD5_ENTRY%\#*}" ]; then continue; fi
670 case $MD5_ENTRY in
671 TODO) OPTIONS=
672 esac
673done
674)</userinput></screen>
675
676 </sect2>
677
678 <sect2 id="qtwebengine" xreflabel="QtWebEngine">
679 <title>QTWebEngine</title>
680 <para>
681 Install QtWebEngine with the following instructions:
682 </para>
683 </sect2>
684
685 <sect2 id="qt-miscellaneous" xreflabel="Other Modules">
686 <title>Other Modules</title>
687 <para>
688 Install the remaining modules with the following instructions:
689 </para>
690 </sect2>
691
692 <sect2 role="installation">
693 <title>Installation of Qt5</title>
694
695 <warning>
696 <para>
697 If <application>Qt5</application> is being reinstalled into the
698 same directory as an existing instance, run the commands done by
699 <systemitem class="username">root</systemitem>, such as
700 <command>make install</command>, from a console or non-Qt5 based
701 window manager. It overwrites <application>Qt5</application>
702 libraries that should not be in use during the install process.
703 </para>
704 </warning>
705
706 <caution>
707 <para>
708 If you did not install some of the recommended dependencies, examine
709 <command>./configure --help</command> output to check how to disable
710 them or use internal versions bundled in the source tarball.
711 </para>
712 </caution>
713
714 <note>
715 <para>
716 The build time and space required for the full
717 <application>Qt5</application> is quite long. The instructions below
718 do not build the tutorials and examples. Removing the
719 <parameter>-nomake</parameter> line will create a complete build.
720 </para>
721 </note>
722
723 <note>
724 <para>
725 The BLFS editors do not recommend installing <application>Qt5</application>
726 into the /usr hierarchy because it becomes difficult to find
727 components and to update to a new version. If you do want to install
728 <application>Qt5</application> in /usr, the directories need to
729 be specified explicitly. In this case, set QT5PREFIX=/usr and add
730 the following to the configure arguments below:
731 </para>
732
733<screen role="nodump"><userinput> -archdatadir /usr/lib/qt5 \
734 -bindir /usr/bin \
735 -plugindir /usr/lib/qt5/plugins \
736 -importdir /usr/lib/qt5/imports \
737 -headerdir /usr/include/qt5 \
738 -datadir /usr/share/qt5 \
739 -docdir /usr/share/doc/qt5 \
740 -translationdir /usr/share/qt5/translations \
741 -examplesdir /usr/share/doc/qt5/examples</userinput></screen>
742 </note>
743
744 <para>
745 First apply a patch to pull in the fixes curated by kde for those
746 modules which are required by packages mentioned in this book:
747 </para>
748
749<screen><userinput remap="pre">patch -Np1 -i ../qt-everywhere-opensource-src-&qt5-version;-kf5-1.patch</userinput></screen>
750
751 <para>
752 The patch is supposed to be used in a git repository, because the
753 behavior of the <command>configure</command> command below is changed
754 in this case. It is enough to create a
755 <filename class="directory">.git</filename> directory in the
756 <filename class="directory">qmake</filename> directory, where the
757 <command>configure</command> script is run:
758 </para>
759
760 <screen><userinput remap="pre">mkdir -pv qtbase/.git</userinput></screen>
761
762 <para>
763 Install <application>Qt5</application> by running the following commands:
764 </para>
765
766<screen revision="sysv"><userinput>./configure -prefix $QT5PREFIX \
767 -sysconfdir /etc/xdg \
768 -confirm-license \
769 -opensource \
770 -dbus-linked \
771 -openssl-linked \
772 -system-harfbuzz \
773 -system-sqlite \
774 -nomake examples \
775 -no-rpath \
776 -syslog \
777 -skip qtwebengine &amp;&amp;
778make</userinput></screen>
779
780<screen revision="systemd"><userinput>./configure -prefix $QT5PREFIX \
781 -sysconfdir /etc/xdg \
782 -confirm-license \
783 -opensource \
784 -dbus-linked \
785 -openssl-linked \
786 -system-harfbuzz \
787 -system-sqlite \
788 -nomake examples \
789 -no-rpath \
790 -journald \
791 -skip qtwebengine &amp;&amp;
792make</userinput></screen>
793
794 <para>
795 This package does not come with a test suite.
796 </para>
797
798 <para>
799 Now, as the <systemitem class="username">root</systemitem> user:
800 </para>
801
802<screen role="root"><userinput>make install</userinput></screen>
803
804 <!-- EDITORS NOTE: This package uses INSTALL_ROOT= instead of DESTDIR= for
805 installing in a temporary directory. -->
806
807 <para>
808 Remove references to the build directory from installed library
809 dependency (prl) <!--and profile include (pri)--> files by running the following
810 command as the <systemitem class="username">root</systemitem> user:
811 </para>
812
813<screen role="root"><userinput>find $QT5PREFIX/ -name \*.prl \
814 -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;</userinput></screen>
815
816 <para>
817 Install images and create the menu entries for installed applications.
818 The <envar>QT5BINDIR</envar> variable is used here to point to the
819 directory for the executable programs. If you have changed the bindir
820 above, <envar>QT5BINDIR</envar> will need to be adjusted below. Be sure
821 that the <envar>QT5BINDIR</envar> variable is defined in root's
822 environment and as the <systemitem class="username">root</systemitem>
823 user:
824 </para>
825
826<screen role="root"><userinput>QT5BINDIR=$QT5PREFIX/bin
827
828install -v -dm755 /usr/share/pixmaps/ &amp;&amp;
829
830install -v -Dm644 qttools/src/assistant/assistant/images/assistant-128.png \
831 /usr/share/pixmaps/assistant-qt5.png &amp;&amp;
832
833install -v -Dm644 qttools/src/designer/src/designer/images/designer.png \
834 /usr/share/pixmaps/designer-qt5.png &amp;&amp;
835
836install -v -Dm644 qttools/src/linguist/linguist/images/icons/linguist-128-32.png \
837 /usr/share/pixmaps/linguist-qt5.png &amp;&amp;
838
839install -v -Dm644 qttools/src/qdbus/qdbusviewer/images/qdbusviewer-128.png \
840 /usr/share/pixmaps/qdbusviewer-qt5.png &amp;&amp;
841
842install -dm755 /usr/share/applications &amp;&amp;
843
844cat &gt; /usr/share/applications/assistant-qt5.desktop &lt;&lt; EOF
845<literal>[Desktop Entry]
846Name=Qt5 Assistant
847Comment=Shows Qt5 documentation and examples
848Exec=$QT5BINDIR/assistant
849Icon=assistant-qt5.png
850Terminal=false
851Encoding=UTF-8
852Type=Application
853Categories=Qt;Development;Documentation;</literal>
854EOF
855
856cat &gt; /usr/share/applications/designer-qt5.desktop &lt;&lt; EOF
857<literal>[Desktop Entry]
858Name=Qt5 Designer
859GenericName=Interface Designer
860Comment=Design GUIs for Qt5 applications
861Exec=$QT5BINDIR/designer
862Icon=designer-qt5.png
863MimeType=application/x-designer;
864Terminal=false
865Encoding=UTF-8
866Type=Application
867Categories=Qt;Development;</literal>
868EOF
869
870cat &gt; /usr/share/applications/linguist-qt5.desktop &lt;&lt; EOF
871<literal>[Desktop Entry]
872Name=Qt5 Linguist
873Comment=Add translations to Qt5 applications
874Exec=$QT5BINDIR/linguist
875Icon=linguist-qt5.png
876MimeType=text/vnd.trolltech.linguist;application/x-linguist;
877Terminal=false
878Encoding=UTF-8
879Type=Application
880Categories=Qt;Development;</literal>
881EOF
882
883cat &gt; /usr/share/applications/qdbusviewer-qt5.desktop &lt;&lt; EOF
884<literal>[Desktop Entry]
885Name=Qt5 QDbusViewer
886GenericName=D-Bus Debugger
887Comment=Debug D-Bus applications
888Exec=$QT5BINDIR/qdbusviewer
889Icon=qdbusviewer-qt5.png
890Terminal=false
891Encoding=UTF-8
892Type=Application
893Categories=Qt;Development;Debugger;</literal>
894EOF</userinput></screen>
895
896 <para>
897 Some packages such as <xref linkend='vlc'/> look for certain
898 executables with a -qt5 suffix. Run the following command as the
899 <systemitem class="username">root</systemitem> user
900 to create the necessary symlinks:
901 </para>
902
903<screen role="root"><userinput>for file in moc uic rcc qmake lconvert lrelease lupdate; do
904 ln -sfrvn $QT5BINDIR/$file /usr/bin/$file-qt5
905done</userinput></screen>
906
907 </sect2>
908
909 <sect2 role="commands">
910 <title>Command Explanations</title>
911
912 <para>
913 <command>sed ...</command>: Allows using
914 <application>Python 3</application> instead of <application>Python
915 2</application>. This command destroys the build for QtWebEngine, so do
916 not use it if you remove the <parameter>-skip qtwebengine</parameter>
917 switch.
918 </para>
919
920 <para>
921 <parameter>-confirm-license</parameter>: Accept license
922 without prompting user during configuration.
923 </para>
924
925 <para>
926 <parameter>-opensource</parameter>: Install the opensource
927 version of <application>Qt</application>.
928 </para>
929
930 <para>
931 <parameter>-nomake examples</parameter>: This switch
932 disables building of the example programs included
933 in the source tarball. Remove it if you want to build
934 them.
935 </para>
936
937 <para>
938 <parameter>-system-sqlite</parameter>: This switch enables use
939 of the system version of <application>SQLite</application>.
940 </para>
941
942 <para>
943 <parameter>-dbus-linked -openssl-linked</parameter>: These
944 switches enable explicit linking of the
945 <application>D-Bus</application> and
946 <application>OpenSSL</application> libraries into
947 <application>Qt5</application> libraries instead of
948 <command>dlopen()</command>-ing them.
949 </para>
950
951 <para revision="sysv">
952 <parameter>-syslog</parameter>: This switch allows to send Qt messages
953 to the <command>syslog</command> logging system.
954 </para>
955
956 <para revision="systemd">
957 <parameter>-journald</parameter>: This switch allows to send Qt messages
958 to the <command>journald</command> logging system.
959 </para>
960
961 <para>
962 <parameter>-skip qtwebengine</parameter>: This switch disables building
963 the QtWebEngine. <!--The BLFS editors have chosen to build <xref
964 linkend="qtwebengine"/> separately.-->
965 </para>
966
967 <para>
968 <parameter>-system-harfbuzz</parameter>: This switch enables use
969 of the system version of <application>Harfbuzz</application>.
970 </para>
971
972 </sect2>
973
974 <sect2 role="configuration">
975 <title>Configuring Qt5</title>
976
977 <sect3 id="qt5-config">
978 <title>Configuration Information</title>
979
980 <para>
981 If <xref linkend="sudo"/> is installed, QT5DIR should be available to
982 the super user as well. Execute the following commands as the
983 <systemitem class="username">root</systemitem> user:
984 </para>
985
986<screen role="root"><userinput>cat &gt; /etc/sudoers.d/qt &lt;&lt; "EOF"
987<literal>Defaults env_keep += QT5DIR</literal>
988EOF</userinput></screen>
989
990 <bridgehead renderas="sect4">If you installed Qt5 in /usr</bridgehead>
991
992 <para>
993 If you installed <application>Qt5</application> in
994 <filename class="directory">/usr</filename>, create an
995 environment variable needed by certain packages.
996 As the <systemitem class="username">root</systemitem> user:
997 </para>
998
999<screen role="nodump"><userinput>cat &gt; /etc/profile.d/qt5.sh &lt;&lt; "EOF"
1000<literal># Begin /etc/profile.d/qt5.sh
1001
1002QT5DIR=/usr
1003export QT5DIR
1004pathappend $QT5DIR/bin
1005
1006# End /etc/profile.d/qt5.sh</literal>
1007EOF</userinput></screen>
1008
1009 <bridgehead renderas="sect4">If you did not install Qt5 in /usr</bridgehead>
1010
1011 <para>
1012 If you installed <application>Qt5</application> in a location other
1013 than <filename class="directory">/usr</filename>, you need to update the
1014 following configuration files so that <application>Qt5</application> is
1015 correctly found by other packages and system processes.
1016 </para>
1017
1018 <para>
1019 As the <systemitem class="username">root</systemitem> user, update
1020 the <filename>/etc/ld.so.conf</filename> file and the dynamic linker's
1021 run-time cache file:
1022 </para>
1023
1024<screen role="root"><userinput>cat &gt;&gt; /etc/ld.so.conf &lt;&lt; EOF
1025<literal># Begin Qt addition
1026
1027/opt/qt5/lib
1028
1029# End Qt addition</literal>
1030EOF
1031
1032ldconfig</userinput></screen>
1033
1034 <indexterm zone="qt5 qt5-config">
1035 <primary sortas="e-etc-ld.so.conf">/etc/ld.so.conf</primary>
1036 </indexterm>
1037
1038 <para>
1039 As the <systemitem class="username">root</systemitem> user, create
1040 the <filename>/etc/profile.d/qt5.sh</filename> file:
1041 </para>
1042
1043<screen role="root"><userinput>cat &gt; /etc/profile.d/qt5.sh &lt;&lt; "EOF"
1044<literal># Begin /etc/profile.d/qt5.sh
1045
1046QT5DIR=/opt/qt5
1047
1048pathappend $QT5DIR/bin PATH
1049pathappend $QT5DIR/lib/pkgconfig PKG_CONFIG_PATH
1050
1051export QT5DIR
1052
1053# End /etc/profile.d/qt5.sh</literal>
1054EOF</userinput></screen>
1055
1056 </sect3>
1057
1058 </sect2>
1059
1060 <sect2 role="content">
1061 <title>Contents</title>
1062
1063 <segmentedlist>
1064 <segtitle>Installed Programs</segtitle>
1065 <segtitle>Installed Libraries</segtitle>
1066 <segtitle>Installed Directories</segtitle>
1067
1068 <seglistitem>
1069 <seg>
1070 assistant, balsam, canbusutil, designer, fixqt4headers.pl, lconvert,
1071 linguist, lprodump, lrelease, lrelease-pro, lupdate, lupdate-pro,
1072 meshdebug, moc, pixeltool, qcollectiongenerator, qdbus, qdbuscpp2xml,
1073 qdbusviewer, qdbusxml2cpp, qdistancefieldgenerator, qdoc, qgltf,
1074 qhelpgenerator, qlalr, qmake, qml, qmlcachegen, qmleasing,
1075 qmlformat, qmlimportscanner, qmllint, qmlmin, qmlplugindump,
1076 qmlpreview, qmlprofiler, qmlscene, qmltestrunner, qmltime,
1077 qmltyperegistrar, qscxmlc,
1078 qtattributionscanner, qtdiag, qtpaths, qtplugininfo,
1079 qtwaylandscanner, qvkgen, rcc, repc, sdpscanner, syncqt.pl, tracegen,
1080 uic, xmlpatterns, and xmlpatternsvalidator
1081 </seg>
1082 <seg>
1083 libQt53DAnimation.so, libQt53DCore.so,
1084 libQt53DExtras.so, libQt53DInput.so, libQt53DLogic.so,
1085 libQt53DQuick.so, libQt53DQuickAnimation.so, libQt53DQuickExtras.so,
1086 libQt53DQuickInput.so, libQt53DQuickRender.so,
1087 libQt53DQuickScene2D.so, libQt53DRender.so,
1088 libQt5AccessibilitySupport.a, libQt5Bluetooth.so, libQt5Bodymovin.so,
1089 libQt5Bootstrap.a, libQt5Charts.so, libQt5Concurrent.so,
1090 libQt5Core.so, libQt5DataVisualization.so, libQt5DBus.so,
1091 libQt5DesignerComponents.so, libQt5Designer.so,
1092 libQt5DeviceDiscoverySupport.a, libQt5EdidSupport.a,
1093 libQt5EglFSDeviceIntegration.so, libQt5EglFsKmsSupport.so,
1094 libQt5EglSupport.a, libQt5EventDispatcherSupport.a, libQt5FbSupport.a,
1095 libQt5FontDatabaseSupport.a, libQt5Gamepad.so, libQt5GlxSupport.a,
1096 libQt5Gui.so,libQt5Help.so, libQt5InputSupport.a, libQt5KmsSupport.a,
1097 libQt5LinuxAccessibilitySupport.a, libQt5Location.so,
1098 libQt5Multimedia.so, libQt5MultimediaGstTools.so,
1099 libQt5MultimediaQuick.so, libQt5MultimediaWidgets.so,
1100 libQt5Network.so, libQt5NetworkAuth.so, libQt5Nfc.so,
1101 libQt5OpenGLExtensions.a, libQt5OpenGL.so, libQt5PacketProtocol.a,
1102 libQt5PlatformCompositorSupport.a, libQt5Positioning.so,
1103 libQt5PositioningQuick.so, libQt5PrintSupport.so,
1104 libQt5Purchasing.so, libQt5Qml.so, libQt5QmlDebug.a,
1105 libQt5QmlDevTools.a, libQt5QmlModels.so, libQt5QmlWorkerScript.so,
1106 libQt5Quick.so, libQt5Quick3D.so, libQt5Quick3DAssetImport.so,
1107 libQt5Quick3DRender.so, libQt5Quick3DRuntimeRender.so,
1108 libQt5Quick3DUtils.so, libQt5QuickControls2.so,
1109 libQt5QuickParticles.so, libQt5QuickShapes.so,
1110 libQt5QuickTemplates2.so, libQt5QuickTest.so, libQt5QuickWidgets.so,
1111 libQt5RemoteObjects.so, libQt5Script.so, libQt5ScriptTools.so,
1112 libQt5Scxml.so, libQt5Sensors.so, libQt5SerialBus.so,
1113 libQt5SerialPort.so, libQt5ServiceSupport.a, libQt5Sql.so,
1114 libQt5Svg.so, libQt5Test.so, libQt5TextToSpeech.so,
1115 libQt5ThemeSupport.a, libQt5UiTools.a, libQt5VirtualKeyboard.so,
1116 libQt5WaylandClient.so, libQt5WaylandCompositor.so,
1117 libQt5WebChannel.so, libQt5WebSockets.so, libQt5WebView.so,
1118 libQt5Widgets.so, libQt5X11Extras.so, libQt5XcbQpa.so,
1119 libQt5XkbCommonSupport.a, libQt5Xml.so, libQt5XmlPatterns.so,
1120 and several plugins under /opt/qt5/{plugins,qml}
1121 </seg>
1122 <seg>
1123 /usr/include/qt5,
1124 /usr/lib/qt5,
1125 /usr/share/doc/qt5, and
1126 /usr/share/qt5
1127 OR
1128 /opt/qt5 and
1129 /opt/qt-&qt5-version;
1130 </seg>
1131 </seglistitem>
1132 </segmentedlist>
1133<!--
1134 <variablelist>
1135 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
1136 <?dbfo list-presentation="list"?>
1137 <?dbhtml list-presentation="table"?>
1138
1139 <varlistentry id="lconvert-qt5">
1140 <term><command>lconvert</command></term>
1141 <listitem>
1142 <para>
1143 is part of Qt5's Linguist tool chain. It can be used as a
1144 standalone tool to convert and filter translation data files
1145 </para>
1146 <indexterm zone="qt5 lconvert-qt5">
1147 <primary sortas="b-lconvert-qt5">lconvert</primary>
1148 </indexterm>
1149 </listitem>
1150 </varlistentry>
1151
1152 <varlistentry id="linguist-qt5">
1153 <term><command>linguist</command></term>
1154 <listitem>
1155 <para>
1156 provides support for translating applications into
1157 local languages
1158 </para>
1159 <indexterm zone="qt5 linguist-qt5">
1160 <primary sortas="b-linguist-qt5">linguist</primary>
1161 </indexterm>
1162 </listitem>
1163 </varlistentry>
1164
1165 <varlistentry id="lrelease-qt5">
1166 <term><command>lrelease</command></term>
1167 <listitem>
1168 <para>
1169 is a simple command line tool. It reads XML-based translation
1170 file in TS format and produces message files used by the
1171 application
1172 </para>
1173 <indexterm zone="qt5 lrelease-qt5">
1174 <primary sortas="b-lrelease-qt5">lrelease</primary>
1175 </indexterm>
1176 </listitem>
1177 </varlistentry>
1178
1179 <varlistentry id="lrelease-pro">
1180 <term><command>lrelease-pro</command></term>
1181 <listitem>
1182 <para>
1183 extracts project information from qmake projects and passes
1184 it to lrelease
1185 </para>
1186 <indexterm zone="qt5 lrelease-pro">
1187 <primary sortas="b-lrelease-pro">lrelease-pro</primary>
1188 </indexterm>
1189 </listitem>
1190 </varlistentry>
1191
1192 <varlistentry id="lupdate-qt5">
1193 <term><command>lupdate</command></term>
1194 <listitem>
1195 <para>
1196 finds the translatable
1197 strings in the specified source, header and Qt Designer
1198 interface files, and stores the extracted messages in
1199 translation files to be processed by lrelease
1200 </para>
1201 <indexterm zone="qt5 lupdate-qt5">
1202 <primary sortas="b-lupdate-qt5">lupdate</primary>
1203 </indexterm>
1204 </listitem>
1205 </varlistentry>
1206
1207 <varlistentry id="lupdate-pro">
1208 <term><command>lupdate-pro</command></term>
1209 <listitem>
1210 <para>
1211 reads a Qt project file, an passes the collected information
1212 to lupdate
1213 </para>
1214 <indexterm zone="qt5 lupdate-pro">
1215 <primary sortas="b-lupdate-pro">lupdate-pro</primary>
1216 </indexterm>
1217 </listitem>
1218 </varlistentry>
1219
1220 <varlistentry id="meshdebug">
1221 <term><command>meshdebug</command></term>
1222 <listitem>
1223 <para>
1224 displays information about qtquick-3d mesh files
1225 </para>
1226 <indexterm zone="qt5 meshdebug">
1227 <primary sortas="b-meshdebug">meshdebug</primary>
1228 </indexterm>
1229 </listitem>
1230 </varlistentry>
1231
1232 <varlistentry id="pixeltool-qt5">
1233 <term><command>pixeltool</command></term>
1234 <listitem>
1235 <para>
1236 is a desktop magnifier and as you move your mouse around
1237 the screen it will show the magnified contents in its window
1238 </para>
1239 <indexterm zone="qt5 pixeltool-qt5">
1240 <primary sortas="b-pixeltool-qt5">pixeltool</primary>
1241 </indexterm>
1242 </listitem>
1243 </varlistentry>
1244
1245 <varlistentry id="qcollectiongenerator-qt5">
1246 <term><command>qcollectiongenerator</command></term>
1247 <listitem>
1248 <para>
1249 processes and converts Qt help files
1250 </para>
1251 <indexterm zone="qt5 qcollectiongenerator-qt5">
1252 <primary sortas="b-qcollectiongenerator-qt5">qcollectiongenerator-qt5</primary>
1253 </indexterm>
1254 </listitem>
1255 </varlistentry>
1256
1257 <varlistentry id="qdbus-qt5">
1258 <term><command>qdbus</command></term>
1259 <listitem>
1260 <para>
1261 lists available services, object paths, methods, signals, and
1262 properties of objects on a bus
1263 </para>
1264 <indexterm zone="qt5 qdbus-qt5">
1265 <primary sortas="b-qdbus-qt5">qdbus</primary>
1266 </indexterm>
1267 </listitem>
1268 </varlistentry>
1269
1270 <varlistentry id="qdbusviewer-qt5">
1271 <term><command>qdbusviewer</command></term>
1272 <listitem>
1273 <para>
1274 is a graphical D-Bus browser
1275 </para>
1276 <indexterm zone="qt5 qdbusviewer-qt5">
1277 <primary sortas="b-qdbusviewer-qt5">qdbusviewer</primary>
1278 </indexterm>
1279 </listitem>
1280 </varlistentry>
1281
1282 <varlistentry id="qdistancefieldgenerator-qt5">
1283 <term><command>qdistancefieldgenerator</command></term>
1284 <listitem>
1285 <para>
1286 allows a font cache to be pregenerated for Text.QtRendering to speed
1287 up an application's startup if the user interface has a lot of text,
1288 or multiple fonts, or a large amount of distinct characters, e.g. in
1289 CJK writing systems
1290 </para>
1291 <indexterm zone="qt5 qdistancefieldgenerator-qt5">
1292 <primary sortas="b-qdistancefieldgenerator-qt5">qdistancefieldgenerator</primary>
1293 </indexterm>
1294 </listitem>
1295 </varlistentry>
1296
1297 <varlistentry id="qdoc-qt5">
1298 <term><command>qdoc</command></term>
1299 <listitem>
1300 <para>
1301 is a tool used by <application>Qt</application> Developers to
1302 generate documentation for software projects
1303 </para>
1304 <indexterm zone="qt5 qdoc-qt5">
1305 <primary sortas="b-qdoc-qt5">qdoc</primary>
1306 </indexterm>
1307 </listitem>
1308 </varlistentry>
1309
1310 <varlistentry id="qgltf">
1311 <term><command>qgltf</command></term>
1312 <listitem>
1313 <para>
1314 imports a a variety of 3D model formats and exports into fast-to-load,
1315 optimized glTF assets embedded into Qt resource files
1316 </para>
1317 <indexterm zone="qt5 qgltf">
1318 <primary sortas="b-qgltf">qgltf</primary>
1319 </indexterm>
1320 </listitem>
1321 </varlistentry>
1322
1323 <varlistentry id="qhelpgenerator-qt5">
1324 <term><command>qhelpgenerator</command></term>
1325 <listitem>
1326 <para>
1327 is a tool used to generate a <application>Qt</application>
1328 compressed help file
1329 </para>
1330 <indexterm zone="qt5 qhelpgenerator-qt5">
1331 <primary sortas="b-qhelpgenerator-qt5">qhelpgenerator</primary>
1332 </indexterm>
1333 </listitem>
1334 </varlistentry>
1335
1336 <varlistentry id="qml">
1337 <term><command>qml</command></term>
1338 <listitem>
1339 <para>
1340 executes a QML file
1341 </para>
1342 <indexterm zone="qt5 qml">
1343 <primary sortas="b-qml">qml</primary>
1344 </indexterm>
1345 </listitem>
1346 </varlistentry>
1347
1348 <varlistentry id="qmlcachegen">
1349 <term><command>qmlcachegen</command></term>
1350 <listitem>
1351 <para>
1352 supports the creation of cache files at build time
1353 </para>
1354 <indexterm zone="qt5 qmlcachegen">
1355 <primary sortas="b-qmlcachegen">qmlcachegen</primary>
1356 </indexterm>
1357 </listitem>
1358 </varlistentry>
1359
1360 <varlistentry id="qmleasing-qt5">
1361 <term><command>qmleasing</command></term>
1362 <listitem>
1363 <para>
1364 is a tool used to define the easing curves using an
1365 interactive curve editor
1366 </para>
1367 <indexterm zone="qt5 qmleasing-qt5">
1368 <primary sortas="b-qmleasing-qt5">qmleasing</primary>
1369 </indexterm>
1370 </listitem>
1371 </varlistentry>
1372
1373 <varlistentry id="qmlformat-qt5">
1374 <term><command>qmlformat</command></term>
1375 <listitem>
1376 <para>
1377 formats QML files according to the QML coding conventions
1378 </para>
1379 <indexterm zone="qt5 qmlformat-qt5">
1380 <primary sortas="b-qmlformat-qt5">qmlformat</primary>
1381 </indexterm>
1382 </listitem>
1383 </varlistentry>
1384
1385 <varlistentry id="qmlimportscanner-qt5">
1386 <term><command>qmlimportscanner</command></term>
1387 <listitem>
1388 <para>
1389 is a tool used to import QML files from a directory
1390 </para>
1391 <indexterm zone="qt5 qmlimportscanner-qt5">
1392 <primary sortas="b-qmlimportscanner-qt5">qmlimportscanner</primary>
1393 </indexterm>
1394 </listitem>
1395 </varlistentry>
1396
1397 <varlistentry id="qmllint-qt5">
1398 <term><command>qmllint</command></term>
1399 <listitem>
1400 <para>
1401 is a syntax checker for QML files
1402 </para>
1403 <indexterm zone="qt5 qmllint-qt5">
1404 <primary sortas="b-qmllint-qt5">qmllint</primary>
1405 </indexterm>
1406 </listitem>
1407 </varlistentry>
1408
1409 <varlistentry id="qmlmin-qt5">
1410 <term><command>qmlmin</command></term>
1411 <listitem>
1412 <para>
1413 removes comments and layout characters from a QML file
1414 </para>
1415 <indexterm zone="qt5 qmlmin-qt5">
1416 <primary sortas="b-qmlmin-qt5">qmlmin</primary>
1417 </indexterm>
1418 </listitem>
1419 </varlistentry>
1420
1421 <varlistentry id="qmlplugindump-qt5">
1422 <term><command>qmlplugindump</command></term>
1423 <listitem>
1424 <para>
1425 is a tool to create a qmltypes file
1426 </para>
1427 <indexterm zone="qt5 qmlplugindump-qt5">
1428 <primary sortas="b-qmlplugindump-qt5">qmlplugindump</primary>
1429 </indexterm>
1430 </listitem>
1431 </varlistentry>
1432
1433 <varlistentry id="qmlpreview-qt5">
1434 <term><command>qmlpreview</command></term>
1435 <listitem>
1436 <para>
1437 is a tool used to analyze QML applications
1438 </para>
1439 <indexterm zone="qt5 qmlpreview-qt5">
1440 <primary sortas="b-qmlpreviewr-qt5">qmlpreview</primary>
1441 </indexterm>
1442 </listitem>
1443 </varlistentry>
1444
1445 <varlistentry id="qmlprofiler-qt5">
1446 <term><command>qmlprofiler</command></term>
1447 <listitem>
1448 <para>
1449 is a tool which watches QML and JavaScript files on disk and
1450 updates the application live with any changes
1451 </para>
1452 <indexterm zone="qt5 qmlprofiler-qt5">
1453 <primary sortas="b-qmlprofiler-qt5">qmlprofiler</primary>
1454 </indexterm>
1455 </listitem>
1456 </varlistentry>
1457
1458 <varlistentry id="qmlscene-qt5">
1459 <term><command>qmlscene</command></term>
1460 <listitem>
1461 <para>
1462 is a utility that loads and displays QML documents even before
1463 the application is complete
1464 </para>
1465 <indexterm zone="qt5 qmlscene-qt5">
1466 <primary sortas="b-qmlscene-qt5">qmlscene</primary>
1467 </indexterm>
1468 </listitem>
1469 </varlistentry>
1470
1471 <varlistentry id="qmltestrunner-qt5">
1472 <term><command>qmltestrunner</command></term>
1473 <listitem>
1474 <para>
1475 is a tool used to make tests
1476 </para>
1477 <indexterm zone="qt5 qmltestrunner-qt5">
1478 <primary sortas="b-qmltestrunner-qt5">qmltestrunner</primary>
1479 </indexterm>
1480 </listitem>
1481 </varlistentry>
1482
1483 <varlistentry id="qscxmlc-qt5">
1484 <term><command>qscxml</command></term>
1485 <listitem>
1486 <para>
1487 converts an input.scxml file to a header and cpp file
1488 </para>
1489 <indexterm zone="qt5 qscxmlc-qt5">
1490 <primary sortas="b-qscxmlc-qt5">qscxmlc</primary>
1491 </indexterm>
1492 </listitem>
1493 </varlistentry>
1494
1495 <varlistentry id="qtattributionsscanner-qt5">
1496 <term><command>qtattributionsscanner</command></term>
1497 <listitem>
1498 <para>
1499 processes qt_attribution.json files in Qt sources
1500 </para>
1501 <indexterm zone="qt5 qtattributionsscanner-qt5">
1502 <primary sortas="b-qtattributionsscanner-qt5">qtattributionsscanner</primary>
1503 </indexterm>
1504 </listitem>
1505 </varlistentry>
1506
1507 <varlistentry id="qtdiag-qt5">
1508 <term><command>qtdiag</command></term>
1509 <listitem>
1510 <para>
1511 is a tool for reporting diagnostic information about Qt and its
1512 environment
1513 </para>
1514 <indexterm zone="qt5 qtdiag-qt5">
1515 <primary sortas="b-qtdiag-qt5">qtdiag</primary>
1516 </indexterm>
1517 </listitem>
1518 </varlistentry>
1519
1520 <varlistentry id="qtpaths-qt5">
1521 <term><command>qtpaths</command></term>
1522 <listitem>
1523 <para>
1524 is a tool to query Qt path information
1525 </para>
1526 <indexterm zone="qt5 qtpaths-qt5">
1527 <primary sortas="b-qtpaths-qt5">qtpaths</primary>
1528 </indexterm>
1529 </listitem>
1530 </varlistentry>
1531
1532 <varlistentry id="qtplugininfo">
1533 <term><command>qtplugininfo</command></term>
1534 <listitem>
1535 <para>
1536 dumps meta-data about Qt plugins in JSON format
1537 </para>
1538 <indexterm zone="qt5 qtplugininfo">
1539 <primary sortas="b-qtplugininfo">qtplugininfo</primary>
1540 </indexterm>
1541 </listitem>
1542 </varlistentry>
1543
1544 <varlistentry id="repc">
1545 <term><command>repc</command></term>
1546 <listitem>
1547 <para>
1548 is the Replica Compiler, which generates QObject header files based
1549 on an API definition file
1550 </para>
1551 <indexterm zone="qt5 repc">
1552 <primary sortas="b-repc">repc</primary>
1553 </indexterm>
1554 </listitem>
1555 </varlistentry>
1556
1557 <varlistentry id="sdpscanner-qt5">
1558 <term><command>sdpscanner</command></term>
1559 <listitem>
1560 <para>
1561 performs a Session Description Protocol scan on a remote device,
1562 using the SDP server represented by the local Bluetooth device
1563 </para>
1564 <indexterm zone="qt5 sdpscanner-qt5">
1565 <primary sortas="b-sdpscanner-qt5">sdpscanner</primary>
1566 </indexterm>
1567 </listitem>
1568 </varlistentry>
1569
1570 <varlistentry id="xmlpatterns-qt5">
1571 <term><command>xmlpatterns</command></term>
1572 <listitem>
1573 <para>
1574 provides support for XPath, XQuery, XSLT, and XML Schema
1575 validation
1576 </para>
1577 <indexterm zone="qt5 xmlpatterns-qt5">
1578 <primary sortas="b-xmlpatterns-qt5">xmlpatterns</primary>
1579 </indexterm>
1580 </listitem>
1581 </varlistentry>
1582
1583 <varlistentry id="xmlpatternsvalidator-qt5">
1584 <term><command>xmlpatternsvalidator</command></term>
1585 <listitem>
1586 <para>
1587 is a tool used to validate XML documents
1588 </para>
1589 <indexterm zone="qt5 xmlpatternsvalidator-qt5">
1590 <primary sortas="b-xmlpatternsvalidator-qt5">xmlpatternsvalidator</primary>
1591 </indexterm>
1592 </listitem>
1593 </varlistentry>
1594
1595 </variablelist>
1596-->
1597 </sect2>
1598
1599</sect1>
Note: See TracBrowser for help on using the repository browser.