summaryrefslogtreecommitdiffstats
path: root/config_help.txt
blob: d9cec53a46e16e708db42040d44a796272c61b98 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
Usage:  configure [options]

Installation options:

 These are optional, but you may specify install directories.

    -prefix <dir> ...... The deployment directory, as seen on the target device.
                         (default /usr/local/Qt-$QT_VERSION, $PWD if -developer-build is active)

    -extprefix <dir> ... The installation directory, as seen on the host machine.
                         (default SYSROOT/PREFIX)

    -hostprefix [dir] .. The installation directory for build tools running on the
                         host machine. If [dir] is not given, the current build
                         directory will be used. (default EXTPREFIX)

 You may use these to change the layout of the install. Note that all directories
 except -sysconfdir should be located under -prefix/-hostprefix:

    -bindir <dir> ......... User executables will be installed to <dir>
                            (default PREFIX/bin)
    -headerdir <dir> ...... Headers will be installed to <dir>
                            (default PREFIX/include)
    -libdir <dir> ......... Libraries will be installed to <dir>
                            (default PREFIX/lib)
    -archdatadir <dir> .... Arch-dependent data used by Qt will be installed to <dir>
                            (default PREFIX)
    -plugindir <dir> ...... Plugins will be installed to <dir>
                            (default ARCHDATADIR/plugins)
    -libexecdir <dir> ..... Program executables will be installed to <dir>
                            (default ARCHDATADIR/libexec, ARCHDATADIR/bin for MinGW)
    -importdir <dir> ...... Imports for QML1 will be installed to <dir>
                            (default ARCHDATADIR/imports)
    -qmldir <dir> ......... Imports for QML2 will be installed to <dir>
                            (default ARCHDATADIR/qml)
    -datadir <dir> ........ Arch-independent data used by Qt will be installed to <dir>
                            (default PREFIX)
    -docdir <dir> ......... Documentation will be installed to <dir>
                            (default DATADIR/doc)
    -translationdir <dir> . Translations of Qt programs will be installed to <dir>
                            (default DATADIR/translations)
    -sysconfdir <dir> ..... Settings used by Qt programs will be looked for in <dir>
                            (default PREFIX/etc/xdg)
    -examplesdir <dir> .... Examples will be installed to <dir>
                            (default PREFIX/examples)
    -testsdir <dir> ....... Tests will be installed to <dir>
                            (default PREFIX/tests)

    -hostbindir <dir> ..... Host executables will be installed to <dir>
                            (default HOSTPREFIX/bin)
    -hostlibdir <dir> ..... Host libraries will be installed to <dir>
                            (default HOSTPREFIX/lib)
    -hostdatadir <dir> .... Data used by qmake will be installed to <dir>
                            (default HOSTPREFIX)

Configure options:

 The defaults (*) are usually acceptable. A plus (+) denotes a default value
 that needs to be evaluated. If the evaluation succeeds, the feature is
 included. Here is a short explanation of each option:

 *  -release ............. Compile and link Qt with debugging turned off.
    -debug ............... Compile and link Qt with debugging turned on.
    -debug-and-release ... Compile and link two versions of Qt, with and without
                           debugging turned on (Apple platforms only).

    -force-debug-info .... Create symbol files for release builds.

    -developer-build ..... Compile and link Qt with Qt developer options (including auto-tests exporting)

 *  -no-optimized-tools .. Do not build optimized host tools even in debug build.
    -optimized-tools ..... Build optimized host tools even in debug build.

    -opensource .......... Compile and link the Open-Source Edition of Qt.
    -commercial .......... Compile and link the Commercial Edition of Qt.

    -confirm-license ..... Automatically acknowledge the license (use with
                           either -opensource or -commercial)

    -c++std <edition> .... Compile Qt with C++ standard edition (c++11, c++14, c++1z)
                           Default: highest supported

 *  -shared .............. Create and use shared Qt libraries.
    -static .............. Create and use static Qt libraries.

    -no-accessibility .... Do not compile Accessibility support.
                           Disabling accessibility is not recommended, as it will break QStyle
                           and may break other internal parts of Qt.
                           With this switch you create a source incompatible version of Qt,
                           which is unsupported.
 +  -accessibility ....... Compile Accessibility support.

    -no-sql-<driver> ..... Disable SQL <driver>.
    -sql-<driver>          Enable SQL <driver> plugin.

                           Possible values for <driver>:
                           [db2, ibase, mysql, oci, odbc, psql, sqlite, sqlite2, tds]

    -system-sqlite ....... Use sqlite from the operating system.

    -no-qml-debug ........ Do not build the in-process QML debugging support.
 +  -qml-debug ........... Build the QML debugging support.

    -platform target ..... The operating system and compiler you are building
                           on (default detected from host system).

                           See the README file for a list of supported
                           operating systems and compilers.

    -no-sse2 ............. Do not compile with use of SSE2 instructions.
    -no-sse3 ............. Do not compile with use of SSE3 instructions.
    -no-ssse3 ............ Do not compile with use of SSSE3 instructions.
    -no-sse4.1 ........... Do not compile with use of SSE4.1 instructions.
    -no-sse4.2 ........... Do not compile with use of SSE4.2 instructions.
    -no-avx .............. Do not compile with use of AVX instructions.
    -no-avx2 ............. Do not compile with use of AVX2 instructions.
    -no-avx512 ........... Do not compile with use of AVX512 instructions.
    -no-mips_dsp ......... Do not compile with use of MIPS DSP instructions.
    -no-mips_dspr2 ....... Do not compile with use of MIPS DSP rev2 instructions.

    -qtnamespace <name> .. Wraps all Qt library code in 'namespace <name> {...}'.
    -qtlibinfix <infix> .. Renames all libQt*.so to libQt*<infix>.so.

    -testcocoon .......... Instrument Qt with the TestCocoon code coverage tool.
    -gcov ................ Instrument Qt with the GCov code coverage tool.

    -D <string> .......... Add an explicit define to the preprocessor.
    -I <string> .......... Add an explicit include path.
    -L <string> .......... Add an explicit library path.

 +  -pkg-config .......... Use pkg-config to detect include and library paths. By default,
                           configure determines whether to use pkg-config or not with
                           some heuristics such as checking the environment variables.
    -no-pkg-config ....... Disable use of pkg-config.
    -force-pkg-config .... Force usage of pkg-config (skips pkg-config usability
                           detection heuristic).

    -help, -h ............ Display this information.

