summaryrefslogtreecommitdiffstats
path: root/cmake/configure-cmake-mapping.md
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/configure-cmake-mapping.md')
-rw-r--r--cmake/configure-cmake-mapping.md296
1 files changed, 154 insertions, 142 deletions
diff --git a/cmake/configure-cmake-mapping.md b/cmake/configure-cmake-mapping.md
index 41ddec2960..d504bd8d4b 100644
--- a/cmake/configure-cmake-mapping.md
+++ b/cmake/configure-cmake-mapping.md
@@ -1,161 +1,173 @@
The following table describes the mapping of configure options to CMake arguments.
-Note that not everything is implemented in configure/configure.bat yet.
-The effort of this is tracked in QTBUG-85373 and QTBUG-85349.
| configure | cmake | Notes |
|---------------------------------------|---------------------------------------------------|-----------------------------------------------------------------|
| -prefix /opt/qt6 | -DCMAKE_INSTALL_PREFIX=/opt/qta6 | |
+| -no-prefix (only available in Qt6) | -DCMAKE_INSTALL_PREFIX=$PWD (with bash) | In Qt5 this was done by specifying -prefix $PWD |
+| or -DFEATURE_no_prefix=ON | |
| -extprefix /opt/qt6 | -DCMAKE_STAGING_PREFIX=/opt/qt6 | |
-| -hostprefix /where/ever | n/a | When cross-building Qt, we do not build for host system anymore |
-| -external-hostbindir /path/to/host/qt | -DQT_HOST_PATH=/path/to/host/qt | |
| -bindir <dir> | -DINSTALL_BINDIR=<dir> | similar for -headerdir -libdir and so on |
-| -host*dir <dir> | n/a | |
-| -help | | |
-| -verbose | | |
+| -hostdatadir <dir> | -DINSTALL_MKSPECSDIR=<dir> | |
+| -qt-host-path <dir> | -DQT_HOST_PATH=<dir> | |
+| -help | n/a | Handled by configure[.bat]. |
+| -verbose | --log-level=STATUS | Sets the CMake log level to STATUS. The default one is NOTICE. |
| -continue | | |
-| -redo | | |
+| -redo | n/a | Handled by configure[.bat]. |
| -recheck [test,...] | | |
| -feature-foo | -DFEATURE_foo=ON | |
| -no-feature-foo | -DFEATURE_foo=OFF | |
| -list-features | | At the moment: configure with cmake once, |
| | | then use ccmake or cmake-gui to inspect the features. |
-| -list-libraries | | |
-| -opensource | | |
-| -commercial | | |
-| -confirm-license | | |
-| -release | | |
-| -debug | | |
-| -debug-and-release | | |
-| -optimize-debug | | |
-| -optimize-size | | |
-| -optimized-tools | | |
-| -force-debug-info | | |
-| -separate-debug-info . | | |
-| -gdb-index | | |
-| -strip | | |
-| -gc-binaries | | |
-| -force-asserts | | |
-| -developer-build | | |
-| -shared | | |
-| -static | | |
-| -framework | | |
-| -platform <target> | | |
-| -xplatform <target> | -DQT_QMAKE_TARGET_MKSPEC=<target> | Only used for generating qmake-compatibility files. |
+| -opensource | n/a | |
+| -commercial | n/a | |
+| -confirm-license | n/a | |
+| -release | -DCMAKE_BUILD_TYPE=Release | |
+| -debug | -DCMAKE_BUILD_TYPE=Debug | |
+| -debug-and-release | -G "Ninja Multi-Config" | |
+| | -DCMAKE_CONFIGURATION_TYPES=Release;Debug | |
+| -optimize-debug | -DFEATURE_optimize_debug=ON | |
+| -optimize-size | -DFEATURE_optimize_size=ON | |
+| -optimized-tools | n/a | This affects only host tools. |
+| -force-debug-info | Use the RelWithDebInfo build config. | |
+| -separate-debug-info | -DFEATURE_separate_debug_info=ON | |
+| -gdb-index | -DFEATURE_enable_gdb_index=ON | |
+| -strip | cmake --install . --strip | This affects the install targets generated by qmake. |
+| -gc-binaries | -DFEATURE_gc_binaries=ON | |
+| -force-asserts | -DFEATURE_force_asserts=ON | |
+| -developer-build | -DFEATURE_developer_build=ON | |
+| -shared | -DBUILD_SHARED_LIBS=ON | |
+| -static | -DBUILD_SHARED_LIBS=OFF | |
+| -framework | -DFEATURE_framework=ON | |
+| -platform <target> | -DQT_QMAKE_TARGET_MKSPEC=<mkspec> | |
+| -xplatform <target> | -DQT_QMAKE_TARGET_MKSPEC=<mkspec> | Used for generating qmake-compatibility files. |
+| | | If passed 'macx-ios-clang', will configure an iOS build. |
| -device <name> | equivalent to -xplatform devices/<name> | |
| -device-option <key=value> | -DQT_QMAKE_DEVICE_OPTIONS=key1=value1;key2=value2 | Only used for generation qmake-compatibility files. |
| | | The device options are written into mkspecs/qdevice.pri. |
-| -appstore-compliant | | |
-| -qtnamespace <name> | | |
-| -qtlibinfix <infix> | | |
-| -qtlibinfix-plugins | | |
-| -testcocoon | | |
-| -gcov | | |
-| -trace [backend] | | |
-| -sanitize {address | | |
-| -coverage {trace-pc-gu | | |
-| -c++std <edition> | | |
-| -sse2 | | |
-| -sse3/-ssse3/-sse4.1/- | | |
-| -mips_dsp/-mips_dspr2 | | |
-| -qreal <type> | | |
-| -R <string> | | |
-| -rpath | | |
-| -reduce-exports | | |
-| -reduce-relocations | | |
+| -appstore-compliant | -DFEATURE_appstore_compliant=ON | |
+| -qtinlinenamespace | -DQT_INLINE_NAMESPACE=ON | Make the namespace specified by -qtnamespace an inline one. |
+| -qtnamespace <name> | -DQT_NAMESPACE=<name> | |
+| -qtlibinfix <infix> | -DQT_LIBINFIX=<infix> | |
+| -coverage <tool> | -DINPUT_coverage=<tool> | Enables code coverage using the specified tool. |
+| -gcov | -DINPUT_coverage=gcov | Enables code coverage using the gcov tool. |
+| -trace [backend] | -DINPUT_trace=yes or -DINPUT_trace=<backend> | |
+| | or -DFEATURE_<backend> | |
+| -sanitize address -sanitize undefined | -DFEATURE_sanitize_address=ON | Directly setting -DECM_ENABLE_SANITIZERS=foo is not supported |
+| | -DFEATURE_sanitize_undefined=ON | |
+| -c++std c++20 | -DFEATURE_cxx20=ON | |
+| -sse2/-sse3/-ssse3/-sse4.1 | -DFEATURE_sse4=ON | |
+| -mips_dsp/-mips_dspr2 | -DFEATURE_mips_dsp=ON | |
+| -qreal <type> | -DQT_COORD_TYPE=<type> | |
+| -R <string> | -DQT_EXTRA_RPATHS=path1;path2 | |
+| -rpath | negative CMAKE_SKIP_BUILD_RPATH | |
+| | negative CMAKE_SKIP_INSTALL_RPATH | |
+| | negative CMAKE_MACOSX_RPATH | |
+| -reduce-exports | -DFEATURE_reduce_exports=ON | |
+| -reduce-relocations | -DFEATURE_reduce_relocations=ON | |
| -plugin-manifests | | |
-| -static-runtime | | |
-| -pch | | |
-| -ltcg | | |
-| -linker [bfd,gold,lld] | | |
-| -incredibuild-xge | | |
+| -static-runtime | -DFEATURE_static_runtime=ON | |
+| -pch | -DBUILD_WITH_PCH=ON | |
+| -ltcg | -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON or | |
+| | -DCMAKE_INTERPROCEDURAL_OPTIMIZATION_<CONFIG>=ON | |
+| -linker [bfd,gold,lld,mold] | -DINPUT_linker=<name> or | |
+| | -DFEATURE_use_<name>_linker=ON | |
+| -incredibuild-xge | n/a | This option enables remote distribution of Visual Studio |
+| | | custom build steps for moc, uic, and rcc. |
+| | | This lacks support in CMake. |
| -ccache | -DQT_USE_CCACHE=ON | |
-| -make-tool <tool> | n/a | |
-| -mp | n/a | |
+| -unity-build | -DQT_UNITY_BUILD=ON | |
+| -unity-build-batch-size <int> | -DQT_UNITY_BUILD_BATCH_SIZE=<int> | |
| -warnings-are-errors | -DWARNINGS_ARE_ERRORS=ON | |
-| -silent | | |
-| -sysroot <dir> | -DCMAKE_SYSROOT=<dir> | Should be provided by a toolchain file that's |
-| | | passed via -DCMAKE_TOOLCHAIN_FILE=<filename> |
-| -gcc-sysroot | | |
-| -pkg-config | | |
-| -D <string> | | |
-| -I <string> | | |
-| -L <string> | | |
-| -F <string> | | |
-| -sdk <sdk> | | |
-| -android-sdk path | | |
-| -android-ndk path | | |
-| -android-ndk-platform | | |
-| -android-ndk-host | | |
-| -android-abis | | |
-| -android-style-assets | | |
-| mponent selection: | | |
-| -skip <repo> | | |
-| -make <part> | | |
-| -nomake <part> | | |
-| -compile-examples | | |
-| -gui | | |
-| -widgets | | |
-| -no-dbus | | |
-| -dbus-linked | | |
-| -dbus-runtime | | |
-| -accessibility | | |
-| -skip <repo> | | |
-| -make <part> | | |
-| -nomake <part> | | |
-| -compile-examples | | |
-| -gui | | |
-| -widgets | | |
-| -no-dbus | | |
-| -dbus-linked | | |
-| -dbus-runtime | | |
-| -accessibility | | |
-| -doubleconversion | | |
-| -glib | | |
-| -eventfd | | |
-| -inotify | | |
-| -icu | | |
-| -pcre | | |
-| -pps | | |
-| -zlib | | |
-| -ssl | | |
-| -no-openssl | | |
-| -openssl-linked | | |
-| -openssl-runtime | | |
-| -schannel | | |
-| -securetransport | | |
-| -sctp | | |
-| -libproxy | | |
-| -system-proxies | | |
-| -cups | | |
-| -fontconfig | | |
-| -freetype | | |
-| -harfbuzz | | |
-| -gtk | | |
-| -lgmon | | |
-| -no-opengl | | |
-| -opengl <api> | | |
-| -opengles3 | | |
-| -egl | | |
-| -qpa <name> | | |
-| -xcb-xlib | | |
-| -direct2d | | |
-| -directfb | | |
-| -eglfs | | |
-| -gbm | | |
-| -kms | | |
-| -linuxfb | | |
-| -xcb | | |
-| -libudev | | |
-| -evdev | | |
-| -imf | | |
-| -libinput | | |
-| -mtdev | | |
-| -tslib | | |
-| -bundled-xcb-xinput | | |
-| -xkbcommon | | |
-| -gif | | |
-| -ico | | |
-| -libpng | | |
-| -libjpeg | | |
-| -sql-<driver> | | |
-| -sqlite | | |
+| -no-pkg-config | -DFEATURE_pkg_config=OFF | |
+| -vcpkg | -DQT_USE_VCPKG=ON | |
+| -D <string> | -DQT_EXTRA_DEFINES=<string1>;<string2> | |
+| -I <string> | -DQT_EXTRA_INCLUDEPATHS=<string1>;<string2> | |
+| -L <string> | -DQT_EXTRA_LIBDIRS=<string1>;<string2> | |
+| -F <string> | -DQT_EXTRA_FRAMEWORKPATHS=<string1>;<string2> | |
+| -sdk <sdk> | -DQT_APPLE_SDK=<value> | Should be provided a value like 'iphoneos' or 'iphonesimulator' |
+| | | If no value is provided, a simulator_and_device build is |
+| | | assumed. |
+| -android-sdk <path> | -DANDROID_SDK_ROOT=<path> | |
+| -android-ndk <path> | -DCMAKE_TOOLCHAIN_FILE=<toolchain file in NDK> | |
+| -android-ndk-platform android-23 | -DANDROID_PLATFORM=android-23 | |
+| -android-abis <abi_1>,...,<abi_n> | -DANDROID_ABI=<abi_1> | only one ABI can be specified |
+| -android-style-assets | -DFEATURE_android_style_assets=ON | |
+| -android-javac-source | -DQT_ANDROID_JAVAC_SOURCE=7 | Set the javac build source version. |
+| -android-javac-target | -DQT_ANDROID_JAVAC_TARGET=7 | Set the javac build target version. |
+| -skip <repo>,...,<repo_n> | -DBUILD_<repo>=OFF | |
+| -skip-tests <repo>,...,<repo_n> | -DQT_BUILD_TESTS_PROJECT_<repo>=OFF | |
+| -skip-examples <repo>,...,<repo_n> | -DQT_BUILD_EXAMPLES_PROJECT_<repo>=OFF | |
+| -submodules <repo>,...,<repo_n> | -DQT_BUILD_SUBMODULES=<repo>;...;<repo> | |
+| -make <part> | -DQT_BUILD_TESTS=ON | A way to turn on tools explicitly is missing. If tests/examples |
+| | -DQT_BUILD_EXAMPLES=ON | are enabled, you can disable their building as part of the |
+| | | 'all' target by also passing -DQT_BUILD_TESTS_BY_DEFAULT=OFF or |
+| | | -DQT_BUILD_EXAMPLES_BY_DEFAULT=OFF. Note that if you entirely |
+| | | disable tests/examples at configure time (by using |
+| | | -DQT_BUILD_TESTS=OFF or -DQT_BUILD_EXAMPLES=OFF) you can't then |
+| | | build them separately, after configuration. |
+| -nomake <part> | -DQT_BUILD_TESTS=OFF | A way to turn off tools explicitly is missing. |
+| | -DQT_BUILD_EXAMPLES=OFF | |
+| -install-examples-sources | -DQT_INSTALL_EXAMPLES_SOURCES=ON | |
+| -no-gui | -DFEATURE_gui=OFF | |
+| -no-widgets | -DFEATURE_widgets=OFF | |
+| -no-dbus | -DFEATURE_dbus=OFF | |
+| -dbus [linked/runtime] | -DINPUT_dbus=[linked/runtime] | |
+| -dbus-linked | -DINPUT_dbus=linked | |
+| -dbus-runtime | -DINPUT_dbus=runtime | |
+| -accessibility | -DFEATURE_accessibility=ON | |
+| -doubleconversion | -DFEATURE_doubleconversion=ON | |
+| | -DFEATURE_system_doubleconversion=ON/OFF | |
+| -glib | -DFEATURE_glib=ON | |
+| -inotify | -DFEATURE_inotify=ON | |
+| -icu | -DFEATURE_icu=ON | |
+| -pcre | -DFEATURE_pcre2=ON | |
+| -pcre [system/qt] | -DFEATURE_system_pcre2=ON/OFF | |
+| -pps | n/a | QNX feature. Not available for 6.0. |
+| -zlib [system/qt] | -DFEATURE_system_zlib=ON/OFF | |
+| -ssl | -DFEATURE_ssl=ON | |
+| -openssl [no/yes/linked/runtime] | -DINPUT_openssl=no/yes/linked/runtime | |
+| -openssl-linked | -DINPUT_openssl=linked | |
+| -openssl-runtime | -DINPUT_openssl=runtime | |
+| -schannel | -DFEATURE_schannel=ON | |
+| -securetransport | -DFEATURE_securetransport=ON | |
+| -sctp | -DFEATURE_sctp=ON | |
+| -libproxy | -DFEATURE_libproxy=ON | |
+| -system-proxies | -DFEATURE_system_proxies=ON | |
+| -cups | -DFEATURE_cups=ON | |
+| -fontconfig | -DFEATURE_fontconfig=ON | |
+| -freetype [no/qt/system] | -DFEATURE_freetype=ON/OFF | |
+| | -DFEATURE_system_freetype=ON/OFF | |
+| -harfbuzz [no/qt/system] | -DFEATURE_harfbuzz=ON | |
+| | -DFEATURE_system_harfbuzz=ON/OFF | |
+| -gtk | -DFEATURE_gtk3=ON | |
+| -lgmon | n/a | QNX-specific |
+| -no-opengl | -DINPUT_opengl=no | |
+| -opengl <api> | -DINPUT_opengl=<api> | |
+| -opengles3 | -DFEATURE_opengles3=ON | |
+| -egl | -DFEATURE_egl=ON | |
+| -qpa <name> | -DQT_QPA_DEFAULT_PLATFORM=<name> | |
+| -xcb-xlib | -DFEATURE_xcb_xlib=ON | |
+| -direct2d | -DFEATURE_direct2d=ON | |
+| -directfb | -DFEATURE_directfb=ON | |
+| -eglfs | -DFEATURE_eglfs=ON | |
+| -gbm | -DFEATURE_gbm=ON | |
+| -kms | -DFEATURE_kms=ON | |
+| -linuxfb | -DFEATURE_linuxfb=ON | |
+| -xcb | -DFEATURE_xcb=ON | |
+| -libudev | -DFEATURE_libudev=ON | |
+| -evdev | -DFEATURE_evdev=ON | |
+| -imf | n/a | QNX-specific |
+| -libinput | -DFEATURE_libinput=ON | |
+| -mtdev | -DFEATURE_mtdev=ON | |
+| -tslib | -DFEATURE_tslib=ON | |
+| -bundled-xcb-xinput | -DFEATURE_system_xcb_xinput=OFF | |
+| -xkbcommon | -DFEATURE_xkbcommon=ON | |
+| -gif | -DFEATURE_gif=ON | |
+| -ico | -DFEATURE_ico=ON | |
+| -libpng | -DFEATURE_png=ON | |
+| -libjpeg | -DFEATURE_jpeg=ON | |
+| -sql-<driver> | -DFEATURE_sql_<driver>=ON | |
+| -sqlite [qt/system] | -DFEATURE_system_sqlite=OFF/ON | |
+| -disable-deprecated-up-to <hex_version> | -DQT_DISABLE_DEPRECATED_UP_TO=<hex_version> | |
+| -mimetype-database-compression <type> | -DINPUT_mimetype_database_compression=<type> | Sets the compression type for mime type database. Supported |
+| | | types: gzip, zstd, none. |