summaryrefslogtreecommitdiffstats
path: root/config_help.txt
diff options
context:
space:
mode:
Diffstat (limited to 'config_help.txt')
-rw-r--r--config_help.txt189
1 files changed, 95 insertions, 94 deletions
diff --git a/config_help.txt b/config_help.txt
index 9752904a89..13fc516da5 100644
--- a/config_help.txt
+++ b/config_help.txt
@@ -1,35 +1,21 @@
-Usage: configure [options] [assignments]
+Usage: configure [options] [-- cmake-options]
-Configure understands variable assignments like VAR=value on the command line.
-Each uppercased library name (obtainable with -list-libraries) supports the
-suffixes _INCDIR, _LIBDIR, _PREFIX (INCDIR=PREFIX/include, LIBDIR=PREFIX/lib),
-_LIBS, and - on Windows and Darwin - _LIBS_DEBUG and _LIBS_RELEASE. E.g.,
-ICU_PREFIX=/opt/icu42 ICU_LIBS="-licui18n -licuuc -licudata".
-
-It is also possible to manipulate any QMAKE_* variable, to amend the values
-from the mkspec for the build of Qt itself, e.g., QMAKE_CXXFLAGS+=-g3.
-
-Note that the *_LIBS* and QMAKE_* assignments manipulate lists, so items
-containing meta characters (spaces in particular) need to be quoted according
-to qmake rules. On top of that, the assignments as a whole need to be quoted
-according to shell rules. It is recommended to use single quotes for the inner
-quoting and double quotes for the outer quoting.
+This is a convenience script for configuring Qt with CMake.
+Options after the double dash are directly passed to CMake.
Top-level installation directories:
-prefix <dir> ...... The deployment directory, as seen on the target device.
[/usr/local/Qt-$QT_VERSION; qtbase build directory if
-developer-build]
+ -no-prefix ......... The deployment directory is set to the qtbase build
+ directory. Can be used instead of -developer-build
+ to not have to install, as well as avoid
+ -developer-build's default of -warnings-are-errors.
-extprefix <dir> ... The installation directory, as seen on the host machine.
[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. [EXTPREFIX]
- -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.
Fine tuning of installation directory layout. Note that all directories
-except -sysconfdir should be located under -prefix/-hostprefix:
+except -sysconfdir should be located under -prefix:
-bindir <dir> ......... Executables [PREFIX/bin]
-headerdir <dir> ...... Header files [PREFIX/include]
@@ -45,10 +31,7 @@ except -sysconfdir should be located under -prefix/-hostprefix:
-sysconfdir <dir> ..... Settings used by Qt programs [PREFIX/etc/xdg]
-examplesdir <dir> .... Examples [PREFIX/examples]
-testsdir <dir> ....... Tests [PREFIX/tests]
-
- -hostbindir <dir> ..... Host executables [HOSTPREFIX/bin]
- -hostlibdir <dir> ..... Host libraries [HOSTPREFIX/lib]
- -hostdatadir <dir> .... Data used by qmake [HOSTPREFIX]
+ -hostdatadir <dir> .... Data used by qmake [PREFIX]
Conventions for the remaining options: When an option's description is
followed by a list of values in brackets, the interpretation is as follows:
@@ -61,62 +44,54 @@ options without auto-detection.
Configure meta:
-help, -h ............ Display this help screen
- -verbose, -v ......... Print verbose messages during configuration
- -continue ............ Continue configure despite errors
- -redo ................ Re-configure with previously used options.
+ -redo ................ Re-configure with previously used options. In addition,
+ redo removes CMakeCache.txt file and CMakeFiles/ directory
+ and recreates them from scratch.
Additional options may be passed, but will not be
saved for later use by -redo.
- -recheck [test,...] .. Discard cached negative configure test results.
- Use this after installing missing dependencies.
- Alternatively, if tests are specified, only their
- results are discarded.
- -recheck-all ......... Discard all cached configure test results.
-feature-<feature> ... Enable <feature>
-no-feature-<feature> Disable <feature> [none]
-list-features ....... List available features. Note that some features
have dedicated command line options as well.
- -list-libraries ...... List possible external dependencies.
-
Build options:
- -opensource .......... Build the Open-Source Edition of Qt
- -commercial .......... Build the Commercial Edition of Qt
- -confirm-license ..... Automatically acknowledge the license
-
- -cmake ............... Use the CMake build system instead of the qmake one.
-cmake-generator <name> ... Explicitly specify the build system generator for
CMake instead of auto-detecting one.
-cmake-use-default-generator ... Turn off auto-detection of the CMake build
system generator.
- -release ............. Build Qt with debugging turned off [yes]
- -debug ............... Build Qt with debugging turned on [no]
- -debug-and-release ... Build two versions of Qt, with and without
- debugging turned on [yes] (Apple and Windows only)
+ -cmake-file-api ...... Let CMake store build metadata for loading the build
+ into an IDE. [no; yes if -developer-build]
+ -no-guess-compiler ... Do not guess the compiler from the target mkspec.
+ -release ............. Build Qt with optimizations and without debug
+ symbols [yes]
+ Note that -developer-build implies -debug unless
+ -release is also explicitly specified
+ -debug ............... Build Qt without optimizations and with debug symbols
+ [no]
+ -debug-and-release ... Build two versions of Qt in one build tree [no]
-optimize-debug ...... Enable debug-friendly optimizations in debug builds
[auto] (Not supported with MSVC or Clang toolchains)
-optimize-size ....... Optimize release builds for size instead of speed [no]
- -optimized-tools ..... Build optimized host tools even in debug build [no]
-force-debug-info .... Create symbol files for release builds [no]
-separate-debug-info . Split off debug information to separate files [no]
-gdb-index ........... Index the debug info to speed up GDB
[no; auto if -developer-build with debug info]
- -strip ............... Strip release binaries of unneeded symbols [yes]
-gc-binaries ......... Place each function or data item into its own section
and enable linker garbage collection of unused
sections. [auto for static builds, otherwise no]
-force-asserts ....... Enable Q_ASSERT even in release builds [no]
-developer-build ..... Compile and link Qt for developing Qt itself
- (exports for auto-tests, extra checks, etc.) [no]
+ (exports for auto-tests, extra checks, implies
+ -no-prefix, etc.) [no]
-shared .............. Build shared Qt libraries [yes] (no for UIKit)
-static .............. Build static Qt libraries [no] (yes for UIKit)
-framework ........... Build Qt framework bundles [yes] (Apple only)
- -platform <target> ... Select host mkspec [detected]
- -xplatform <target> .. Select target mkspec when cross-compiling [PLATFORM]
- -device <name> ....... Cross-compile for device <name>
+ -platform <target> ... Select mkspec for the qmake companion files
+ -device <name> ....... Select devices/mkspec for the qmake companion files
-device-option <key=value> ... Add option for the device mkspec
-appstore-compliant .. Disable code that is not allowed in platform app stores.
@@ -124,15 +99,18 @@ Build options:
through an app store by default, in particular Android,
iOS, tvOS, and watchOS. [auto]
+ -qt-host-path <path> . Specify path to a Qt host build for cross-compiling.
-qtnamespace <name> .. Wrap all Qt library code in 'namespace <name> {...}'.
- -qtlibinfix <infix> .. Rename all libQt5*.so to libQt5*<infix>.so.
+ -qtinlinenamespace ... Make -qtnamespace an inline namespace
+ -qtlibinfix <infix> .. Rename all libQt6*.so to libQt6*<infix>.so.
- -testcocoon .......... Instrument with the TestCocoon code coverage tool [no]
+ -coverage <tool> ..... Instrument with the code coverage tool.
-gcov ................ Instrument with the GCov code coverage tool [no]
-trace [backend] ..... Enable instrumentation with tracepoints.
- Currently supported backends are 'etw' (Windows) and
- 'lttng' (Linux), or 'yes' for auto-detection. [no]
+ Currently supported backends are 'etw' (Windows),
+ 'lttng' (Linux), 'ctf' (Common Trace Format, cross-platform)
+ or 'yes' for auto-detection. [no]
-sanitize {address|thread|memory|fuzzer-no-link|undefined}
Instrument with the specified compiler sanitizer.
@@ -140,18 +118,6 @@ Build options:
for example, -sanitize address cannot be combined with
-sanitize thread.
- -coverage {trace-pc-guard|source-based}
- Specify the 'trace-pc-guard' coverage instrumentation for
- sanitizers or generate instrumented code to collect execution
- counts and enable code coverage analysis, respectively. (Clang only)
-
- -c++std <edition> .... Select C++ standard <edition> [c++2a/c++17/c++14/c++11]
- (Not supported with MSVC 2015)
-
- -sse2 ................ Use SSE2 instructions [auto]
- -sse3/-ssse3/-sse4.1/-sse4.2/-avx/-avx2/-avx512
- Enable use of particular x86 instructions [auto]
- Enabled ones are still subject to runtime detection.
-mips_dsp/-mips_dspr2 Use MIPS DSP/rev2 instructions [auto]
-qreal <type> ........ typedef qreal to the specified type. [double]
@@ -173,24 +139,43 @@ Build options:
-pch ................. Use precompiled headers [auto]
-ltcg ................ Use Link Time Code Generation [no]
- -linker [bfd,gold,lld] Force use of the GNU ld, GNU gold or LLVM/LLD linker
- instead of default one (GCC only)
- -incredibuild-xge .... Use the IncrediBuild XGE [no] (Windows only)
+ -intelcet ............ Use Intel Control-flow Enforcement Technology [auto]
+ -glibc-fortify-source Use Glibc function fortification [auto]
+ -trivial-auto-var-init-pattern
+ Use -ftrivial-auto-var-init=pattern [auto]
+ -stack-protector ..... Use -fstack-protector-strong [auto]
+ -stack-clash-protection
+ Use -fstack-clash-protection [auto]
+ -libstdcpp-assertions Use libstdc++ assertions [auto]
+ -libcpp-hardening .... Use libc++ hardening [auto]
+ -relro-now-linker .... Use -z relro -z now when linking [auto]
+ -linker [bfd,gold,lld,mold]
+ Force use of the GNU ld, GNU gold, LLVM/LLD or mold
+ linker instead of default one (GCC and clang only)
-ccache .............. Use the ccache compiler cache [no] (Unix only)
- -make-tool <tool> .... Use <tool> to build qmake [nmake] (Windows only)
- -mp .................. Use multiple processors for compilation (MSVC only)
+ -unity-build ......... Enable Unity (Jumbo) build
+ -unity-build-batch-size <int>
+ Maximum number of source files used by the unity build
+ to create unity source files [32]
-warnings-are-errors . Treat warnings as errors [no; yes if -developer-build]
- -silent .............. Reduce the build output so that warnings and errors
- can be seen more easily
-Build environment:
+ -disable-deprecated-up-to <version>
+ Set the QT_DISABLE_DEPRECATED_UP_TO value to <version>.
+ QT_DISABLE_DEPRECATED_UP_TO is used to remove
+ deprecated methods from both API and ABI.
+ <version> is a hex value, for example 0x060500 can be
+ used to remove all code deprecated in Qt 6.5.0 or
+ earlier releases.
+ By default <version> is set to 0x040000 and 0x050000 on
+ Windows, and non-Windows respectively.
- -sysroot <dir> ....... Set <dir> as the target sysroot
- -gcc-sysroot ......... With -sysroot, pass --sysroot to the compiler [yes]
+Build environment:
-pkg-config .......... Use pkg-config [auto] (Unix only)
+ -vcpkg ............... Use vcpkg [no]
+
-D <string> .......... Pass additional preprocessor define
-I <string> .......... Pass additional include path
-L <string> .......... Pass additional library path
@@ -199,17 +184,11 @@ Build environment:
-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-sdk path .... Set Android SDK root path [$ANDROID_SDK_ROOT]
-android-ndk path .... Set Android NDK root path [$ANDROID_NDK_ROOT]
-android-ndk-platform Set Android platform
- -android-ndk-host .... Set Android NDK host (linux-x86, linux-x86_64, etc.)
- [$ANDROID_NDK_HOST]
- -android-abis ....... Comma separated Android abis, default is:
- armeabi-v7a,arm64-v8a,x86,x86_64
+ -android-abis ....... Only one ABI can be specified, default is: armeabi-v7a
-android-javac-target Set the javac build target version [8]
-android-javac-source Set the javac build source version [8]
-android-style-assets Automatically extract style assets from the device at
@@ -219,12 +198,39 @@ Build environment:
Component selection:
- -skip <repo> ......... Exclude an entire repository from the build.
+ -submodules <repo>[,<repo>] ... Build the listed repositories and those they
+ depend on rather than all checked-out repositories.
+ The list should be separated with commas, e.g.
+ -submodules qtsvg,qtnetworkauth
+ [default is to build all checked out repositories]
+ -skip <repo>[,<repo>] Exclude one or more entire repositories from the
+ build. The list should be separated with commas.
+ e.g. -skip qtimageformats,qtsvg
+ -skip-tests <repo>[,<repo>] ... Skip building tests for one or more
+ repositories. The list should be separated with commas.
+ e.g. -skip-tests qtimageformats,qtsvg
+ -skip-examples <repo>[,<repo>] ... Skip building examples for one or more
+ repositories. The list should be separated with commas.
+ e.g. -skip-examples qtimageformats,qtsvg
+ -init-submodules ..... When configure is called from the qt git super module,
+ it will automatically clone and initialize the
+ repositories specified by the -submodules option. When
+ no -submodules are specified, and no existing
+ submodules are cloned, a default set of submodules
+ will be initialized. To adjust other aspects of the
+ cloning process, check the init-repository --help
+ output for additional options that can be passed
+ to configure.
-make <part> ......... Add <part> to the list of parts to be built.
Specifying this option clears the default list first.
- [libs and examples, also tools if not cross-building,
- also tests if -developer-build]
+ (allowed values: libs, tools, examples, tests,
+ benchmarks, manual-tests, minimal-static-tests)
+ [default: libs and examples, also tools if not
+ cross-building, also tests if -developer-build]
-nomake <part> ....... Exclude <part> from the list of parts to be built.
+ -install-examples-sources Installs examples source code into the Qt prefix
+ Only possible when -make examples is also passed
+ [no]
-gui ................. Build the Qt GUI module and dependencies [yes]
-widgets ............. Build the Qt Widgets module and dependencies [yes]
-no-dbus ............. Do not build the Qt D-Bus module
@@ -242,11 +248,9 @@ Core options:
-doubleconversion .... Select used double conversion library [system/qt/no]
No implies use of sscanf_l and snprintf_l (imprecise).
-glib ................ Enable Glib support [no; auto on Unix]
- -eventfd ............. Enable eventfd support
-inotify ............. Enable inotify support
-icu ................. Enable ICU support [auto]
-pcre ................ Select used libpcre2 [system/qt/no]
- -pps ................. Enable PPS support [auto] (QNX only)
-zlib ................ Select used zlib [system/qt]
Logging backends:
@@ -260,7 +264,7 @@ Network options:
-no-openssl .......... Do not use OpenSSL [default on Apple]
-openssl-linked ...... Use OpenSSL and link to libssl [no]
-openssl-runtime ..... Use OpenSSL and dynamically load libssl [auto]
- -schannel ............ Use Secure Channel [no] (Windows only)
+ -schannel ............ Use Secure Channel [auto] (Windows only)
-securetransport ..... Use SecureTransport [auto] (Apple only)
-sctp ................ Enable SCTP support [no]
@@ -279,8 +283,6 @@ Gui, printing, widget options:
-gtk ................. Enable GTK platform theme support [auto]
- -lgmon ............... Enable lgmon support [auto] (QNX only)
-
-no-opengl ........... Disable OpenGL support
-opengl <api> ........ Enable OpenGL support. Supported APIs:
es2, desktop (default on Unix),
@@ -304,7 +306,6 @@ Gui, printing, widget options:
Input backends:
-libudev............ Enable udev support [auto]
-evdev ............. Enable evdev support [auto]
- -imf ............... Enable IMF support [auto] (QNX only)
-libinput .......... Enable libinput support [auto]
-mtdev ............. Enable mtdev support [auto]
-tslib ............. Enable tslib support [auto]
@@ -320,6 +321,6 @@ Gui, printing, widget options:
Database options:
-sql-<driver> ........ Enable SQL <driver> plugin. Supported drivers:
- db2 ibase mysql oci odbc psql sqlite
+ db2 ibase mysql oci odbc psql sqlite mimer
[all auto]
-sqlite .............. Select used sqlite [system/qt]