Third Party Libraries:

    -qt-zlib ............. Use the zlib bundled with Qt.
 +  -system-zlib ......... Use zlib from the operating system.
                           See http://www.gzip.org/zlib

    -no-mtdev ............ Do not compile mtdev support.
 +  -mtdev ............... Enable mtdev support.

 +  -no-journald ......... Do not send logging output to journald.
    -journald ............ Send logging output to journald.

 +  -no-syslog ........... Do not send logging output to syslog.
    -syslog .............. Send logging output to syslog.

    -no-gif .............. Do not compile GIF reading support.

    -no-libpng ........... Do not compile PNG support.
    -qt-libpng ........... Use the libpng bundled with Qt.
 +  -system-libpng ....... Use libpng from the operating system.
                           See http://www.libpng.org/pub/png

    -no-libjpeg .......... Do not compile JPEG support.
    -qt-libjpeg .......... Use the libjpeg bundled with Qt.
 +  -system-libjpeg ...... Use libjpeg from the operating system.
                           See http://www.ijg.org

    -no-doubleconversion ..... Use sscanf_l and snprintf_l for (imprecise) double conversion.
    -qt-doubleconversion ..... Use the libdouble-conversion bundled with Qt.
 +  -system-doubleconversion . Use the libdouble-conversion provided by the system.
                               See https://github.com/google/double-conversion

    -no-freetype ......... Do not compile in Freetype2 support.
    -qt-freetype ......... Use the libfreetype bundled with Qt.
 +  -system-freetype...... Use the libfreetype provided by the system (enabled if -fontconfig is active).
                           See http://www.freetype.org

    -no-harfbuzz ......... Do not compile HarfBuzz-NG support.
    -qt-harfbuzz ......... Use HarfBuzz-NG bundled with Qt to do text shaping.
                           It can still be disabled by setting
                           the QT_HARFBUZZ environment variable to "old".
 +  -system-harfbuzz ..... Use HarfBuzz-NG from the operating system
                           to do text shaping. It can still be disabled
                           by setting the QT_HARFBUZZ environment variable to "old".
                           See http://www.harfbuzz.org

    -no-openssl .......... Do not compile support for OpenSSL.
 +  -openssl ............. Enable run-time OpenSSL support.
    -openssl-linked ...... Enabled linked OpenSSL support.

 *  -no-libproxy ......... Do not compile support for libproxy
    -libproxy ............ Use libproxy from the operating system.

    -qt-pcre ............. Use the PCRE library bundled with Qt.
 +  -system-pcre ......... Use the PCRE library from the operating system.

    -qt-xcb .............. Use xcb- libraries bundled with Qt.
                           (libxcb.so will still be used from operating system).
 +  -system-xcb .......... Use xcb- libraries from the operating system.

    -xkb-config-root ..... Set default XKB config root. This option is used only together with -qt-xkbcommon-x11.
    -qt-xkbcommon-x11 .... Use the xkbcommon library bundled with Qt in combination with xcb.
 +  -system-xkbcommon-x11  Use the xkbcommon library from the operating system in combination with xcb.

    -no-xkbcommon-evdev .. Do not use X-less xkbcommon when compiling libinput support.
 *  -xkbcommon-evdev ..... Use X-less xkbcommon when compiling libinput support.

    -no-xinput2 .......... Do not compile XInput2 support.
 *  -xinput2 ............. Compile XInput2 support.

    -no-xcb-xlib.......... Do not compile Xcb-Xlib support.
 *  -xcb-xlib............. Compile Xcb-Xlib support.

    -no-glib ............. Do not compile Glib support.
 +  -glib ................ Compile Glib support.

    -no-pulseaudio ....... Do not compile PulseAudio support.
 +  -pulseaudio .......... Compile PulseAudio support.

    -no-alsa ............. Do not compile ALSA support.
 +  -alsa ................ Compile ALSA support.

    -no-gtk .............. Do not compile GTK platform theme support.
 +  -gtk ................. Compile GTK platform theme support.

Additional options:

    -make <part> ......... Add part to the list of parts to be built at make time.
                           (defaults to: libs tools examples)
    -nomake <part> ....... Exclude part from the list of parts to be built.

    -skip <module> ....... Exclude an entire module from the build.

    -no-compile-examples . Install only the sources of examples.

    -no-gui .............. Don't build the Qt GUI module and dependencies.
 +  -gui ................. Build the Qt GUI module and dependencies.

    -no-widgets .......... Don't build the Qt Widgets module and dependencies.
 +  -widgets ............. Build the Qt Widgets module and dependencies.

    -R <string> .......... Add an explicit runtime library path to the Qt
                           libraries.
    -l <string> .......... Add an explicit library.

    -no-rpath ............ Do not use the library install path as a runtime
                           library path. On Apple platforms, this implies using
                           absolute install names (based in -libdir) for dynamic
                           libraries and frameworks.
 +  -rpath ............... Link Qt libraries and executables using the library
                           install path as a runtime library path. Equivalent
                           to -R install_libpath

    -continue ............ Continue as far as possible if an error occurs.

    -verbose, -v ......... Print verbose information about each step of the
                           configure process.

    -silent .............. Reduce the build output so that warnings and errors
                           can be seen more easily.

    -no-cups ............. Do not compile CUPS support.
 *  -cups ................ Compile CUPS support.
                           Requires cups/cups.h and libcups.so.2.

    -no-iconv ............ Do not compile support for iconv(3).
 *  -iconv ............... Compile support for iconv(3).

    -no-evdev ............ Do not compile support for evdev.
 *  -evdev ............... Compile support for evdev.

    -no-tslib ............ Do not compile support for tslib.
 *  -tslib ............... Compile support for tslib.

    -no-icu .............. Do not compile support for ICU libraries.
 +  -icu ................. Compile support for ICU libraries.

    -no-fontconfig ....... Do not compile FontConfig support.
 +  -fontconfig .......... Compile FontConfig support.

    -no-strip ............ Do not strip binaries and libraries of unneeded symbols.
 *  -strip ............... Strip binaries and libraries of unneeded symbols when installing.

 *  -no-pch .............. Do not use precompiled header support.
    -pch ................. Use precompiled header support.

 *  -no-ltcg               Do not use Link Time Code Generation
    -ltcg                  Use Link Time Code Generation.

    -no-dbus ............. Do not compile the Qt D-Bus module.
 +  -dbus-linked ......... Compile the Qt D-Bus module and link to libdbus-1.
    -dbus-runtime ........ Compile the Qt D-Bus module and dynamically load libdbus-1.

    -reduce-relocations .. Reduce relocations in the libraries through extra
                           linker optimizations (Qt/X11 and Qt for Embedded Linux only;
                           experimental; needs GNU ld >= 2.18).

    -no-use-gold-linker .. Do not link using the GNU gold linker.
 +  -use-gold-linker ..... Link using the GNU gold linker if available.

    -force-asserts ....... Force Q_ASSERT to be enabled even in release builds.

    -sanitize [address|thread|memory|undefined] Enables the specified compiler sanitizer.

    -device <name> ............... Cross-compile for device <name> (experimental)
    -device-option <key=value> ... Add device specific options for the device mkspec
                                   (experimental)

    -host-option <key=value> ..... Add host specific options for the host mkspec

 *  -no-separate-debug-info ...... Do not store debug information in a separate file.
    -separate-debug-info ......... Strip debug information into a separate file.

    -no-xcb .............. Do not compile Xcb (X protocol C-language Binding) support.
 *  -xcb ................. Compile Xcb support.

    -no-eglfs ............ Do not compile EGLFS (EGL Full Screen/Single Surface) support.
 *  -eglfs ............... Compile EGLFS support.

    -no-kms .............. Do not compile backends for KMS.
 *  -kms ................. Compile backends for KMS.

    -no-gbm .............. Do not compile backends for GBM.
 *  -gbm ................. Compile backends for GBM.

 *  -no-directfb ......... Do not compile DirectFB support.
    -directfb ............ Compile DirectFB support.

    -no-linuxfb .......... Do not compile Linux Framebuffer support.
 *  -linuxfb ............. Compile Linux Framebuffer support.

 *  -no-mirclient......... Do not compile Mir client support.
    -mirclient............ Compile Mir client support.

    -qpa <name> .......... Sets the default QPA platform (e.g xcb, cocoa, windows).

    -xplatform target .... The target platform when cross-compiling.

    -sysroot <dir> ....... Sets <dir> as the target compiler's and qmake's sysroot and also sets pkg-config paths.
    -no-gcc-sysroot ...... When using -sysroot, it disables the passing of --sysroot to the compiler

    -external-hostbindir <path> .. Path to Qt tools built for this machine. Use this when -platform
                                   does not match the current system, i.e., to make a Canadian Cross Build.

    -no-feature-<feature>  Do not compile in <feature>.
    -feature-<feature> ... Compile in <feature>. The available features
                           are described in src/corelib/global/qfeatures.txt

    -qreal [double|float]  typedef qreal to the specified type. The default is double.
                           Note that changing this flag affects binary compatibility.

    -no-opengl ........... Do not support OpenGL.
    -opengl <api> ........ Enable OpenGL support
                           With no parameter, this will attempt to auto-detect
                           OpenGL ES 2.0 and higher, or regular desktop OpenGL.
                           Use es2 for <api> to override auto-detection.

    -no-libinput ......... Do not support libinput.
 *  -libinput ............ Enable libinput support.

    -no-gstreamer ........ Do not support GStreamer.
 +  -gstreamer <version> . Enable GStreamer support
                           With no parameter, this will attempt to auto-detect GStreamer 0.10 and
                           1.0. GStreamer 1.0 is used by default when available.
                           Use 0.10 or 1.0 for <version> to override auto-detection.

    -no-system-proxies ... Do not use system network proxies by default.
 *  -system-proxies ...... Use system network proxies by default.

    -no-warnings-are-errors Make warnings be treated normally
    -warnings-are-errors   Make warnings be treated as errors
                           (enabled if -developer-build is active)

QNX options:

    -no-slog2 ........... Do not compile with slog2 support.
    -slog2 .............. Compile with slog2 support.

    -no-pps ............. Do not compile with pps support.
    -pps ................ Compile with pps support.

    -no-imf ............. Do not compile with imf support.
    -imf ................ Compile with imf support.

    -no-lgmon ........... Do not compile with lgmon support.
    -lgmon .............. Compile with lgmon support.

Apple platform options:

    -Fstring ............ Add an explicit framework path.
    -fw string .......... Add an explicit framework.

 *  -framework .......... Build Qt as a series of frameworks and
                          link tools against those frameworks.
    -no-framework ....... Do not build Qt as a series of frameworks.

 *  -securetransport .... Use SecureTransport instead of OpenSSL

    -no-securetransport . Do not use SecureTransport, either use OpenSSL or do not use any SSL backend
                          at all (if combined with -no-openssl).

    -sdk <sdk> .......... Build Qt using Apple provided SDK <sdk>. The argument should be
                          one of the available SDKs as listed by 'xcodebuild -showsdks'.
                          Note that the argument applies only to Qt libraries and applications built
                          using the target mkspec - not host tools such as qmake, moc, rcc, etc.

Android options:

    -android-sdk path .............. The Android SDK root path.
                                     (default $ANDROID_SDK_ROOT)

    -android-ndk path .............. The Android NDK root path.
                                     (default $ANDROID_NDK_ROOT)

    -android-ndk-platform .......... Sets the android platform

    -android-ndk-host .............. Sets the android NDK host (linux-x86, linux-x86_64, etc.)
                                     (default $ANDROID_NDK_HOST)

    -android-arch .................. Sets the android architecture (armeabi, armeabi-v7a, x86, mips,
                                     arm64-v8a, x86_64, mips64)

    -android-toolchain-version ..... Sets the android toolchain version

    -no-android-style-assets ....... Do not compile in the code which automatically extracts
                                     style assets from the run-time device. Setting this will
                                     make the Android style behave incorrectly, but will enable
                                     compatibility with the LGPL2.1 license.
 *  -android-style-assets .......... Compile the code which automatically extracts style assets
                                     from the run-time device. This option will make the
                                     Android platform plugin incompatible with the LGPL2.1.