summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.cmake.conf2
-rw-r--r--.prev_configure.cmake153
-rw-r--r--.qmake.conf2
-rw-r--r--CMakeLists.txt17
-rwxr-xr-xbin/fixqt4headers.pl179
-rw-r--r--bin/qt-cmake-private-install.cmake.in3
-rw-r--r--cmake/FindGLESv2.cmake4
-rw-r--r--cmake/FindInterbase.cmake51
-rw-r--r--cmake/FindPostgreSQL.cmake317
-rw-r--r--cmake/FindWrapBacktrace.cmake17
-rw-r--r--cmake/FindWrapBrotli.cmake47
-rw-r--r--cmake/FindWrapOpenSSL.cmake12
-rw-r--r--cmake/FindWrapZLIB.cmake29
-rw-r--r--cmake/ModuleDescription.json.in2
-rw-r--r--cmake/Qt3rdPartyLibraryHelpers.cmake19
-rw-r--r--cmake/QtAndroidHelpers.cmake124
-rw-r--r--cmake/QtAppHelpers.cmake10
-rw-r--r--cmake/QtAutoDetect.cmake129
-rw-r--r--cmake/QtAutogenHelpers.cmake20
-rw-r--r--cmake/QtBaseConfigureTests.cmake34
-rw-r--r--cmake/QtBaseGlobalTargets.cmake22
-rw-r--r--cmake/QtBuild.cmake136
-rw-r--r--cmake/QtBuildInformation.cmake2
-rw-r--r--cmake/QtBuildInternals/QtBuildInternalsConfig.cmake91
-rw-r--r--cmake/QtBuildInternalsExtra.cmake.in20
-rw-r--r--cmake/QtCMakeHelpers.cmake24
-rw-r--r--cmake/QtCMakeVersionHelpers.cmake11
-rw-r--r--cmake/QtCompilerOptimization.cmake9
-rw-r--r--cmake/QtConfig.cmake.in10
-rw-r--r--cmake/QtExecutableHelpers.cmake48
-rw-r--r--cmake/QtFeature.cmake49
-rw-r--r--cmake/QtFlagHandlingHelpers.cmake186
-rw-r--r--cmake/QtFrameworkHelpers.cmake2
-rw-r--r--cmake/QtHeadersClean.cmake10
-rw-r--r--cmake/QtInstallHelpers.cmake42
-rw-r--r--cmake/QtInternalTargets.cmake2
-rw-r--r--cmake/QtLoadFilePrintVars.cmake15
-rw-r--r--cmake/QtModuleDependencies.cmake.in6
-rw-r--r--cmake/QtModuleHelpers.cmake57
-rw-r--r--cmake/QtPlatformAndroid.cmake2
-rw-r--r--cmake/QtPlatformSupport.cmake6
-rw-r--r--cmake/QtPluginConfig.cmake.in9
-rw-r--r--cmake/QtPluginDependencies.cmake.in3
-rw-r--r--cmake/QtPluginHelpers.cmake275
-rw-r--r--cmake/QtPlugins.cmake.in46
-rw-r--r--cmake/QtPostProcess.cmake1
-rw-r--r--cmake/QtPostProcessHelpers.cmake37
-rw-r--r--cmake/QtPriHelpers.cmake7
-rw-r--r--cmake/QtPrlHelpers.cmake5
-rw-r--r--cmake/QtProcessConfigureArgs.cmake92
-rw-r--r--cmake/QtPublicTargetsHelpers.cmake4
-rw-r--r--cmake/QtQmakeHelpers.cmake44
-rw-r--r--cmake/QtResourceHelpers.cmake10
-rw-r--r--cmake/QtSetup.cmake5
-rw-r--r--cmake/QtSimdHelpers.cmake38
-rw-r--r--cmake/QtSyncQtHelpers.cmake6
-rw-r--r--cmake/QtTargetHelpers.cmake63
-rw-r--r--cmake/QtTestHelpers.cmake19
-rw-r--r--cmake/QtToolHelpers.cmake74
-rw-r--r--cmake/QtToolchainHelpers.cmake50
-rw-r--r--cmake/QtWasmHelpers.cmake92
-rw-r--r--cmake/QtWrapperScriptHelpers.cmake10
-rw-r--r--cmake/README.md36
-rw-r--r--cmake/configure-cmake-mapping.md2
-rw-r--r--cmake/ios/MacOSXBundleInfo.plist.in46
-rw-r--r--coin/instructions/call_cmake_for_standalone_tests.yaml14
-rw-r--r--coin/instructions/cmake_build_and_upload_test_artifacts.yaml13
-rw-r--r--coin/instructions/cmake_documentation_build.yaml2
-rw-r--r--coin/instructions/cmake_regular_test_instructions_common.yaml10
-rw-r--r--coin/instructions/cmake_regular_test_instructions_enforced.yaml4
-rw-r--r--coin/instructions/coin_module_build_template_v2.yaml35
-rw-r--r--coin/instructions/coin_module_test_android_start_emulator.yaml2
-rw-r--r--coin/instructions/coin_qtbase_build_template_v2.yaml4
-rw-r--r--config.tests/cmake_zstd/check_zstd.cmake5
-rw-r--r--config_help.txt8
-rwxr-xr-xconfigure14
-rw-r--r--configure.bat17
-rw-r--r--configure.cmake212
-rw-r--r--configure.json63
-rw-r--r--doc/global/config.qdocconf2
-rw-r--r--doc/global/externalsites/qtcreator.qdoc506
-rw-r--r--doc/global/html-footer-online.qdocconf2
-rw-r--r--doc/global/html-footer.qdocconf2
-rw-r--r--doc/global/qt-module-defaults-online.qdocconf2
-rw-r--r--doc/global/template/style/offline-simple.css14
-rw-r--r--doc/global/template/style/offline.css21
-rw-r--r--doc/global/template/style/online.css3
-rw-r--r--examples/corelib/threads/mandelbrot/main.cpp34
-rw-r--r--examples/corelib/threads/mandelbrot/mandelbrotwidget.cpp16
-rw-r--r--examples/corelib/threads/mandelbrot/mandelbrotwidget.h4
-rw-r--r--examples/corelib/threads/mandelbrot/renderthread.cpp28
-rw-r--r--examples/corelib/threads/mandelbrot/renderthread.h7
-rw-r--r--examples/embedded/flickable/main.cpp2
-rw-r--r--examples/examples.pro4
-rw-r--r--examples/network/CMakeLists.txt2
-rw-r--r--examples/network/fortuneserver/server.cpp2
-rw-r--r--examples/network/threadedfortuneserver/fortuneserver.cpp2
-rw-r--r--examples/network/torrent/.prev_CMakeLists.txt73
-rw-r--r--examples/network/torrent/CMakeLists.txt3
-rw-r--r--examples/network/torrent/addtorrentform.ui (renamed from examples/network/torrent/forms/addtorrentform.ui)0
-rw-r--r--examples/network/torrent/mainwindow.cpp2
-rw-r--r--examples/network/torrent/torrent.pro2
-rw-r--r--examples/network/torrent/torrentclient.cpp16
-rw-r--r--examples/widgets/dialogs/standarddialogs/dialog.cpp8
-rw-r--r--examples/widgets/doc/src/addressbook-tutorial.qdoc6
-rw-r--r--examples/widgets/itemviews/dirview/main.cpp2
-rw-r--r--examples/widgets/itemviews/editabletreemodel/mainwindow.cpp2
-rw-r--r--examples/widgets/itemviews/editabletreemodel/treemodel.cpp3
-rw-r--r--examples/widgets/mainwindows/mainwindow/toolbar.cpp2
-rw-r--r--examples/widgets/painting/gradients/gradients.cpp2
-rw-r--r--examples/widgets/painting/pathstroke/pathstroke.cpp24
-rw-r--r--examples/widgets/painting/shared/hoverpoints.cpp24
-rw-r--r--examples/widgets/tools/settingseditor/settingstree.cpp2
-rw-r--r--examples/widgets/touch/fingerpaint/scribblearea.cpp6
-rw-r--r--examples/widgets/touch/knobs/knob.cpp8
-rw-r--r--examples/widgets/touch/pinchzoom/graphicsview.cpp8
-rw-r--r--examples/widgets/widgets/calendarwidget/window.cpp17
-rw-r--r--examples/widgets/widgets/imageviewer/imageviewer.cpp16
-rw-r--r--examples/widgets/widgets/imageviewer/main.cpp2
-rw-r--r--examples/widgets/widgets/validators/localeselector.cpp10
-rwxr-xr-xlibexec/qt-internal-configure-tests.in (renamed from bin/qt-internal-configure-tests.in)0
-rwxr-xr-xlibexec/syncqt.pl (renamed from bin/syncqt.pl)0
-rw-r--r--mkspecs/common/macx.conf4
-rw-r--r--mkspecs/common/qnx/qplatformdefs.h2
-rw-r--r--mkspecs/features/android/android_deployment_settings.prf4
-rw-r--r--mkspecs/features/android/sdk.prf2
-rw-r--r--mkspecs/features/default_pre.prf15
-rw-r--r--mkspecs/features/mac/default_post.prf7
-rw-r--r--mkspecs/features/mac/sdk.mk8
-rw-r--r--mkspecs/features/metatypes.prf2
-rw-r--r--mkspecs/features/moc.prf2
-rw-r--r--mkspecs/features/qlalr.prf2
-rw-r--r--mkspecs/features/qt_config.prf3
-rw-r--r--mkspecs/features/qt_functions.prf21
-rw-r--r--mkspecs/features/qt_module_headers.prf2
-rw-r--r--mkspecs/features/qt_targets.prf2
-rw-r--r--mkspecs/features/qt_tracepoints.prf2
-rw-r--r--mkspecs/features/resources.prf2
-rw-r--r--mkspecs/features/resources_functions.prf6
-rw-r--r--mkspecs/features/uic.prf2
-rw-r--r--mkspecs/features/uikit/default_post.prf2
-rw-r--r--mkspecs/features/wasm/wasm.prf24
-rw-r--r--mkspecs/macx-ios-clang/qmake.conf2
-rw-r--r--mkspecs/macx-tvos-clang/qmake.conf2
-rw-r--r--mkspecs/macx-watchos-clang/qmake.conf2
-rw-r--r--mkspecs/unsupported/qnx-X11-g++/qplatformdefs.h2
-rw-r--r--mkspecs/wasm-emscripten/qmake.conf12
-rw-r--r--qmake/CMakeLists.txt253
-rw-r--r--qmake/configure.cmake12
-rw-r--r--qmake/doc/src/qmake-manual.qdoc19
-rw-r--r--qmake/generators/mac/pbuilder_pbx.cpp17
-rw-r--r--qmake/generators/makefile.cpp9
-rw-r--r--qmake/generators/makefile.h5
-rw-r--r--qmake/library/ioutils.cpp34
-rw-r--r--qmake/library/ioutils.h1
-rw-r--r--qmake/main.cpp19
-rw-r--r--qmake/option.cpp77
-rw-r--r--qmake/option.h2
-rw-r--r--qmake/property.cpp167
-rw-r--r--qmake/property.h8
-rw-r--r--qmake/propertyprinter.cpp68
-rw-r--r--qmake/propertyprinter.h (renamed from src/network/ssl/qsslellipticcurve_dummy.cpp)43
-rw-r--r--qmake/qmakelibraryinfo.cpp300
-rw-r--r--qmake/qmakelibraryinfo.h82
-rw-r--r--qt_cmdline.cmake24
-rw-r--r--src/3rdparty/double-conversion/bignum.cc767
-rw-r--r--src/3rdparty/double-conversion/cached-powers.cc175
-rw-r--r--src/3rdparty/double-conversion/double-conversion/bignum-dtoa.cc (renamed from src/3rdparty/double-conversion/bignum-dtoa.cc)50
-rw-r--r--src/3rdparty/double-conversion/double-conversion/bignum-dtoa.h (renamed from src/3rdparty/double-conversion/bignum-dtoa.h)2
-rw-r--r--src/3rdparty/double-conversion/double-conversion/bignum.cc796
-rw-r--r--src/3rdparty/double-conversion/double-conversion/bignum.h (renamed from src/3rdparty/double-conversion/bignum.h)70
-rw-r--r--src/3rdparty/double-conversion/double-conversion/cached-powers.cc175
-rw-r--r--src/3rdparty/double-conversion/double-conversion/cached-powers.h (renamed from src/3rdparty/double-conversion/cached-powers.h)28
-rw-r--r--src/3rdparty/double-conversion/double-conversion/diy-fp.h (renamed from src/3rdparty/double-conversion/diy-fp.h)61
-rw-r--r--src/3rdparty/double-conversion/double-conversion/double-conversion.h (renamed from src/3rdparty/double-conversion/diy-fp.cc)35
-rw-r--r--src/3rdparty/double-conversion/double-conversion/double-to-string.cc440
-rw-r--r--src/3rdparty/double-conversion/double-conversion/double-to-string.h (renamed from src/3rdparty/double-conversion/include/double-conversion/double-conversion.h)291
-rw-r--r--src/3rdparty/double-conversion/double-conversion/fast-dtoa.cc (renamed from src/3rdparty/double-conversion/fast-dtoa.cc)62
-rw-r--r--src/3rdparty/double-conversion/double-conversion/fast-dtoa.h (renamed from src/3rdparty/double-conversion/fast-dtoa.h)2
-rw-r--r--src/3rdparty/double-conversion/double-conversion/fixed-dtoa.cc (renamed from src/3rdparty/double-conversion/fixed-dtoa.cc)24
-rw-r--r--src/3rdparty/double-conversion/double-conversion/fixed-dtoa.h (renamed from src/3rdparty/double-conversion/fixed-dtoa.h)2
-rw-r--r--src/3rdparty/double-conversion/double-conversion/ieee.h (renamed from src/3rdparty/double-conversion/ieee.h)56
-rw-r--r--src/3rdparty/double-conversion/double-conversion/string-to-double.cc (renamed from src/3rdparty/double-conversion/double-conversion.cc)486
-rw-r--r--src/3rdparty/double-conversion/double-conversion/string-to-double.h226
-rw-r--r--src/3rdparty/double-conversion/double-conversion/strtod.cc (renamed from src/3rdparty/double-conversion/strtod.cc)131
-rw-r--r--src/3rdparty/double-conversion/double-conversion/strtod.h (renamed from src/3rdparty/double-conversion/strtod.h)7
-rw-r--r--src/3rdparty/double-conversion/double-conversion/utils.h (renamed from src/3rdparty/double-conversion/include/double-conversion/utils.h)118
-rw-r--r--src/3rdparty/double-conversion/patches/0001-Avoid-unused-function-warning-for-AssertTrimmedDigit.patch29
-rw-r--r--src/3rdparty/double-conversion/patches/0001-Fix-unused-parameter-compiler-warning-on-32-bit-Linux.patch17
-rw-r--r--src/3rdparty/double-conversion/patches/ReadMe.txt9
-rw-r--r--src/3rdparty/double-conversion/qt_attribution.json4
-rw-r--r--src/3rdparty/freetype/CMakeLists.txt13
-rw-r--r--src/3rdparty/gradle/gradle/wrapper/gradle-wrapper.jarbin54329 -> 59203 bytes
-rw-r--r--src/3rdparty/gradle/gradle/wrapper/gradle-wrapper.properties2
-rwxr-xr-xsrc/3rdparty/gradle/gradlew53
-rw-r--r--src/3rdparty/gradle/gradlew.bat43
-rw-r--r--src/3rdparty/gradle/qt_attribution.json4
-rw-r--r--src/3rdparty/harfbuzz-ng/CMakeLists.txt9
-rw-r--r--src/3rdparty/harfbuzz-ng/COPYING5
-rw-r--r--src/3rdparty/harfbuzz-ng/NEWS126
-rw-r--r--src/3rdparty/harfbuzz-ng/README.md7
-rw-r--r--src/3rdparty/harfbuzz-ng/import_from_tarball.sh100
-rw-r--r--src/3rdparty/harfbuzz-ng/qt_attribution.json2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/dump-indic-data.cc43
-rw-r--r--src/3rdparty/harfbuzz-ng/src/dump-myanmar-data.cc43
-rw-r--r--src/3rdparty/harfbuzz-ng/src/harfbuzz-config.cmake.in86
-rw-r--r--src/3rdparty/harfbuzz-ng/src/harfbuzz-gobject.pc.in12
-rw-r--r--src/3rdparty/harfbuzz-ng/src/harfbuzz-icu.pc.in13
-rw-r--r--src/3rdparty/harfbuzz-ng/src/harfbuzz-subset.pc.in12
-rw-r--r--src/3rdparty/harfbuzz-ng/src/harfbuzz.cc4
-rw-r--r--src/3rdparty/harfbuzz-ng/src/harfbuzz.pc.in13
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-aat-fdsc-table.hh126
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-aat-layout-ankr-table.hh4
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-aat-layout-bsln-table.hh2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-aat-layout-common.hh122
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-aat-layout-feat-table.hh10
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-aat-layout-just-table.hh44
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-aat-layout-kerx-table.hh86
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-aat-layout-lcar-table.hh162
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-aat-layout-morx-table.hh46
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-aat-layout-opbd-table.hh4
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-aat-layout-trak-table.hh8
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-aat-layout.cc105
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-aat-layout.h315
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-aat-layout.hh10
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-aat-map.cc33
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-aat-map.hh13
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-algs.hh289
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-array.hh88
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-atomic.hh129
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-bimap.hh4
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-blob.cc157
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-blob.h39
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-blob.hh1
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-buffer-deserialize-json.hh1146
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-buffer-deserialize-json.rl132
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-buffer-deserialize-text.hh1223
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-buffer-deserialize-text.rl126
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-buffer-serialize.cc543
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-buffer.cc424
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-buffer.h113
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-buffer.hh138
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-cff-interp-common.hh35
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-cff-interp-cs-common.hh47
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-cff-interp-dict-common.hh15
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-cff2-interp-cs.hh15
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-common.cc198
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-common.h716
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-config.hh3
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-coretext.cc85
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-coretext.h32
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-debug.hh7
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-deprecated.h93
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-directwrite.cc15
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-dispatch.hh4
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-draw.cc261
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-draw.h98
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-draw.hh139
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-face.cc197
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-face.h21
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-face.hh4
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-font.cc1348
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-font.h533
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-font.hh5
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ft.cc220
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ft.h6
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-gdi.cc12
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-glib.cc190
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-gobject-enums.cc.tmpl80
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-gobject-enums.h.tmpl56
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-gobject-structs.cc13
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-gobject-structs.h34
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-gobject.h2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-graphite2.cc25
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-graphite2.h10
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-icu.cc187
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-iter.hh2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-kern.hh3
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-machinery.hh27
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-map.cc92
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-map.h14
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-map.hh23
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-meta.hh27
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-mutex.hh21
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-null.hh13
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-number-parser.hh43
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-number-parser.rl139
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-number.cc95
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-object.hh21
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-open-file.hh25
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-open-type.hh115
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-cff-common.hh293
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-cff1-std-str.hh425
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-cff1-table.cc228
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-cff1-table.hh423
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-cff2-table.cc73
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-cff2-table.hh93
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-cmap-table.hh589
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-color-cbdt-table.hh640
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-color-colr-table.hh142
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-color-cpal-table.hh11
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-color-sbix-table.hh127
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-color-svg-table.hh2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-color.cc11
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-color.h9
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-deprecated.h21
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-face-table-list.hh5
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-font.cc28
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-font.h2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-gasp-table.hh4
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-glyf-table.hh753
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-hdmx-table.hh21
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-head-table.hh14
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-hhea-table.hh61
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-hmtx-table.hh88
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-kern-table.hh37
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-layout-base-table.hh18
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-layout-common.hh1053
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-layout-gdef-table.hh279
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-layout-gpos-table.hh1038
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-layout-gsub-table.hh171
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-layout-gsubgpos.hh917
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-layout-jstf-table.hh2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-layout.cc310
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-layout.h86
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-layout.hh3
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-map.hh10
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-math-table.hh164
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-math.cc4
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-math.h85
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-maxp-table.hh7
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-meta-table.hh7
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-meta.cc6
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-meta.h3
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-metrics.cc40
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-metrics.h6
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-name-language-static.hh15
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-name-table.hh89
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-name.cc8
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-name.h5
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-os2-table.hh46
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-os2-unicode-ranges.hh24
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-post-table.hh16
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-arabic-fallback.hh8
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-arabic-joining-list.hh46
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-arabic-table.hh56
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-arabic-win1256.hh4
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-arabic.cc14
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-default.cc20
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-hangul.cc47
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-indic-machine.hh111
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-indic-machine.rl126
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-indic-table.cc64
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-indic.cc137
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-indic.hh23
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-khmer-machine.hh705
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-khmer-machine.rl113
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-khmer.cc116
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-khmer.hh2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-myanmar-machine.hh89
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-myanmar-machine.rl127
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-myanmar.cc89
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-myanmar.hh2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-syllabic.cc100
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-syllabic.hh (renamed from src/3rdparty/harfbuzz-ng/src/dump-khmer-data.cc)34
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-thai.cc15
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-use-machine.hh1181
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-use-machine.rl195
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-use-table.hh (renamed from src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-use-table.cc)649
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-use.cc196
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-use.hh105
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-vowel-constraints.cc88
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex.hh60
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-fallback.cc8
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-normalize.cc52
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape.cc174
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape.h2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape.hh7
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-stat-table.hh74
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-tag-table.hh1488
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-tag.cc104
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-var-avar-table.hh9
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-var-fvar-table.hh200
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-var-gvar-table.hh388
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-var-hvar-table.hh329
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-var-mvar-table.hh4
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-var.cc115
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-var.h53
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-vorg-table.hh9
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-pool.hh4
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-sanitize.hh25
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-serialize.hh166
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-set.cc224
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-set.h17
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-set.hh211
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-shape-plan.cc188
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-shape-plan.h16
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-shape.cc8
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-shape.h2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-shaper.hh2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-static.cc36
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-string-array.hh4
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-style.cc136
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-style.h (renamed from src/3rdparty/harfbuzz-ng/src/dump-use-data.cc)33
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-subset-cff-common.cc8
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-subset-cff-common.hh174
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-subset-cff1.cc633
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-subset-cff1.hh3
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-subset-cff2.cc392
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-subset-cff2.hh3
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-subset-input.cc25
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-subset-input.hh2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-subset-plan.cc160
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-subset-plan.hh44
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-subset.cc266
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-subset.h9
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-subset.hh12
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ucd-table.hh6248
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ucd.cc18
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-unicode-emoji-table.hh8
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-unicode.cc127
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-unicode.h321
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-unicode.hh6
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-uniscribe.cc24
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-vector.hh20
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-version.h37
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-version.h.in66
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb.h2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb.hh236
-rw-r--r--src/3rdparty/harfbuzz-ng/src/main.cc408
-rw-r--r--src/3rdparty/harfbuzz-ng/src/test-array.cc76
-rw-r--r--src/3rdparty/harfbuzz-ng/src/test-buffer-serialize.cc4
-rw-r--r--src/3rdparty/harfbuzz-ng/src/test-gpos-size-params.cc2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/test-gsub-would-substitute.cc2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/test-iter.cc2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/test-meta.cc5
-rw-r--r--src/3rdparty/harfbuzz-ng/src/test-number.cc29
-rw-r--r--src/3rdparty/harfbuzz-ng/src/test-ot-color.cc348
-rw-r--r--src/3rdparty/harfbuzz-ng/src/test-ot-glyphname.cc88
-rw-r--r--src/3rdparty/harfbuzz-ng/src/test-ot-meta.cc3
-rw-r--r--src/3rdparty/harfbuzz-ng/src/test-ot-name.cc3
-rw-r--r--src/3rdparty/harfbuzz-ng/src/test.cc4
-rwxr-xr-xsrc/3rdparty/libjpeg/import_from_libjpeg_tarball.sh1
-rw-r--r--src/3rdparty/libjpeg/jconfig.h4
-rw-r--r--src/3rdparty/libjpeg/jconfigint.h2
-rw-r--r--src/3rdparty/libjpeg/qt_attribution.json13
-rw-r--r--src/3rdparty/libjpeg/src/ChangeLog.md72
-rw-r--r--src/3rdparty/libjpeg/src/README.ijg22
-rw-r--r--src/3rdparty/libjpeg/src/README.md21
-rw-r--r--src/3rdparty/libjpeg/src/jchuff.c4
-rw-r--r--src/3rdparty/libjpeg/src/jcinit.c5
-rw-r--r--src/3rdparty/libjpeg/src/jcphuff.c4
-rw-r--r--src/3rdparty/libjpeg/src/jctrans.c5
-rw-r--r--src/3rdparty/libjpeg/src/jdapistd.c45
-rw-r--r--src/3rdparty/libjpeg/src/jdcoefct.c8
-rw-r--r--src/3rdparty/libjpeg/src/jdcolor.c9
-rw-r--r--src/3rdparty/libjpeg/src/jdmerge.c55
-rw-r--r--src/3rdparty/libjpeg/src/jdmerge.h47
-rw-r--r--src/3rdparty/libjpeg/src/jdmrg565.c10
-rw-r--r--src/3rdparty/libjpeg/src/jdmrgext.c6
-rw-r--r--src/3rdparty/libjpeg/src/jdtrans.c5
-rw-r--r--src/3rdparty/libjpeg/src/jfdctint.c4
-rw-r--r--src/3rdparty/libjpeg/src/jidctint.c4
-rw-r--r--src/3rdparty/libjpeg/src/jmorecfg.h8
-rw-r--r--src/3rdparty/libjpeg/src/jpegcomp.h3
-rw-r--r--src/3rdparty/libjpeg/src/jpeglib.h8
-rw-r--r--src/3rdparty/libjpeg/src/jquant2.c6
-rw-r--r--src/3rdparty/libjpeg/src/jversion.h14
-rw-r--r--src/3rdparty/libpng/CMakeLists.txt2
-rw-r--r--src/3rdparty/sqlite/qt_attribution.json4
-rw-r--r--src/3rdparty/sqlite/sqlite3.c11554
-rw-r--r--src/3rdparty/sqlite/sqlite3.h61
-rw-r--r--src/3rdparty/tinycbor/qt_attribution.json2
-rw-r--r--src/CMakeLists.txt2
-rw-r--r--src/android/jar/.gitignore6
-rw-r--r--src/android/jar/AndroidManifest.xml1
-rw-r--r--src/android/jar/build.gradle54
-rw-r--r--src/android/jar/settings.gradle1
-rw-r--r--src/android/jar/src/org/qtproject/qt/android/CursorHandle.java12
-rw-r--r--src/android/jar/src/org/qtproject/qt/android/QtActivityDelegate.java54
-rw-r--r--src/android/jar/src/org/qtproject/qt/android/QtNative.java33
-rw-r--r--src/android/jar/src/org/qtproject/qt/android/QtServiceDelegate.java8
-rw-r--r--src/android/jar/src/org/qtproject/qt/android/QtSurface.java5
-rw-r--r--src/android/java/src/org/qtproject/qt/android/bindings/QtActivity.java11
-rw-r--r--src/android/java/src/org/qtproject/qt/android/bindings/QtService.java13
-rw-r--r--src/android/templates/AndroidManifest.xml2
-rw-r--r--src/android/templates/build.gradle4
-rw-r--r--src/concurrent/doc/snippets/snippets.pro3
-rw-r--r--src/concurrent/qtconcurrentiteratekernel.cpp2
-rw-r--r--src/concurrent/qtconcurrentrun.cpp9
-rw-r--r--src/concurrent/qtconcurrentthreadengine.h4
-rw-r--r--src/corelib/.prev_configure.cmake145
-rw-r--r--src/corelib/CMakeLists.txt206
-rw-r--r--src/corelib/Qt6AndroidMacros.cmake11
-rw-r--r--src/corelib/Qt6CTestMacros.cmake115
-rw-r--r--src/corelib/Qt6CoreConfigExtras.cmake.in9
-rw-r--r--src/corelib/Qt6CoreMacros.cmake332
-rw-r--r--src/corelib/Qt6WasmMacros.cmake31
-rw-r--r--src/corelib/animation/qabstractanimation.cpp2
-rw-r--r--src/corelib/animation/qabstractanimation_p.h39
-rw-r--r--src/corelib/animation/qpauseanimation.cpp20
-rw-r--r--src/corelib/animation/qpauseanimation.h3
-rw-r--r--src/corelib/animation/qpropertyanimation.cpp42
-rw-r--r--src/corelib/animation/qpropertyanimation.h4
-rw-r--r--src/corelib/animation/qpropertyanimation_p.h8
-rw-r--r--src/corelib/animation/qsequentialanimationgroup.cpp13
-rw-r--r--src/corelib/animation/qsequentialanimationgroup.h6
-rw-r--r--src/corelib/animation/qsequentialanimationgroup_p.h11
-rw-r--r--src/corelib/configure.cmake143
-rw-r--r--src/corelib/configure.json83
-rw-r--r--src/corelib/doc/snippets/cmake-macros/examples.cmake2
-rw-r--r--src/corelib/doc/snippets/code/doc_src_qplugin.pro4
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_global_qglobal.cpp6
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_kernel_qabstractnativeeventfilter.pro5
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_kernel_qdeadlinetimer.cpp2
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_kernel_qproperty.cpp53
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_text_qlocale.cpp4
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_thread_qfuture.cpp11
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_thread_qmutex.cpp2
-rw-r--r--src/corelib/doc/snippets/jni/src_qjniobject.cpp126
-rw-r--r--src/corelib/doc/snippets/resource-system/application.pro3
-rw-r--r--src/corelib/doc/src/cmake-macros.qdoc20
-rw-r--r--src/corelib/doc/src/external-resources.qdoc37
-rw-r--r--src/corelib/doc/src/objectmodel/bindableproperties.qdoc227
-rw-r--r--src/corelib/doc/src/qt6-changes.qdoc27
-rw-r--r--src/corelib/global/qcompilerdetection.h17
-rw-r--r--src/corelib/global/qconfig-bootstrapped.h12
-rw-r--r--src/corelib/global/qconfig.cpp.in34
-rw-r--r--src/corelib/global/qfloat16.h59
-rw-r--r--src/corelib/global/qfloat16_f16c.c11
-rw-r--r--src/corelib/global/qglobal.cpp19
-rw-r--r--src/corelib/global/qglobal.h50
-rw-r--r--src/corelib/global/qglobalstatic.h43
-rw-r--r--src/corelib/global/qlibraryinfo.cpp361
-rw-r--r--src/corelib/global/qlibraryinfo.h24
-rw-r--r--src/corelib/global/qlibraryinfo_p.h78
-rw-r--r--src/corelib/global/qlogging.cpp8
-rw-r--r--src/corelib/global/qnamespace.h1
-rw-r--r--src/corelib/global/qnamespace.qdoc42
-rw-r--r--src/corelib/global/qnumeric.h7
-rw-r--r--src/corelib/global/qoperatingsystemversion.cpp20
-rw-r--r--src/corelib/global/qoperatingsystemversion.h4
-rw-r--r--src/corelib/global/qrandom.cpp31
-rw-r--r--src/corelib/global/qrandom_p.h4
-rw-r--r--src/corelib/global/qsimd.cpp99
-rw-r--r--src/corelib/global/qsimd_p.h21
-rw-r--r--src/corelib/global/qsysinfo.h10
-rw-r--r--src/corelib/global/qt_pch.h4
-rw-r--r--src/corelib/global/qtypeinfo.h18
-rw-r--r--src/corelib/io/qfilesystemengine_unix.cpp2
-rw-r--r--src/corelib/io/qfilesystemengine_win.cpp4
-rw-r--r--src/corelib/io/qfsfileengine_unix.cpp2
-rw-r--r--src/corelib/io/qiodevice.cpp24
-rw-r--r--src/corelib/io/qiodevice.h6
-rw-r--r--src/corelib/io/qlockfile.cpp48
-rw-r--r--src/corelib/io/qlockfile.h15
-rw-r--r--src/corelib/io/qprocess.cpp51
-rw-r--r--src/corelib/io/qprocess_p.h7
-rw-r--r--src/corelib/io/qprocess_unix.cpp383
-rw-r--r--src/corelib/io/qprocess_win.cpp171
-rw-r--r--src/corelib/io/qresource.cpp11
-rw-r--r--src/corelib/io/qsettings.cpp6
-rw-r--r--src/corelib/io/qsettings.h2
-rw-r--r--src/corelib/io/qstandardpaths_android.cpp66
-rw-r--r--src/corelib/io/qstandardpaths_mac.mm4
-rw-r--r--src/corelib/io/qurl.h4
-rw-r--r--src/corelib/io/qwindowspipereader.cpp479
-rw-r--r--src/corelib/io/qwindowspipereader_p.h54
-rw-r--r--src/corelib/io/qwindowspipewriter.cpp346
-rw-r--r--src/corelib/io/qwindowspipewriter_p.h98
-rw-r--r--src/corelib/itemmodels/qabstractitemmodel.h3
-rw-r--r--src/corelib/itemmodels/qabstractproxymodel.cpp19
-rw-r--r--src/corelib/itemmodels/qabstractproxymodel.h1
-rw-r--r--src/corelib/itemmodels/qconcatenatetablesproxymodel.cpp7
-rw-r--r--src/corelib/itemmodels/qidentityproxymodel.cpp2
-rw-r--r--src/corelib/itemmodels/qsortfilterproxymodel.cpp17
-rw-r--r--src/corelib/itemmodels/qsortfilterproxymodel.h10
-rw-r--r--src/corelib/itemmodels/qtransposeproxymodel.cpp5
-rw-r--r--src/corelib/kernel/qcore_mac.mm15
-rw-r--r--src/corelib/kernel/qcoreapplication.cpp30
-rw-r--r--src/corelib/kernel/qcoreapplication.h7
-rw-r--r--src/corelib/kernel/qcoreapplication_p.h2
-rw-r--r--src/corelib/kernel/qcoreapplication_platform.h66
-rw-r--r--src/corelib/kernel/qeventdispatcher_glib.cpp10
-rw-r--r--src/corelib/kernel/qeventdispatcher_win.cpp42
-rw-r--r--src/corelib/kernel/qeventdispatcher_win_p.h3
-rw-r--r--src/corelib/kernel/qfunctions_winrt_p.h6
-rw-r--r--src/corelib/kernel/qjni.cpp4
-rw-r--r--src/corelib/kernel/qjni_p.h1
-rw-r--r--src/corelib/kernel/qjnienvironment.cpp315
-rw-r--r--src/corelib/kernel/qjnienvironment.h85
-rw-r--r--src/corelib/kernel/qjnihelpers.cpp74
-rw-r--r--src/corelib/kernel/qjnihelpers_p.h1
-rw-r--r--src/corelib/kernel/qjniobject.cpp1892
-rw-r--r--src/corelib/kernel/qjniobject.h213
-rw-r--r--src/corelib/kernel/qjnionload.cpp5
-rw-r--r--src/corelib/kernel/qmath.h68
-rw-r--r--src/corelib/kernel/qmath.qdoc56
-rw-r--r--src/corelib/kernel/qmetaobject.cpp27
-rw-r--r--src/corelib/kernel/qmetaobject_p.h3
-rw-r--r--src/corelib/kernel/qmetaobjectbuilder.cpp277
-rw-r--r--src/corelib/kernel/qmetaobjectbuilder_p.h7
-rw-r--r--src/corelib/kernel/qmetatype.cpp50
-rw-r--r--src/corelib/kernel/qmetatype.h108
-rw-r--r--src/corelib/kernel/qobject.cpp4
-rw-r--r--src/corelib/kernel/qobject_p.h1
-rw-r--r--src/corelib/kernel/qobjectdefs.h2
-rw-r--r--src/corelib/kernel/qproperty.cpp794
-rw-r--r--src/corelib/kernel/qproperty.h94
-rw-r--r--src/corelib/kernel/qproperty_p.h196
-rw-r--r--src/corelib/kernel/qpropertyprivate.h77
-rw-r--r--src/corelib/kernel/qsocketnotifier.h2
-rw-r--r--src/corelib/kernel/qsystemsemaphore.h3
-rw-r--r--src/corelib/kernel/qsystemsemaphore_p.h1
-rw-r--r--src/corelib/kernel/qsystemsemaphore_posix.cpp2
-rw-r--r--src/corelib/kernel/qsystemsemaphore_systemv.cpp27
-rw-r--r--src/corelib/kernel/qsystemsemaphore_unix.cpp10
-rw-r--r--src/corelib/kernel/qtimer.cpp49
-rw-r--r--src/corelib/kernel/qtimer.h12
-rw-r--r--src/corelib/kernel/qtimerinfo_unix.cpp7
-rw-r--r--src/corelib/kernel/qvariant.cpp149
-rw-r--r--src/corelib/kernel/qvariant.h23
-rw-r--r--src/corelib/kernel/qvariant_p.h2
-rw-r--r--src/corelib/kernel/qwineventnotifier.cpp70
-rw-r--r--src/corelib/kernel/qwineventnotifier_p.h15
-rw-r--r--src/corelib/mimetypes/mime/generate.pl4
-rw-r--r--src/corelib/mimetypes/qmimedatabase.cpp2
-rw-r--r--src/corelib/platform/android/qandroidnativeinterface.cpp (renamed from src/gui/text/qurlresourceprovider.cpp)57
-rw-r--r--src/corelib/plugin/qlibrary_unix.cpp5
-rw-r--r--src/corelib/serialization/qdatastream.cpp1
-rw-r--r--src/corelib/serialization/qdatastream.h5
-rw-r--r--src/corelib/serialization/qjsoncbor.cpp2
-rw-r--r--src/corelib/serialization/qjsonobject.cpp1
-rw-r--r--src/corelib/serialization/qjsonobject.h2
-rw-r--r--src/corelib/serialization/qjsonvalue.h4
-rw-r--r--src/corelib/serialization/qxmlstream.cpp5
-rw-r--r--src/corelib/serialization/qxmlstream.g2
-rw-r--r--src/corelib/serialization/qxmlstreamparser_p.h2
-rw-r--r--src/corelib/text/qanystringview.h8
-rw-r--r--src/corelib/text/qanystringview.qdoc8
-rw-r--r--src/corelib/text/qbytearray.cpp25
-rw-r--r--src/corelib/text/qbytearray.h9
-rw-r--r--src/corelib/text/qbytearrayview.h8
-rw-r--r--src/corelib/text/qbytearrayview.qdoc12
-rw-r--r--src/corelib/text/qchar.cpp1
-rw-r--r--src/corelib/text/qchar.h1
-rw-r--r--src/corelib/text/qlocale.cpp488
-rw-r--r--src/corelib/text/qlocale.h51
-rw-r--r--src/corelib/text/qlocale.qdoc122
-rw-r--r--src/corelib/text/qlocale_data_p.h20
-rw-r--r--src/corelib/text/qlocale_mac.mm49
-rw-r--r--src/corelib/text/qlocale_p.h37
-rw-r--r--src/corelib/text/qlocale_unix.cpp4
-rw-r--r--src/corelib/text/qlocale_win.cpp20
-rw-r--r--src/corelib/text/qregularexpression.cpp73
-rw-r--r--src/corelib/text/qregularexpression.h8
-rw-r--r--src/corelib/text/qstring.cpp64
-rw-r--r--src/corelib/text/qstring.h18
-rw-r--r--src/corelib/text/qstringalgorithms.h2
-rw-r--r--src/corelib/text/qstringconverter.cpp4
-rw-r--r--src/corelib/text/qstringview.cpp11
-rw-r--r--src/corelib/text/qstringview.h4
-rw-r--r--src/corelib/text/qtliterals.qdoc33
-rw-r--r--src/corelib/text/qunicodetables.cpp12570
-rw-r--r--src/corelib/text/qunicodetables_p.h5
-rw-r--r--src/corelib/text/qunicodetools.cpp202
-rw-r--r--src/corelib/text/qutf8stringview.h12
-rw-r--r--src/corelib/text/qutf8stringview.qdoc42
-rw-r--r--src/corelib/thread/qfutex_p.h76
-rw-r--r--src/corelib/thread/qfuture.h1
-rw-r--r--src/corelib/thread/qfuture.qdoc17
-rw-r--r--src/corelib/thread/qfuture_impl.h14
-rw-r--r--src/corelib/thread/qfutureinterface.cpp9
-rw-r--r--src/corelib/thread/qfutureinterface.h31
-rw-r--r--src/corelib/thread/qfutureinterface_p.h35
-rw-r--r--src/corelib/thread/qgenericatomic.h6
-rw-r--r--src/corelib/thread/qmutex.cpp131
-rw-r--r--src/corelib/thread/qmutex.h5
-rw-r--r--src/corelib/thread/qmutex_linux.cpp179
-rw-r--r--src/corelib/thread/qmutex_p.h5
-rw-r--r--src/corelib/thread/qsemaphore.cpp70
-rw-r--r--src/corelib/thread/qthread.h25
-rw-r--r--src/corelib/thread/qthreadpool.cpp38
-rw-r--r--src/corelib/thread/qthreadpool.h4
-rw-r--r--src/corelib/thread/qthreadpool_p.h1
-rw-r--r--src/corelib/time/qcalendar.cpp453
-rw-r--r--src/corelib/time/qcalendar.h1
-rw-r--r--src/corelib/time/qcalendarbackend_p.h7
-rw-r--r--src/corelib/time/qdatetime.cpp508
-rw-r--r--src/corelib/time/qdatetime_p.h7
-rw-r--r--src/corelib/time/qdatetimeparser.cpp39
-rw-r--r--src/corelib/time/qgregoriancalendar.cpp12
-rw-r--r--src/corelib/time/qgregoriancalendar_p.h5
-rw-r--r--src/corelib/time/qhijricalendar_data_p.h4
-rw-r--r--src/corelib/time/qislamiccivilcalendar.cpp18
-rw-r--r--src/corelib/time/qislamiccivilcalendar_p.h3
-rw-r--r--src/corelib/time/qjalalicalendar.cpp10
-rw-r--r--src/corelib/time/qjalalicalendar_data_p.h4
-rw-r--r--src/corelib/time/qjalalicalendar_p.h1
-rw-r--r--src/corelib/time/qjuliancalendar.cpp12
-rw-r--r--src/corelib/time/qjuliancalendar_p.h3
-rw-r--r--src/corelib/time/qmilankoviccalendar.cpp12
-rw-r--r--src/corelib/time/qmilankoviccalendar_p.h3
-rw-r--r--src/corelib/time/qromancalendar_data_p.h4
-rw-r--r--src/corelib/time/qtimezone.cpp114
-rw-r--r--src/corelib/time/qtimezone.h12
-rw-r--r--src/corelib/time/qtimezoneprivate.cpp113
-rw-r--r--src/corelib/time/qtimezoneprivate_android.cpp71
-rw-r--r--src/corelib/time/qtimezoneprivate_data_p.h447
-rw-r--r--src/corelib/time/qtimezoneprivate_icu.cpp4
-rw-r--r--src/corelib/time/qtimezoneprivate_p.h34
-rw-r--r--src/corelib/time/qtimezoneprivate_tz.cpp214
-rw-r--r--src/corelib/time/qtimezoneprivate_win.cpp16
-rw-r--r--src/corelib/tools/qarraydata.cpp23
-rw-r--r--src/corelib/tools/qarraydata.h2
-rw-r--r--src/corelib/tools/qarraydataops.h1
-rw-r--r--src/corelib/tools/qcommandlineparser.cpp7
-rw-r--r--src/corelib/tools/qcontainerfwd.h3
-rw-r--r--src/corelib/tools/qcontiguouscache.h4
-rw-r--r--src/corelib/tools/qhash.cpp158
-rw-r--r--src/corelib/tools/qhash.h4
-rw-r--r--src/corelib/tools/qhashfunctions.h1
-rw-r--r--src/corelib/tools/qline.cpp30
-rw-r--r--src/corelib/tools/qline.h2
-rw-r--r--src/corelib/tools/qlist.h38
-rw-r--r--src/corelib/tools/qmargins.cpp63
-rw-r--r--src/corelib/tools/qmargins.h9
-rw-r--r--src/corelib/tools/qpoint.cpp20
-rw-r--r--src/corelib/tools/qpoint.h12
-rw-r--r--src/corelib/tools/qrect.cpp51
-rw-r--r--src/corelib/tools/qrect.h15
-rw-r--r--src/corelib/tools/qringbuffer_p.h2
-rw-r--r--src/corelib/tools/qscopedpointer.cpp10
-rw-r--r--src/corelib/tools/qscopedpointer.h12
-rw-r--r--src/corelib/tools/qscopedvaluerollback.cpp2
-rw-r--r--src/corelib/tools/qsharedpointer_impl.h3
-rw-r--r--src/corelib/tools/qsize.cpp20
-rw-r--r--src/corelib/tools/qsize.h46
-rw-r--r--src/dbus/doc/snippets/snippets.pro3
-rw-r--r--src/dbus/doc/src/qt6-changes.qdoc16
-rw-r--r--src/dbus/qdbusmetaobject.cpp6
-rw-r--r--src/dbus/qdbusservicewatcher.cpp25
-rw-r--r--src/dbus/qdbusservicewatcher.h3
-rw-r--r--src/entrypoint/CMakeLists.txt2
-rw-r--r--src/gui/.prev_configure.cmake126
-rw-r--r--src/gui/CMakeLists.txt18
-rw-r--r--src/gui/configure.cmake146
-rw-r--r--src/gui/configure.json2
-rw-r--r--src/gui/doc/snippets/clipboard/clipwindow.cpp7
-rw-r--r--src/gui/doc/snippets/code/doc_src_qtgui.pro3
-rw-r--r--src/gui/doc/snippets/code/src_gui_vulkan_qvulkanwindow.cpp2
-rw-r--r--src/gui/doc/src/coordsys.qdoc2
-rw-r--r--src/gui/doc/src/qt6-changes.qdoc16
-rw-r--r--src/gui/image/qabstractfileiconengine.cpp6
-rw-r--r--src/gui/image/qabstractfileiconengine_p.h1
-rw-r--r--src/gui/image/qabstractfileiconprovider.cpp139
-rw-r--r--src/gui/image/qabstractfileiconprovider_p.h11
-rw-r--r--src/gui/image/qicon.cpp5
-rw-r--r--src/gui/image/qimage.cpp85
-rw-r--r--src/gui/image/qimage.h2
-rw-r--r--src/gui/image/qimage_conversions.cpp110
-rw-r--r--src/gui/image/qimagereader.cpp4
-rw-r--r--src/gui/image/qmovie.cpp52
-rw-r--r--src/gui/image/qmovie.h6
-rw-r--r--src/gui/image/qpixmap.cpp17
-rw-r--r--src/gui/image/qpixmap.h1
-rw-r--r--src/gui/image/qpnghandler.cpp6
-rw-r--r--src/gui/image/qxpmhandler.cpp2
-rw-r--r--src/gui/itemmodels/qstandarditemmodel.cpp57
-rw-r--r--src/gui/itemmodels/qstandarditemmodel.h3
-rw-r--r--src/gui/itemmodels/qstandarditemmodel_p.h2
-rw-r--r--src/gui/kernel/qcursor.cpp5
-rw-r--r--src/gui/kernel/qevent.cpp6
-rw-r--r--src/gui/kernel/qguiapplication.cpp33
-rw-r--r--src/gui/kernel/qguivariant.cpp2
-rw-r--r--src/gui/kernel/qhighdpiscaling.cpp232
-rw-r--r--src/gui/kernel/qhighdpiscaling_p.h20
-rw-r--r--src/gui/kernel/qoffscreensurface_platform.h2
-rw-r--r--src/gui/kernel/qopenglcontext_platform.h4
-rw-r--r--src/gui/kernel/qplatforminputcontext.cpp89
-rw-r--r--src/gui/kernel/qplatforminputcontext.h6
-rw-r--r--src/gui/kernel/qplatformopenglcontext.h2
-rw-r--r--src/gui/kernel/qplatformscreen.h2
-rw-r--r--src/gui/kernel/qplatformtheme.cpp6
-rw-r--r--src/gui/kernel/qplatformtheme.h3
-rw-r--r--src/gui/kernel/qplatformwindow.cpp37
-rw-r--r--src/gui/kernel/qpointingdevice.cpp10
-rw-r--r--src/gui/kernel/qpointingdevice_p.h1
-rw-r--r--src/gui/kernel/qshortcutmap.cpp12
-rw-r--r--src/gui/kernel/qsurfaceformat.cpp9
-rw-r--r--src/gui/kernel/qsurfaceformat.h3
-rw-r--r--src/gui/kernel/qwindow.cpp22
-rw-r--r--src/gui/kernel/qwindowsysteminterface.cpp11
-rw-r--r--src/gui/kernel/qwindowsysteminterface.h2
-rw-r--r--src/gui/kernel/qwindowsysteminterface_p.h16
-rw-r--r--src/gui/math3d/qmatrix4x4.cpp37
-rw-r--r--src/gui/math3d/qmatrix4x4.h220
-rw-r--r--src/gui/math3d/qquaternion.cpp96
-rw-r--r--src/gui/math3d/qquaternion.h2
-rw-r--r--src/gui/math3d/qvectornd.cpp213
-rw-r--r--src/gui/math3d/qvectornd.h224
-rw-r--r--src/gui/opengl/platform/egl/qeglplatformcontext.cpp26
-rw-r--r--src/gui/painting/qbackingstore.cpp4
-rw-r--r--src/gui/painting/qbrush.cpp86
-rw-r--r--src/gui/painting/qbrush.h11
-rw-r--r--src/gui/painting/qcolorspace.cpp31
-rw-r--r--src/gui/painting/qcolorspace.h3
-rw-r--r--src/gui/painting/qcolorspace_p.h1
-rw-r--r--src/gui/painting/qcolortransfertable_p.h10
-rw-r--r--src/gui/painting/qcolortrc_p.h2
-rw-r--r--src/gui/painting/qcosmeticstroker.cpp40
-rw-r--r--src/gui/painting/qdrawhelper.cpp21
-rw-r--r--src/gui/painting/qdrawhelper_avx2.cpp32
-rw-r--r--src/gui/painting/qdrawhelper_sse4.cpp98
-rw-r--r--src/gui/painting/qfixed_p.h4
-rw-r--r--src/gui/painting/qicc.cpp84
-rw-r--r--src/gui/painting/qmemrotate.cpp42
-rw-r--r--src/gui/painting/qpaintengine.cpp2
-rw-r--r--src/gui/painting/qpaintengine_raster.cpp30
-rw-r--r--src/gui/painting/qpaintengineex.cpp44
-rw-r--r--src/gui/painting/qpainter.cpp10
-rw-r--r--src/gui/painting/qpainter.h1
-rw-r--r--src/gui/painting/qpainterpath.cpp38
-rw-r--r--src/gui/painting/qpainterpath.h5
-rw-r--r--src/gui/painting/qpainterpath_p.h9
-rw-r--r--src/gui/painting/qpen.cpp4
-rw-r--r--src/gui/painting/qpixellayout.cpp31
-rw-r--r--src/gui/painting/qrasterizer.cpp2
-rw-r--r--src/gui/painting/qregion.cpp12
-rw-r--r--src/gui/painting/qstroker_p.h2
-rw-r--r--src/gui/painting/qtextureglyphcache.cpp25
-rw-r--r--src/gui/painting/qtextureglyphcache_p.h29
-rw-r--r--src/gui/painting/qtriangulatingstroker.cpp1
-rw-r--r--src/gui/painting/qtriangulatingstroker_p.h18
-rw-r--r--src/gui/painting/qtriangulator.cpp13
-rw-r--r--src/gui/platform/darwin/qapplekeymapper.mm41
-rw-r--r--src/gui/platform/darwin/qapplekeymapper_p.h15
-rw-r--r--src/gui/platform/unix/dbustray/qdbustrayicon.cpp8
-rw-r--r--src/gui/platform/unix/dbustray/qdbustraytypes.cpp5
-rw-r--r--src/gui/platform/unix/qunixnativeinterface.cpp4
-rw-r--r--src/gui/platform/unix/qxkbcommon.cpp13
-rw-r--r--src/gui/platform/unix/qxkbcommon_p.h4
-rw-r--r--src/gui/platform/windows/qwindowsnativeinterface.cpp1
-rw-r--r--src/gui/qtgui.tracepoints4
-rw-r--r--src/gui/rhi/qrhi.cpp106
-rw-r--r--src/gui/rhi/qrhi_p.h10
-rw-r--r--src/gui/rhi/qrhi_p_p.h2
-rw-r--r--src/gui/rhi/qrhid3d11.cpp18
-rw-r--r--src/gui/rhi/qrhid3d11_p_p.h1
-rw-r--r--src/gui/rhi/qrhigles2.cpp89
-rw-r--r--src/gui/rhi/qrhigles2_p_p.h6
-rw-r--r--src/gui/rhi/qrhimetal.mm183
-rw-r--r--src/gui/rhi/qrhimetal_p_p.h1
-rw-r--r--src/gui/rhi/qrhinull.cpp12
-rw-r--r--src/gui/rhi/qrhinull_p_p.h1
-rw-r--r--src/gui/rhi/qrhivulkan.cpp151
-rw-r--r--src/gui/rhi/qrhivulkan_p_p.h2
-rw-r--r--src/gui/text/coretext/qfontengine_coretext.mm17
-rw-r--r--src/gui/text/coretext/qfontengine_coretext_p.h15
-rw-r--r--src/gui/text/freetype/qfontengine_ft.cpp71
-rw-r--r--src/gui/text/freetype/qfontengine_ft_p.h72
-rw-r--r--src/gui/text/qcssparser.cpp4
-rw-r--r--src/gui/text/qdistancefield.cpp2
-rw-r--r--src/gui/text/qfont.h2
-rw-r--r--src/gui/text/qfontdatabase.cpp8
-rw-r--r--src/gui/text/qfontengine.cpp55
-rw-r--r--src/gui/text/qfontengine_p.h33
-rw-r--r--src/gui/text/qfontmetrics.cpp18
-rw-r--r--src/gui/text/qharfbuzzng.cpp15
-rw-r--r--src/gui/text/qrawfont.cpp6
-rw-r--r--src/gui/text/qtextdocument.cpp62
-rw-r--r--src/gui/text/qtextdocument.h11
-rw-r--r--src/gui/text/qtextdocument_p.cpp1
-rw-r--r--src/gui/text/qtextdocument_p.h2
-rw-r--r--src/gui/text/qtextdocumentwriter.cpp11
-rw-r--r--src/gui/text/qtextengine.cpp43
-rw-r--r--src/gui/text/qtextformat.cpp2
-rw-r--r--src/gui/text/qtextformat.h6
-rw-r--r--src/gui/text/qtexthtmlparser.cpp2
-rw-r--r--src/gui/text/qtextlayout.cpp13
-rw-r--r--src/gui/text/windows/qwindowsdirectwritefontdatabase.cpp10
-rw-r--r--src/gui/text/windows/qwindowsfontdatabasebase.cpp22
-rw-r--r--src/gui/text/windows/qwindowsfontengine.cpp9
-rw-r--r--src/gui/text/windows/qwindowsfontengine_p.h9
-rw-r--r--src/gui/text/windows/qwindowsfontenginedirectwrite.cpp52
-rw-r--r--src/gui/text/windows/qwindowsfontenginedirectwrite_p.h25
-rw-r--r--src/gui/util/qedidparser.cpp84
-rw-r--r--src/gui/util/qedidparser_p.h11
-rw-r--r--src/gui/util/qktxhandler.cpp93
-rw-r--r--src/gui/util/qktxhandler_p.h3
-rw-r--r--src/gui/util/qtexturefiledata.cpp12
-rw-r--r--src/gui/util/qtexturefiledata_p.h3
-rw-r--r--src/gui/vulkan/qvulkaninstance.cpp12
-rw-r--r--src/gui/vulkan/qvulkaninstance.h7
-rw-r--r--src/gui/vulkan/qvulkanwindow_p.h2
-rw-r--r--src/network/.prev_configure.cmake414
-rw-r--r--src/network/CMakeLists.txt57
-rw-r--r--src/network/access/qdecompresshelper.cpp8
-rw-r--r--src/network/access/qdecompresshelper_p.h2
-rw-r--r--src/network/access/qhttpnetworkconnection.cpp4
-rw-r--r--src/network/access/qhttpnetworkconnectionchannel.cpp2
-rw-r--r--src/network/access/qnetworkcookie.cpp12
-rw-r--r--src/network/access/qnetworkcookie.h4
-rw-r--r--src/network/access/qnetworkdiskcache.cpp23
-rw-r--r--src/network/configure.cmake81
-rw-r--r--src/network/configure.json29
-rw-r--r--src/network/doc/snippets/network/CMakeLists.txt5
-rw-r--r--src/network/doc/snippets/network/network.pro3
-rw-r--r--src/network/doc/snippets/network/tcpwait.cpp7
-rw-r--r--src/network/doc/src/qt6-changes.qdoc6
-rw-r--r--src/network/doc/src/qtnetwork.qdoc2
-rw-r--r--src/network/kernel/qauthenticator.cpp1
-rw-r--r--src/network/kernel/qdnslookup.cpp35
-rw-r--r--src/network/kernel/qdnslookup.h11
-rw-r--r--src/network/kernel/qdnslookup_p.h26
-rw-r--r--src/network/kernel/qhostaddress.cpp102
-rw-r--r--src/network/kernel/qhostaddress.h21
-rw-r--r--src/network/kernel/qhostinfo.cpp9
-rw-r--r--src/network/kernel/qnetconmonitor_darwin.mm119
-rw-r--r--src/network/kernel/qnetconmonitor_p.h35
-rw-r--r--src/network/kernel/qnetconmonitor_stub.cpp46
-rw-r--r--src/network/kernel/qnetconmonitor_win.cpp273
-rw-r--r--src/network/kernel/qnetworkinformation.cpp112
-rw-r--r--src/network/kernel/qnetworkinformation.h17
-rw-r--r--src/network/kernel/qnetworkinformation_p.h9
-rw-r--r--src/network/kernel/qnetworkinterface.cpp15
-rw-r--r--src/network/kernel/qnetworkinterface.h5
-rw-r--r--src/network/kernel/qnetworkinterface_linux.cpp4
-rw-r--r--src/network/kernel/qnetworkinterface_p.h15
-rw-r--r--src/network/kernel/qnetworkproxy_android.cpp40
-rw-r--r--src/network/kernel/qt_attribution.json2
-rw-r--r--src/network/kernel/qtnetworkglobal_p.h13
-rw-r--r--src/network/kernel/qurltlds_p.h28657
-rw-r--r--src/network/socket/qabstractsocket.cpp16
-rw-r--r--src/network/socket/qabstractsocket.h21
-rw-r--r--src/network/socket/qlocalserver.cpp21
-rw-r--r--src/network/socket/qlocalserver.h8
-rw-r--r--src/network/socket/qlocalserver_p.h3
-rw-r--r--src/network/socket/qlocalserver_unix.cpp89
-rw-r--r--src/network/socket/qlocalserver_win.cpp8
-rw-r--r--src/network/socket/qlocalsocket.cpp48
-rw-r--r--src/network/socket/qlocalsocket.h12
-rw-r--r--src/network/socket/qlocalsocket_p.h19
-rw-r--r--src/network/socket/qlocalsocket_unix.cpp122
-rw-r--r--src/network/socket/qlocalsocket_win.cpp40
-rw-r--r--src/network/socket/qnativesocketengine_unix.cpp8
-rw-r--r--src/network/socket/qnativesocketengine_win.cpp9
-rw-r--r--src/network/socket/qtcpsocket.h8
-rw-r--r--src/network/socket/qudpsocket.h7
-rw-r--r--src/network/ssl/qasn1element.cpp5
-rw-r--r--src/network/ssl/qdtls.cpp418
-rw-r--r--src/network/ssl/qdtls_base.cpp112
-rw-r--r--src/network/ssl/qdtls_base_p.h115
-rw-r--r--src/network/ssl/qdtls_openssl.cpp198
-rw-r--r--src/network/ssl/qdtls_openssl_p.h59
-rw-r--r--src/network/ssl/qdtls_p.h92
-rw-r--r--src/network/ssl/qocspresponse.h6
-rw-r--r--src/network/ssl/qopenssl.cpp71
-rw-r--r--src/network/ssl/qopenssl_p.h (renamed from src/network/ssl/qsslsocket_openssl_p.h)94
-rw-r--r--src/network/ssl/qssl.h26
-rw-r--r--src/network/ssl/qssl_p.h13
-rw-r--r--src/network/ssl/qsslcertificate.cpp306
-rw-r--r--src/network/ssl/qsslcertificate.h8
-rw-r--r--src/network/ssl/qsslcertificate_openssl.cpp796
-rw-r--r--src/network/ssl/qsslcertificate_p.h102
-rw-r--r--src/network/ssl/qsslcipher.cpp7
-rw-r--r--src/network/ssl/qsslcipher.h7
-rw-r--r--src/network/ssl/qsslconfiguration.h9
-rw-r--r--src/network/ssl/qsslconfiguration_p.h2
-rw-r--r--src/network/ssl/qsslcontext_openssl.cpp107
-rw-r--r--src/network/ssl/qsslcontext_openssl_p.h3
-rw-r--r--src/network/ssl/qssldiffiehellmanparameters.cpp26
-rw-r--r--src/network/ssl/qssldiffiehellmanparameters_openssl.cpp102
-rw-r--r--src/network/ssl/qssldiffiehellmanparameters_p.h13
-rw-r--r--src/network/ssl/qsslellipticcurve.cpp60
-rw-r--r--src/network/ssl/qsslellipticcurve.h1
-rw-r--r--src/network/ssl/qsslellipticcurve_openssl.cpp177
-rw-r--r--src/network/ssl/qsslerror.cpp9
-rw-r--r--src/network/ssl/qsslerror.h5
-rw-r--r--src/network/ssl/qsslkey.h4
-rw-r--r--src/network/ssl/qsslkey_p.cpp304
-rw-r--r--src/network/ssl/qsslkey_p.h75
-rw-r--r--src/network/ssl/qsslpresharedkeyauthenticator.h4
-rw-r--r--src/network/ssl/qsslsocket.cpp429
-rw-r--r--src/network/ssl/qsslsocket.h5
-rw-r--r--src/network/ssl/qsslsocket_mac_shared.cpp33
-rw-r--r--src/network/ssl/qsslsocket_openssl_android.cpp21
-rw-r--r--src/network/ssl/qsslsocket_openssl_symbols_p.h12
-rw-r--r--src/network/ssl/qsslsocket_p.h144
-rw-r--r--src/network/ssl/qsslsocket_qt.cpp2
-rw-r--r--src/network/ssl/qtls_openssl.cpp (renamed from src/network/ssl/qsslsocket_openssl.cpp)2525
-rw-r--r--src/network/ssl/qtls_openssl_p.h169
-rw-r--r--src/network/ssl/qtls_schannel.cpp (renamed from src/network/ssl/qsslsocket_schannel.cpp)746
-rw-r--r--src/network/ssl/qtls_schannel_p.h (renamed from src/network/ssl/qsslsocket_schannel_p.h)43
-rw-r--r--src/network/ssl/qtls_st.cpp (renamed from src/network/ssl/qsslsocket_mac.cpp)886
-rw-r--r--src/network/ssl/qtls_st_p.h (renamed from src/network/ssl/qsslsocket_mac_p.h)47
-rw-r--r--src/network/ssl/qtlsbackend.cpp729
-rw-r--r--src/network/ssl/qtlsbackend_cert.cpp96
-rw-r--r--src/network/ssl/qtlsbackend_cert_p.h83
-rw-r--r--src/network/ssl/qtlsbackend_openssl.cpp630
-rw-r--r--src/network/ssl/qtlsbackend_openssl_p.h134
-rw-r--r--src/network/ssl/qtlsbackend_p.h362
-rw-r--r--src/network/ssl/qtlsbackend_schannel_p.h100
-rw-r--r--src/network/ssl/qtlsbackend_st.cpp341
-rw-r--r--src/network/ssl/qtlsbackend_st_p.h94
-rw-r--r--src/network/ssl/qtlskey_base.cpp133
-rw-r--r--src/network/ssl/qtlskey_base_p.h112
-rw-r--r--src/network/ssl/qtlskey_generic.cpp (renamed from src/network/ssl/qsslkey_qt.cpp)719
-rw-r--r--src/network/ssl/qtlskey_generic_p.h117
-rw-r--r--src/network/ssl/qtlskey_openssl.cpp (renamed from src/network/ssl/qsslkey_openssl.cpp)436
-rw-r--r--src/network/ssl/qtlskey_openssl_p.h126
-rw-r--r--src/network/ssl/qtlskey_schannel.cpp (renamed from src/network/ssl/qsslkey_schannel.cpp)45
-rw-r--r--src/network/ssl/qtlskey_schannel_p.h82
-rw-r--r--src/network/ssl/qtlskey_st.cpp (renamed from src/network/ssl/qsslkey_mac.cpp)57
-rw-r--r--src/network/ssl/qtlskey_st_p.h83
-rw-r--r--src/network/ssl/qwincrypt_p.h81
-rw-r--r--src/network/ssl/qwindowscarootfetcher.cpp11
-rw-r--r--src/network/ssl/qwindowscarootfetcher_p.h10
-rw-r--r--src/network/ssl/qx509_base.cpp178
-rw-r--r--src/network/ssl/qx509_base_p.h125
-rw-r--r--src/network/ssl/qx509_generic.cpp (renamed from src/network/ssl/qsslcertificate_qt.cpp)244
-rw-r--r--src/network/ssl/qx509_generic_p.h101
-rw-r--r--src/network/ssl/qx509_openssl.cpp929
-rw-r--r--src/network/ssl/qx509_openssl_p.h133
-rw-r--r--src/network/ssl/qx509_schannel.cpp87
-rw-r--r--src/network/ssl/qx509_schannel_p.h (renamed from src/network/ssl/qtls_utils_p.h)56
-rw-r--r--src/network/ssl/qx509_st.cpp (renamed from src/network/ssl/qssldiffiehellmanparameters_dummy.cpp)24
-rw-r--r--src/network/ssl/qx509_st_p.h (renamed from src/plugins/platforms/eglfs/api/vulkan/qeglfsvulkanwindow_p.h)32
-rw-r--r--src/opengl/doc/snippets/snippets.pro3
-rw-r--r--src/opengl/doc/src/qt6-changes.qdoc2
-rw-r--r--src/opengl/doc/src/qtopengl-index.qdoc2
-rw-r--r--src/opengl/qopenglpaintengine.cpp22
-rw-r--r--src/opengl/qopengltexture.cpp3
-rw-r--r--src/opengl/qopengltexture.h9
-rw-r--r--src/opengl/qopengltextureglyphcache.cpp4
-rw-r--r--src/opengl/qopengltextureglyphcache_p.h4
-rw-r--r--src/opengl/qtopengl.tracepoints15
-rw-r--r--src/platformsupport/input/evdevtouch/qevdevtouchhandler.cpp16
-rw-r--r--src/plugins/CMakeLists.txt3
-rw-r--r--src/plugins/generic/evdevkeyboard/CMakeLists.txt2
-rw-r--r--src/plugins/generic/evdevmouse/CMakeLists.txt2
-rw-r--r--src/plugins/generic/evdevtablet/CMakeLists.txt2
-rw-r--r--src/plugins/generic/evdevtouch/CMakeLists.txt2
-rw-r--r--src/plugins/generic/libinput/CMakeLists.txt2
-rw-r--r--src/plugins/generic/tslib/CMakeLists.txt2
-rw-r--r--src/plugins/generic/tuiotouch/CMakeLists.txt2
-rw-r--r--src/plugins/imageformats/gif/CMakeLists.txt3
-rw-r--r--src/plugins/imageformats/ico/CMakeLists.txt2
-rw-r--r--src/plugins/imageformats/jpeg/CMakeLists.txt2
-rw-r--r--src/plugins/imageformats/jpeg/qjpeghandler.cpp7
-rw-r--r--src/plugins/networkinformationbackends/CMakeLists.txt15
-rw-r--r--src/plugins/networkinformationbackends/android/CMakeLists.txt48
-rw-r--r--src/plugins/networkinformationbackends/android/jar/src/org/qtproject/qt/android/networkinformation/QtAndroidNetworkInformation.java131
-rw-r--r--src/plugins/networkinformationbackends/android/qandroidnetworkinformationbackend.cpp132
-rw-r--r--src/plugins/networkinformationbackends/android/wrapper/androidconnectivitymanager.cpp134
-rw-r--r--src/plugins/networkinformationbackends/android/wrapper/androidconnectivitymanager.h (renamed from src/plugins/platforms/eglfs/api/vulkan/qeglfsvulkanwindow.cpp)53
-rw-r--r--src/plugins/networkinformationbackends/networklistmanager/CMakeLists.txt9
-rw-r--r--src/plugins/networkinformationbackends/networklistmanager/qnetworklistmanagernetworkinformationbackend.cpp368
-rw-r--r--src/plugins/networkinformationbackends/networkmanager/CMakeLists.txt13
-rw-r--r--src/plugins/networkinformationbackends/networkmanager/qnetworkmanagernetworkinformationbackend.cpp152
-rw-r--r--src/plugins/networkinformationbackends/networkmanager/qnetworkmanagerservice.cpp129
-rw-r--r--src/plugins/networkinformationbackends/networkmanager/qnetworkmanagerservice.h142
-rw-r--r--src/plugins/networkinformationbackends/scnetworkreachability/CMakeLists.txt11
-rw-r--r--src/plugins/networkinformationbackends/scnetworkreachability/qscnetworkreachabilitynetworkinformationbackend.mm145
-rw-r--r--src/plugins/platforminputcontexts/compose/CMakeLists.txt3
-rw-r--r--src/plugins/platforminputcontexts/compose/qcomposeplatforminputcontext.h1
-rw-r--r--src/plugins/platforminputcontexts/ibus/CMakeLists.txt3
-rw-r--r--src/plugins/platforms/CMakeLists.txt7
-rw-r--r--src/plugins/platforms/android/CMakeLists.txt2
-rw-r--r--src/plugins/platforms/android/androidcontentfileengine.cpp59
-rw-r--r--src/plugins/platforms/android/androidjniaccessibility.cpp10
-rw-r--r--src/plugins/platforms/android/androidjniclipboard.cpp60
-rw-r--r--src/plugins/platforms/android/androidjniinput.cpp128
-rw-r--r--src/plugins/platforms/android/androidjniinput.h7
-rw-r--r--src/plugins/platforms/android/androidjnimain.cpp115
-rw-r--r--src/plugins/platforms/android/androidjnimenu.cpp13
-rw-r--r--src/plugins/platforms/android/extract.cpp21
-rw-r--r--src/plugins/platforms/android/qandroidassetsfileenginehandler.cpp14
-rw-r--r--src/plugins/platforms/android/qandroidinputcontext.cpp195
-rw-r--r--src/plugins/platforms/android/qandroidinputcontext.h2
-rw-r--r--src/plugins/platforms/android/qandroidplatformdialoghelpers.cpp15
-rw-r--r--src/plugins/platforms/android/qandroidplatformdialoghelpers.h10
-rw-r--r--src/plugins/platforms/android/qandroidplatformfiledialoghelper.cpp45
-rw-r--r--src/plugins/platforms/android/qandroidplatformfiledialoghelper.h15
-rw-r--r--src/plugins/platforms/android/qandroidplatformforeignwindow.h7
-rw-r--r--src/plugins/platforms/android/qandroidplatformintegration.cpp103
-rw-r--r--src/plugins/platforms/android/qandroidplatformmenu.cpp9
-rw-r--r--src/plugins/platforms/android/qandroidplatformopenglwindow.cpp18
-rw-r--r--src/plugins/platforms/android/qandroidplatformopenglwindow.h12
-rw-r--r--src/plugins/platforms/android/qandroidplatformscreen.cpp72
-rw-r--r--src/plugins/platforms/android/qandroidplatformscreen.h16
-rw-r--r--src/plugins/platforms/android/qandroidplatformservices.cpp19
-rw-r--r--src/plugins/platforms/android/qandroidplatformvulkanwindow.cpp10
-rw-r--r--src/plugins/platforms/android/qandroidplatformvulkanwindow.h10
-rw-r--r--src/plugins/platforms/android/qandroidplatformwindow.cpp21
-rw-r--r--src/plugins/platforms/android/qandroidsystemlocale.cpp27
-rw-r--r--src/plugins/platforms/android/qandroidsystemlocale.h2
-rw-r--r--src/plugins/platforms/cocoa/CMakeLists.txt2
-rw-r--r--src/plugins/platforms/cocoa/qcocoaaccessibility.mm2
-rw-r--r--src/plugins/platforms/cocoa/qcocoafiledialoghelper.h17
-rw-r--r--src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm653
-rw-r--r--src/plugins/platforms/cocoa/qcocoamenu.mm11
-rw-r--r--src/plugins/platforms/cocoa/qcocoamenuitem.mm3
-rw-r--r--src/plugins/platforms/cocoa/qcocoascreen.h2
-rw-r--r--src/plugins/platforms/cocoa/qcocoascreen.mm5
-rw-r--r--src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm2
-rw-r--r--src/plugins/platforms/cocoa/qcocoatheme.mm7
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindow.mm2
-rw-r--r--src/plugins/platforms/cocoa/qnsview_menus.mm14
-rw-r--r--src/plugins/platforms/direct2d/CMakeLists.txt23
-rw-r--r--src/plugins/platforms/direct2d/qwindowsdirect2dplatformplugin.cpp2
-rw-r--r--src/plugins/platforms/directfb/CMakeLists.txt2
-rw-r--r--src/plugins/platforms/eglfs/CMakeLists.txt7
-rw-r--r--src/plugins/platforms/eglfs/api/qeglfsdeviceintegration.cpp8
-rw-r--r--src/plugins/platforms/eglfs/api/qeglfsdeviceintegration_p.h4
-rw-r--r--src/plugins/platforms/eglfs/api/qeglfsintegration.cpp13
-rw-r--r--src/plugins/platforms/eglfs/api/qeglfsintegration_p.h3
-rw-r--r--src/plugins/platforms/eglfs/api/qeglfswindow_p.h3
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp7
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen_p.h2
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmwindow.cpp16
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldevice.cpp7
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_viv/qeglfsvivintegration.cpp21
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_viv/qeglfsvivintegration.h6
-rw-r--r--src/plugins/platforms/ios/CMakeLists.txt6
-rw-r--r--src/plugins/platforms/ios/optional/nsphotolibrarysupport/CMakeLists.txt2
-rw-r--r--src/plugins/platforms/ios/qiosinputcontext.mm8
-rw-r--r--src/plugins/platforms/ios/qiostextinputoverlay.mm57
-rw-r--r--src/plugins/platforms/ios/qiostextresponder.mm15
-rw-r--r--src/plugins/platforms/ios/qioswindow.mm1
-rw-r--r--src/plugins/platforms/ios/quiview.mm27
-rw-r--r--src/plugins/platforms/linuxfb/CMakeLists.txt6
-rw-r--r--src/plugins/platforms/minimal/CMakeLists.txt2
-rw-r--r--src/plugins/platforms/minimalegl/CMakeLists.txt4
-rw-r--r--src/plugins/platforms/offscreen/CMakeLists.txt2
-rw-r--r--src/plugins/platforms/qnx/.prev_CMakeLists.txt91
-rw-r--r--src/plugins/platforms/qnx/CMakeLists.txt92
-rw-r--r--src/plugins/platforms/qnx/qqnxwindow.cpp8
-rw-r--r--src/plugins/platforms/vkkhrdisplay/CMakeLists.txt29
-rw-r--r--src/plugins/platforms/vkkhrdisplay/main.cpp (renamed from src/network/ssl/qsslcertificate_schannel.cpp)33
-rw-r--r--src/plugins/platforms/vkkhrdisplay/qvkkhrdisplayintegration.cpp345
-rw-r--r--src/plugins/platforms/vkkhrdisplay/qvkkhrdisplayintegration.h88
-rw-r--r--src/plugins/platforms/vkkhrdisplay/qvkkhrdisplayvulkaninstance.cpp (renamed from src/plugins/platforms/eglfs/api/vulkan/qeglfsvulkaninstance.cpp)145
-rw-r--r--src/plugins/platforms/vkkhrdisplay/qvkkhrdisplayvulkaninstance.h (renamed from src/plugins/platforms/eglfs/api/vulkan/qeglfsvulkaninstance_p.h)35
-rw-r--r--src/plugins/platforms/vkkhrdisplay/vkkhrdisplay.json3
-rw-r--r--src/plugins/platforms/vnc/CMakeLists.txt4
-rw-r--r--src/plugins/platforms/vnc/qvnc.cpp66
-rw-r--r--src/plugins/platforms/wasm/CMakeLists.txt78
-rw-r--r--src/plugins/platforms/windows/CMakeLists.txt21
-rw-r--r--src/plugins/platforms/windows/qtwindowsglobal.h11
-rw-r--r--src/plugins/platforms/windows/qwindowsbackingstore.cpp5
-rw-r--r--src/plugins/platforms/windows/qwindowscontext.cpp21
-rw-r--r--src/plugins/platforms/windows/qwindowscontext.h5
-rw-r--r--src/plugins/platforms/windows/qwindowsintegration.cpp26
-rw-r--r--src/plugins/platforms/windows/uiautomation/qwindowsuiamainprovider.cpp13
-rw-r--r--src/plugins/platforms/xcb/CMakeLists.txt2
-rw-r--r--src/plugins/platforms/xcb/gl_integrations/xcb_egl/CMakeLists.txt2
-rw-r--r--src/plugins/platforms/xcb/gl_integrations/xcb_egl/qxcbeglintegration.cpp6
-rw-r--r--src/plugins/platforms/xcb/gl_integrations/xcb_glx/CMakeLists.txt6
-rw-r--r--src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp7
-rw-r--r--src/plugins/platforms/xcb/nativepainting/qpaintengine_x11.cpp12
-rw-r--r--src/plugins/platforms/xcb/qxcbatom.cpp1
-rw-r--r--src/plugins/platforms/xcb/qxcbatom.h2
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection.h3
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection_xi2.cpp42
-rw-r--r--src/plugins/platforms/xcb/qxcbintegration.cpp2
-rw-r--r--src/plugins/platforms/xcb/qxcbintegration.h4
-rw-r--r--src/plugins/platforms/xcb/qxcbscreen.cpp57
-rw-r--r--src/plugins/platforms/xcb/qxcbscreen.h4
-rw-r--r--src/plugins/platforms/xcb/qxcbwindow.cpp49
-rw-r--r--src/plugins/platformthemes/gtk3/CMakeLists.txt3
-rw-r--r--src/plugins/platformthemes/xdgdesktopportal/CMakeLists.txt2
-rw-r--r--src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp2
-rw-r--r--src/plugins/printsupport/cups/CMakeLists.txt1
-rw-r--r--src/plugins/sqldrivers/.prev_configure.cmake77
-rw-r--r--src/plugins/sqldrivers/CMakeLists.txt5
-rw-r--r--src/plugins/sqldrivers/configure.cmake3
-rw-r--r--src/plugins/sqldrivers/db2/CMakeLists.txt4
-rw-r--r--src/plugins/sqldrivers/ibase/CMakeLists.txt16
-rw-r--r--src/plugins/sqldrivers/ibase/main.cpp2
-rw-r--r--src/plugins/sqldrivers/ibase/qsql_ibase.cpp36
-rw-r--r--src/plugins/sqldrivers/mysql/CMakeLists.txt4
-rw-r--r--src/plugins/sqldrivers/mysql/qsql_mysql.cpp89
-rw-r--r--src/plugins/sqldrivers/oci/CMakeLists.txt4
-rw-r--r--src/plugins/sqldrivers/odbc/CMakeLists.txt4
-rw-r--r--src/plugins/sqldrivers/psql/CMakeLists.txt18
-rw-r--r--src/plugins/sqldrivers/psql/qsql_psql.cpp4
-rw-r--r--src/plugins/sqldrivers/sqlite/CMakeLists.txt10
-rw-r--r--src/plugins/styles/android/CMakeLists.txt2
-rw-r--r--src/plugins/styles/android/qandroidstyle.cpp5
-rw-r--r--src/plugins/styles/mac/CMakeLists.txt1
-rw-r--r--src/plugins/styles/mac/qmacstyle_mac.mm8
-rw-r--r--src/plugins/styles/windowsvista/CMakeLists.txt1
-rw-r--r--src/plugins/styles/windowsvista/qwindowsxpstyle.cpp2
-rw-r--r--src/printsupport/dialogs/qprintdialog_unix.cpp3
-rw-r--r--src/printsupport/doc/snippets/snippets.pro3
-rw-r--r--src/printsupport/doc/src/qtprintsupport-index.qdoc2
-rw-r--r--src/printsupport/platform/windows/qwindowsprintersupport.cpp2
-rw-r--r--src/sql/CMakeLists.txt5
-rw-r--r--src/sql/doc/snippets/code/CMakeLists.txt13
-rw-r--r--src/sql/doc/snippets/code/code.pro3
-rw-r--r--src/sql/doc/snippets/sqldatabase/CMakeLists.txt8
-rw-r--r--src/sql/doc/src/qt6-changes.qdoc2
-rw-r--r--src/sql/doc/src/sql-driver.qdoc15
-rw-r--r--src/sql/kernel/qsqlerror.cpp8
-rw-r--r--src/sql/kernel/qsqlquery.cpp54
-rw-r--r--src/sql/kernel/qsqlquery.h23
-rw-r--r--src/sql/models/qsqlquerymodel.cpp31
-rw-r--r--src/sql/models/qsqlquerymodel.h4
-rw-r--r--src/sql/models/qsqltablemodel.cpp8
-rw-r--r--src/testlib/CMakeLists.txt17
-rw-r--r--src/testlib/doc/snippets/code/CMakeLists.txt26
-rw-r--r--src/testlib/doc/snippets/code/code.pro3
-rw-r--r--src/testlib/doc/snippets/code/doc_src_qtestevent.cpp8
-rw-r--r--src/testlib/doc/snippets/code/doc_src_qtestevent.h58
-rw-r--r--src/testlib/doc/snippets/code/doc_src_qtestlib.pro11
-rw-r--r--src/testlib/doc/snippets/code/src_qtestlib_qtestcase.cpp2
-rw-r--r--src/testlib/doc/src/qt6-changes.qdoc2
-rw-r--r--src/testlib/qabstractitemmodeltester.cpp6
-rw-r--r--src/testlib/qasciikey.cpp2
-rw-r--r--src/testlib/qemulationdetector_p.h (renamed from tests/shared/emulationdetector.h)23
-rw-r--r--src/testlib/qpropertytesthelper_p.h316
-rw-r--r--src/testlib/qtestblacklist.cpp4
-rw-r--r--src/testlib/qtestcase.cpp13
-rw-r--r--src/testlib/qtestcase.qdoc6
-rw-r--r--src/testlib/qtestelementattribute.cpp4
-rw-r--r--src/tools/CMakeLists.txt5
-rw-r--r--src/tools/androiddeployqt/main.cpp27
-rw-r--r--src/tools/bootstrap/CMakeLists.txt91
-rw-r--r--src/tools/cmake_automoc_parser/CMakeLists.txt1
-rw-r--r--src/tools/moc/CMakeLists.txt1
-rw-r--r--src/tools/moc/generator.cpp95
-rw-r--r--src/tools/qdbuscpp2xml/qdbuscpp2xml.cpp4
-rw-r--r--src/tools/qdbusxml2cpp/qdbusxml2cpp.cpp4
-rw-r--r--src/tools/qlalr/CMakeLists.txt1
-rw-r--r--src/tools/qtpaths/CMakeLists.txt31
-rw-r--r--src/tools/qtpaths/qtpaths.cpp396
-rw-r--r--src/tools/qvkgen/CMakeLists.txt1
-rw-r--r--src/tools/rcc/CMakeLists.txt1
-rw-r--r--src/tools/rcc/rcc.cpp32
-rw-r--r--src/tools/tracegen/CMakeLists.txt1
-rw-r--r--src/tools/uic/CMakeLists.txt1
-rw-r--r--src/widgets/CMakeLists.txt11
-rw-r--r--src/widgets/dialogs/qfiledialog.cpp15
-rw-r--r--src/widgets/dialogs/qfontdialog.cpp12
-rw-r--r--src/widgets/dialogs/qmessagebox.cpp13
-rw-r--r--src/widgets/dialogs/qprogressdialog.cpp2
-rw-r--r--src/widgets/doc/snippets/customstyle/customstyle.cpp2
-rw-r--r--src/widgets/doc/snippets/customstyle/customstyle.h2
-rw-r--r--src/widgets/doc/snippets/customviewstyle/CMakeLists.txt11
-rw-r--r--src/widgets/doc/snippets/filedialogurls/CMakeLists.txt9
-rw-r--r--src/widgets/doc/snippets/graphicssceneadditem/CMakeLists.txt9
-rw-r--r--src/widgets/doc/snippets/graphicsview/CMakeLists.txt12
-rw-r--r--src/widgets/doc/snippets/mdiarea/CMakeLists.txt9
-rw-r--r--src/widgets/doc/snippets/myscrollarea/CMakeLists.txt9
-rw-r--r--src/widgets/doc/snippets/qlistview-dnd/model.cpp2
-rw-r--r--src/widgets/doc/snippets/qlistview-dnd/model.h2
-rw-r--r--src/widgets/doc/snippets/snippets.pro3
-rw-r--r--src/widgets/doc/src/qt6-changes.qdoc14
-rw-r--r--src/widgets/doc/src/qtwidgets-index.qdoc2
-rw-r--r--src/widgets/graphicsview/qgraphicsanchorlayout_p.cpp4
-rw-r--r--src/widgets/graphicsview/qgraphicsitem.cpp56
-rw-r--r--src/widgets/graphicsview/qgraphicsscene.cpp2
-rw-r--r--src/widgets/graphicsview/qgraphicswidget.cpp2
-rw-r--r--src/widgets/graphicsview/qgraphicswidget_p.cpp6
-rw-r--r--src/widgets/itemviews/qabstractitemdelegate.cpp6
-rw-r--r--src/widgets/itemviews/qfileiconprovider.cpp10
-rw-r--r--src/widgets/itemviews/qheaderview.cpp48
-rw-r--r--src/widgets/itemviews/qheaderview_p.h3
-rw-r--r--src/widgets/itemviews/qlistview.cpp4
-rw-r--r--src/widgets/itemviews/qtableview.cpp10
-rw-r--r--src/widgets/itemviews/qtreeview.cpp4
-rw-r--r--src/widgets/kernel/qapplication.cpp6
-rw-r--r--src/widgets/kernel/qgridlayout.cpp6
-rw-r--r--src/widgets/kernel/qwidget.cpp9
-rw-r--r--src/widgets/kernel/qwidget.h3
-rw-r--r--src/widgets/styles/qcommonstyle.cpp17
-rw-r--r--src/widgets/styles/qfusionstyle.cpp13
-rw-r--r--src/widgets/styles/qstyle.cpp3
-rw-r--r--src/widgets/styles/qstyle.h2
-rw-r--r--src/widgets/styles/qstylehelper.cpp8
-rw-r--r--src/widgets/styles/qstyleoption.cpp37
-rw-r--r--src/widgets/styles/qstyleoption.h22
-rw-r--r--src/widgets/styles/qstylesheetstyle.cpp28
-rw-r--r--src/widgets/styles/qwindowsstyle.cpp3
-rw-r--r--src/widgets/util/qcolormap.cpp13
-rw-r--r--src/widgets/util/qcompleter.cpp1
-rw-r--r--src/widgets/widgets/qcalendarwidget.cpp5
-rw-r--r--src/widgets/widgets/qcombobox.cpp8
-rw-r--r--src/widgets/widgets/qdial.cpp22
-rw-r--r--src/widgets/widgets/qdockarealayout.cpp4
-rw-r--r--src/widgets/widgets/qlabel.cpp17
-rw-r--r--src/widgets/widgets/qlabel.h6
-rw-r--r--src/widgets/widgets/qlabel_p.h2
-rw-r--r--src/widgets/widgets/qlineedit.cpp22
-rw-r--r--src/widgets/widgets/qlineedit_p.cpp16
-rw-r--r--src/widgets/widgets/qlineedit_p.h6
-rw-r--r--src/widgets/widgets/qmainwindow.cpp3
-rw-r--r--src/widgets/widgets/qmdisubwindow.cpp4
-rw-r--r--src/widgets/widgets/qmenu.cpp7
-rw-r--r--src/widgets/widgets/qplaintextedit.cpp22
-rw-r--r--src/widgets/widgets/qpushbutton.cpp14
-rw-r--r--src/widgets/widgets/qsizegrip.cpp28
-rw-r--r--src/widgets/widgets/qsplitter.cpp13
-rw-r--r--src/widgets/widgets/qtextbrowser.cpp11
-rw-r--r--src/widgets/widgets/qtextedit.cpp14
-rw-r--r--src/widgets/widgets/qtoolbutton.cpp6
-rw-r--r--src/widgets/widgets/qwidgetlinecontrol.cpp9
-rw-r--r--src/widgets/widgets/qwidgetlinecontrol_p.h3
-rw-r--r--src/widgets/widgets/qwidgettextcontrol.cpp16
-rw-r--r--src/widgets/widgets/qwidgettextcontrol_p.h2
-rw-r--r--src/xml/doc/snippets/snippets.pro3
-rw-r--r--src/xml/dom/qdom.cpp6
-rw-r--r--tests/auto/CMakeLists.txt6
-rw-r--r--tests/auto/bic/data/QtConcurrent.6.0.0.linux-gcc-amd64.txt5073
-rw-r--r--tests/auto/bic/data/QtCore.6.0.0.linux-gcc-amd64.txt5026
-rw-r--r--tests/auto/bic/data/QtDBus.6.0.0.linux-gcc-amd64.txt5360
-rw-r--r--tests/auto/bic/data/QtGui.6.0.0.linux-gcc-amd64.txt8645
-rw-r--r--tests/auto/bic/data/QtNetwork.6.0.0.linux-gcc-amd64.txt5886
-rw-r--r--tests/auto/bic/data/QtOpenGL.6.0.0.linux-gcc-amd64.txt9326
-rw-r--r--tests/auto/bic/data/QtPrintSupport.6.0.0.linux-gcc-amd64.txt19498
-rw-r--r--tests/auto/bic/data/QtSql.6.0.0.linux-gcc-amd64.txt5458
-rw-r--r--tests/auto/bic/data/QtTest.6.0.0.linux-gcc-amd64.txt5129
-rw-r--r--tests/auto/bic/data/QtWidgets.6.0.0.linux-gcc-amd64.txt18995
-rw-r--r--tests/auto/bic/data/QtXml.6.0.0.linux-gcc-amd64.txt5128
-rw-r--r--tests/auto/cmake/CMakeLists.txt45
-rw-r--r--tests/auto/cmake/test_QFINDTESTDATA/tests/CMakeLists.txt2
-rw-r--r--tests/auto/cmake/test_QT_TESTCASE_BUILDDIR/CMakeLists.txt20
-rw-r--r--tests/auto/cmake/test_QT_TESTCASE_BUILDDIR/data/testdata.txt1
-rw-r--r--tests/auto/cmake/test_QT_TESTCASE_BUILDDIR/main.cpp57
-rw-r--r--tests/auto/cmake/test_QT_TESTCASE_BUILDDIR/testdata.txt1
-rw-r--r--tests/auto/cmake/test_init_resources_static_plugin/CMakeLists.txt52
-rw-r--r--tests/auto/cmake/test_init_resources_static_plugin/pluginmain.cpp (renamed from src/gui/text/qurlresourceprovider.h)31
-rw-r--r--tests/auto/cmake/test_init_resources_static_plugin/test_init_resources_static_plugin.cpp69
-rw-r--r--tests/auto/cmake/test_init_resources_static_plugin/testfile1.txt0
-rw-r--r--tests/auto/cmake/test_init_resources_static_plugin/testfile2.txt0
-rw-r--r--tests/auto/cmake/test_interface/CMakeLists.txt20
-rw-r--r--tests/auto/cmake/test_interface/widget_test/CMakeLists.txt12
-rw-r--r--tests/auto/cmake/test_interface/widget_test/main.cpp4
-rw-r--r--tests/auto/cmake/test_plugin_shared_static_flavor.cmake24
-rw-r--r--tests/auto/cmake/test_plugin_shared_static_flavor/CMakeLists.txt31
-rw-r--r--tests/auto/concurrent/qtconcurrentmap/tst_qtconcurrentmap.cpp2
-rw-r--r--tests/auto/concurrent/qtconcurrentthreadengine/tst_qtconcurrentthreadengine.cpp4
-rw-r--r--tests/auto/corelib/animation/qpauseanimation/tst_qpauseanimation.cpp41
-rw-r--r--tests/auto/corelib/animation/qpropertyanimation/CMakeLists.txt2
-rw-r--r--tests/auto/corelib/animation/qpropertyanimation/tst_qpropertyanimation.cpp10
-rw-r--r--tests/auto/corelib/animation/qsequentialanimationgroup/tst_qsequentialanimationgroup.cpp44
-rw-r--r--tests/auto/corelib/global/qglobal/qglobal.c1
-rw-r--r--tests/auto/corelib/global/qglobalstatic/CMakeLists.txt1
-rw-r--r--tests/auto/corelib/global/qglobalstatic/tst_qglobalstatic.cpp5
-rw-r--r--tests/auto/corelib/global/qlogging/tst_qlogging.cpp6
-rw-r--r--tests/auto/corelib/io/CMakeLists.txt7
-rw-r--r--tests/auto/corelib/io/largefile/CMakeLists.txt5
-rw-r--r--tests/auto/corelib/io/largefile/tst_largefile.cpp4
-rw-r--r--tests/auto/corelib/io/qfile/CMakeLists.txt4
-rw-r--r--tests/auto/corelib/io/qfile/tst_qfile.cpp8
-rw-r--r--tests/auto/corelib/io/qipaddress/tst_qipaddress.cpp2
-rw-r--r--tests/auto/corelib/io/qprocess/test/CMakeLists.txt3
-rw-r--r--tests/auto/corelib/io/qprocess/testExitCodes/CMakeLists.txt10
-rw-r--r--tests/auto/corelib/io/qprocess/testForwardingHelper/CMakeLists.txt10
-rw-r--r--tests/auto/corelib/io/qprocess/testProcessCrash/CMakeLists.txt10
-rw-r--r--tests/auto/corelib/io/qprocess/testProcessDeadWhileReading/CMakeLists.txt10
-rw-r--r--tests/auto/corelib/io/qprocess/testProcessEOF/CMakeLists.txt10
-rw-r--r--tests/auto/corelib/io/qprocess/testProcessEcho/CMakeLists.txt10
-rw-r--r--tests/auto/corelib/io/qprocess/testProcessEcho2/CMakeLists.txt10
-rw-r--r--tests/auto/corelib/io/qprocess/testProcessEcho3/CMakeLists.txt10
-rw-r--r--tests/auto/corelib/io/qprocess/testProcessEchoGui/CMakeLists.txt22
-rw-r--r--tests/auto/corelib/io/qprocess/testProcessEnvironment/CMakeLists.txt10
-rw-r--r--tests/auto/corelib/io/qprocess/testProcessHang/CMakeLists.txt10
-rw-r--r--tests/auto/corelib/io/qprocess/testProcessNormal/CMakeLists.txt8
-rw-r--r--tests/auto/corelib/io/qprocess/testProcessOutput/CMakeLists.txt8
-rw-r--r--tests/auto/corelib/io/qprocess/testProcessSpacesArgs/CMakeLists.txt41
-rw-r--r--tests/auto/corelib/io/qprocess/testSetNamedPipeHandleState/CMakeLists.txt11
-rw-r--r--tests/auto/corelib/io/qprocess/testSoftExit/CMakeLists.txt9
-rw-r--r--tests/auto/corelib/io/qprocess/testSpaceInName/CMakeLists.txt10
-rw-r--r--tests/auto/corelib/io/qprocess/tst_qprocess.cpp32
-rw-r--r--tests/auto/corelib/io/qsettings/tst_qsettings.cpp2
-rw-r--r--tests/auto/corelib/io/qtemporarydir/CMakeLists.txt3
-rw-r--r--tests/auto/corelib/io/qtemporarydir/tst_qtemporarydir.cpp7
-rw-r--r--tests/auto/corelib/itemmodels/qconcatenatetablesproxymodel/tst_qconcatenatetablesproxymodel.cpp42
-rw-r--r--tests/auto/corelib/kernel/CMakeLists.txt6
-rw-r--r--tests/auto/corelib/kernel/qeventdispatcher/tst_qeventdispatcher.cpp27
-rw-r--r--tests/auto/corelib/kernel/qjnienvironment/CMakeLists.txt16
-rw-r--r--tests/auto/corelib/kernel/qjnienvironment/testdata/src/org/qtproject/qt/android/testdata/QtJniEnvironmentTestClass.java41
-rw-r--r--tests/auto/corelib/kernel/qjnienvironment/tst_qjnienvironment.cpp139
-rw-r--r--tests/auto/corelib/kernel/qjniobject/CMakeLists.txt16
-rw-r--r--tests/auto/corelib/kernel/qjniobject/testdata/src/org/qtproject/qt/android/testdata/QtJniObjectTestClass.java177
-rw-r--r--tests/auto/corelib/kernel/qjniobject/tst_qjniobject.cpp1054
-rw-r--r--tests/auto/corelib/kernel/qmath/tst_qmath.cpp79
-rw-r--r--tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp11
-rw-r--r--tests/auto/corelib/kernel/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp50
-rw-r--r--tests/auto/corelib/kernel/qmetatype/CMakeLists.txt2
-rw-r--r--tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp678
-rw-r--r--tests/auto/corelib/kernel/qmetatype/tst_qmetatype.h434
-rw-r--r--tests/auto/corelib/kernel/qmetatype/tst_qmetatype2.cpp497
-rw-r--r--tests/auto/corelib/kernel/qmetatype/tst_qmetatype_common.h298
-rw-r--r--tests/auto/corelib/kernel/qobject/tst_qobject.cpp65
-rw-r--r--tests/auto/corelib/kernel/qproperty/tst_qproperty.cpp351
-rw-r--r--tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp92
-rw-r--r--tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp36
-rw-r--r--tests/auto/corelib/kernel/qwineventnotifier/tst_qwineventnotifier.cpp2
-rw-r--r--tests/auto/corelib/serialization/json/tst_qtjson.cpp50
-rw-r--r--tests/auto/corelib/serialization/qcborstreamwriter/tst_qcborstreamwriter.cpp4
-rw-r--r--tests/auto/corelib/serialization/qtextstream/test/CMakeLists.txt4
-rw-r--r--tests/auto/corelib/serialization/qtextstream/tst_qtextstream.cpp4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/data/019.ref2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/data/024.ref4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/data/039.ref2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/data/041.ref2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/data/1.ref2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/data/2.ref2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/data/21.ref10
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/data/namespaceCDATA.ref2
-rw-r--r--tests/auto/corelib/text/qbytearray/tst_qbytearray.cpp25
-rw-r--r--tests/auto/corelib/text/qcollator/tst_qcollator.cpp4
-rw-r--r--tests/auto/corelib/text/qlocale/tst_qlocale.cpp225
-rw-r--r--tests/auto/corelib/text/qregularexpression/tst_qregularexpression.cpp115
-rw-r--r--tests/auto/corelib/text/qstring/BLACKLIST3
-rw-r--r--tests/auto/corelib/text/qstring/tst_qstring.cpp29
-rw-r--r--tests/auto/corelib/text/qtextboundaryfinder/data/GraphemeBreakTest.txt8
-rw-r--r--tests/auto/corelib/text/qtextboundaryfinder/data/GraphemeBreakTest.txt.full630
-rw-r--r--tests/auto/corelib/thread/qfuture/tst_qfuture.cpp36
-rw-r--r--tests/auto/corelib/thread/qpromise/tst_qpromise.cpp8
-rw-r--r--tests/auto/corelib/thread/qthread/CMakeLists.txt5
-rw-r--r--tests/auto/corelib/thread/qthread/tst_qthread.cpp4
-rw-r--r--tests/auto/corelib/thread/qthreadpool/tst_qthreadpool.cpp22
-rw-r--r--tests/auto/corelib/time/qdate/BLACKLIST3
-rw-r--r--tests/auto/corelib/time/qdate/tst_qdate.cpp12
-rw-r--r--tests/auto/corelib/time/qdatetime/BLACKLIST8
-rw-r--r--tests/auto/corelib/time/qdatetime/tst_qdatetime.cpp243
-rw-r--r--tests/auto/corelib/time/qtimezone/BLACKLIST171
-rw-r--r--tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp135
-rw-r--r--tests/auto/corelib/tools/containerapisymmetry/tst_containerapisymmetry.cpp2
-rw-r--r--tests/auto/corelib/tools/qarraydata/BLACKLIST3
-rw-r--r--tests/auto/corelib/tools/qcache/tst_qcache.cpp1
-rw-r--r--tests/auto/corelib/tools/qcommandlineparser/tst_qcommandlineparser.cpp29
-rw-r--r--tests/auto/corelib/tools/qhash/tst_qhash.cpp17
-rw-r--r--tests/auto/corelib/tools/qlist/tst_qlist.cpp823
-rw-r--r--tests/auto/corelib/tools/qscopedpointer/tst_qscopedpointer.cpp6
-rw-r--r--tests/auto/corelib/tools/qsize/tst_qsize.cpp23
-rw-r--r--tests/auto/corelib/tools/qsizef/tst_qsizef.cpp23
-rw-r--r--tests/auto/dbus/qdbusinterface/tst_qdbusinterface.cpp1
-rw-r--r--tests/auto/dbus/qdbusservicewatcher/tst_qdbusservicewatcher.cpp41
-rw-r--r--tests/auto/gui/image/qicon/tst_qicon.cpp55
-rw-r--r--tests/auto/gui/image/qimage/tst_qimage.cpp106
-rw-r--r--tests/auto/gui/image/qmovie/tst_qmovie.cpp33
-rw-r--r--tests/auto/gui/image/qpixmap/tst_qpixmap.cpp10
-rw-r--r--tests/auto/gui/itemmodels/qfilesystemmodel/CMakeLists.txt4
-rw-r--r--tests/auto/gui/itemmodels/qfilesystemmodel/tst_qfilesystemmodel.cpp4
-rw-r--r--tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp17
-rw-r--r--tests/auto/gui/kernel/noqteventloop/tst_noqteventloop.cpp42
-rw-r--r--tests/auto/gui/kernel/qclipboard/tst_qclipboard.cpp6
-rw-r--r--tests/auto/gui/kernel/qfileopenevent/test/tst_qfileopenevent.cpp4
-rw-r--r--tests/auto/gui/kernel/qhighdpi/tst_qhighdpi.cpp91
-rw-r--r--tests/auto/gui/kernel/qshortcut/tst_qshortcut.cpp1
-rw-r--r--tests/auto/gui/kernel/qwindow/tst_qwindow.cpp2
-rw-r--r--tests/auto/gui/math3d/qquaternion/tst_qquaternion.cpp2
-rw-r--r--tests/auto/gui/math3d/qvectornd/tst_qvectornd.cpp69
-rw-r--r--tests/auto/gui/painting/qbrush/tst_qbrush.cpp7
-rw-r--r--tests/auto/gui/painting/qcolor/tst_qcolor.cpp94
-rw-r--r--tests/auto/gui/painting/qcolorspace/tst_qcolorspace.cpp152
-rw-r--r--tests/auto/gui/painting/qpainterpath/tst_qpainterpath.cpp12
-rw-r--r--tests/auto/gui/qopengl/tst_qopengl.cpp3
-rw-r--r--tests/auto/gui/rhi/qrhi/BLACKLIST3
-rw-r--r--tests/auto/gui/rhi/qrhi/tst_qrhi.cpp329
-rw-r--r--tests/auto/gui/text/qcssparser/tst_qcssparser.cpp4
-rw-r--r--tests/auto/gui/text/qfont/BLACKLIST2
-rw-r--r--tests/auto/gui/text/qfont/CMakeLists.txt3
-rw-r--r--tests/auto/gui/text/qfont/tst_qfont.cpp7
-rw-r--r--tests/auto/gui/text/qglyphrun/BLACKLIST3
-rw-r--r--tests/auto/gui/text/qglyphrun/tst_qglyphrun.cpp20
-rw-r--r--tests/auto/gui/text/qstatictext/tst_qstatictext.cpp6
-rw-r--r--tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp48
-rw-r--r--tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp73
-rw-r--r--tests/auto/gui/text/qtexttable/tst_qtexttable.cpp2
-rw-r--r--tests/auto/gui/util/qtexturefilereader/CMakeLists.txt2
-rw-r--r--tests/auto/gui/util/qtexturefilereader/qtexturefilereader.qrc2
-rw-r--r--tests/auto/gui/util/qtexturefilereader/texturefiles/cubemap_float32_rgba.ktxbin0 -> 32848 bytes
-rw-r--r--tests/auto/gui/util/qtexturefilereader/texturefiles/cubemap_metadata.ktxbin0 -> 4916 bytes
-rw-r--r--tests/auto/gui/util/qtexturefilereader/tst_qtexturefilereader.cpp37
-rw-r--r--tests/auto/network/access/http2/CMakeLists.txt4
-rw-r--r--tests/auto/network/access/http2/tst_http2.cpp4
-rw-r--r--tests/auto/network/access/qdecompresshelper/10K.gzbin0 -> 55 bytes
-rw-r--r--tests/auto/network/access/qdecompresshelper/tst_qdecompresshelper.cpp40
-rw-r--r--tests/auto/network/access/qnetworkcookie/tst_qnetworkcookie.cpp6
-rw-r--r--tests/auto/network/access/qnetworkcookiejar/tst_qnetworkcookiejar.cpp31
-rw-r--r--tests/auto/network/access/qnetworkreply/test/CMakeLists.txt3
-rw-r--r--tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp10
-rw-r--r--tests/auto/network/kernel/CMakeLists.txt1
-rw-r--r--tests/auto/network/kernel/qdnslookup/tst_qdnslookup.cpp49
-rw-r--r--tests/auto/network/kernel/qhostaddress/tst_qhostaddress.cpp22
-rw-r--r--tests/auto/network/kernel/qnetworkinformation_appless/CMakeLists.txt6
-rw-r--r--tests/auto/network/kernel/qnetworkinformation_appless/tst_qnetworkinformation_appless.cpp67
-rw-r--r--tests/auto/network/kernel/qnetworkproxyfactory/tst_qnetworkproxyfactory.cpp4
-rw-r--r--tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp216
-rw-r--r--tests/auto/network/socket/qudpsocket/test/CMakeLists.txt3
-rw-r--r--tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp4
-rw-r--r--tests/auto/network/ssl/qdtlscookie/tst_qdtlscookie.cpp2
-rw-r--r--tests/auto/network/ssl/qocsp/tst_qocsp.cpp1
-rw-r--r--tests/auto/network/ssl/qsslkey/tst_qsslkey.cpp74
-rw-r--r--tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp224
-rw-r--r--tests/auto/other/gestures/BLACKLIST15
-rw-r--r--tests/auto/other/lancelot/scripts/tinydashes.qps34
-rw-r--r--tests/auto/other/macgui/BLACKLIST3
-rw-r--r--tests/auto/other/macgui/tst_macgui.cpp1
-rw-r--r--tests/auto/other/qaccessibility/tst_qaccessibility.cpp6
-rw-r--r--tests/auto/other/qaccessibilitymac/tst_qaccessibilitymac.cpp2
-rw-r--r--tests/auto/other/qaccessibilitymac/tst_qaccessibilitymac_helpers.h3
-rw-r--r--tests/auto/other/qaccessibilitymac/tst_qaccessibilitymac_helpers.mm5
-rw-r--r--tests/auto/other/qobjectrace/CMakeLists.txt5
-rw-r--r--tests/auto/other/qobjectrace/tst_qobjectrace.cpp4
-rw-r--r--tests/auto/other/qprocess_and_guieventloop/write-read-write/CMakeLists.txt10
-rw-r--r--tests/auto/other/qvariant_common/tst_qvariant_common.h6
-rw-r--r--tests/auto/other/toolsupport/tst_toolsupport.cpp11
-rw-r--r--tests/auto/shared/resources/test.ttfbin2008 -> 2128 bytes
-rw-r--r--tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp6
-rw-r--r--tests/auto/sql/models/qsqlquerymodel/tst_qsqlquerymodel.cpp4
-rw-r--r--tests/auto/testlib/qabstractitemmodeltester/tst_qabstractitemmodeltester.cpp13
-rw-r--r--tests/auto/testlib/selftests/CMakeLists.txt3
-rw-r--r--tests/auto/testlib/selftests/catch_p_p.h8
-rw-r--r--tests/auto/testlib/selftests/float/CMakeLists.txt4
-rw-r--r--tests/auto/testlib/selftests/float/tst_float.cpp4
-rw-r--r--tests/auto/testlib/selftests/keyboard/tst_keyboard.cpp11
-rw-r--r--tests/auto/testlib/selftests/tst_selftests.cpp6
-rw-r--r--tests/auto/tools/moc/cxx-attributes.h1
-rw-r--r--tests/auto/tools/moc/cxx11-explicit-override-control.h5
-rw-r--r--tests/auto/tools/moc/tst_moc.cpp9
-rw-r--r--tests/auto/tools/qmake/BLACKLIST2
-rw-r--r--tests/auto/tools/qmake/testdata/quotedfilenames/quotedfilenames.pro2
-rw-r--r--tests/auto/tools/qmake/tst_qmake.cpp2
-rw-r--r--tests/auto/tools/rcc/tst_rcc.cpp2
-rw-r--r--tests/auto/tools/uic/tst_uic.cpp2
-rw-r--r--tests/auto/widgets/dialogs/qdialog/tst_qdialog.cpp3
-rw-r--r--tests/auto/widgets/dialogs/qprogressdialog/tst_qprogressdialog.cpp24
-rw-r--r--tests/auto/widgets/effects/qgraphicseffect/tst_qgraphicseffect.cpp1
-rw-r--r--tests/auto/widgets/itemviews/qfileiconprovider/tst_qfileiconprovider.cpp12
-rw-r--r--tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp4
-rw-r--r--tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp24
-rw-r--r--tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp5
-rw-r--r--tests/auto/widgets/kernel/qgridlayout/tst_qgridlayout.cpp51
-rw-r--r--tests/auto/widgets/kernel/qshortcut/CMakeLists.txt1
-rw-r--r--tests/auto/widgets/kernel/qshortcut/tst_qshortcut.cpp8
-rw-r--r--tests/auto/widgets/kernel/qwidget/BLACKLIST2
-rw-r--r--tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp33
-rw-r--r--tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp5
-rw-r--r--tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp4
-rw-r--r--tests/auto/widgets/widgets/qdial/tst_qdial.cpp31
-rw-r--r--tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget.cpp6
-rw-r--r--tests/auto/widgets/widgets/qdoublespinbox/tst_qdoublespinbox.cpp60
-rw-r--r--tests/auto/widgets/widgets/qlabel/tst_qlabel.cpp28
-rw-r--r--tests/auto/widgets/widgets/qmenu/BLACKLIST1
-rw-r--r--tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp13
-rw-r--r--tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp3
-rw-r--r--tests/auto/widgets/widgets/qplaintextedit/tst_qplaintextedit.cpp32
-rw-r--r--tests/auto/widgets/widgets/qpushbutton/tst_qpushbutton.cpp25
-rw-r--r--tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp4
-rw-r--r--tests/auto/widgets/widgets/qtextbrowser/tst_qtextbrowser.cpp18
-rw-r--r--tests/benchmarks/benchmarks.pro14
-rw-r--r--tests/benchmarks/corelib/corelib.pro20
-rw-r--r--tests/benchmarks/corelib/io/io.pro11
-rw-r--r--tests/benchmarks/corelib/io/qdir/10000/10000.pro6
-rw-r--r--tests/benchmarks/corelib/io/qdir/qdir.pro2
-rw-r--r--tests/benchmarks/corelib/io/qdir/tree/tree.pro7
-rw-r--r--tests/benchmarks/corelib/io/qdiriterator/qdiriterator.pro13
-rw-r--r--tests/benchmarks/corelib/io/qfile/qfile.pro7
-rw-r--r--tests/benchmarks/corelib/io/qfileinfo/qfileinfo.pro7
-rw-r--r--tests/benchmarks/corelib/io/qiodevice/qiodevice.pro6
-rw-r--r--tests/benchmarks/corelib/io/qprocess/qprocess.pro3
-rw-r--r--tests/benchmarks/corelib/io/qprocess/test/test.pro5
-rw-r--r--tests/benchmarks/corelib/io/qprocess/testProcessLoopback/CMakeLists.txt10
-rw-r--r--tests/benchmarks/corelib/io/qprocess/testProcessLoopback/testProcessLoopback.pro6
-rw-r--r--tests/benchmarks/corelib/io/qtemporaryfile/qtemporaryfile.pro6
-rw-r--r--tests/benchmarks/corelib/io/qtextstream/qtextstream.pro6
-rw-r--r--tests/benchmarks/corelib/io/qurl/qurl.pro7
-rw-r--r--tests/benchmarks/corelib/json/json.pro8
-rw-r--r--tests/benchmarks/corelib/kernel/CMakeLists.txt1
-rw-r--r--tests/benchmarks/corelib/kernel/events/events.pro6
-rw-r--r--tests/benchmarks/corelib/kernel/events/main.cpp4
-rw-r--r--tests/benchmarks/corelib/kernel/kernel.pro17
-rw-r--r--tests/benchmarks/corelib/kernel/qcoreapplication/qcoreapplication.pro6
-rw-r--r--tests/benchmarks/corelib/kernel/qmetaobject/main.cpp7
-rw-r--r--tests/benchmarks/corelib/kernel/qmetaobject/qmetaobject.pro6
-rw-r--r--tests/benchmarks/corelib/kernel/qmetatype/qmetatype.pro6
-rw-r--r--tests/benchmarks/corelib/kernel/qmetatype/tst_qmetatype.cpp93
-rw-r--r--tests/benchmarks/corelib/kernel/qobject/qobject.pro7
-rw-r--r--tests/benchmarks/corelib/kernel/qproperty/CMakeLists.txt8
-rw-r--r--tests/benchmarks/corelib/kernel/qproperty/main.cpp231
-rw-r--r--tests/benchmarks/corelib/kernel/qproperty/propertytester.h83
-rw-r--r--tests/benchmarks/corelib/kernel/qtimer_vs_qmetaobject/qtimer_vs_qmetaobject.pro7
-rw-r--r--tests/benchmarks/corelib/kernel/qvariant/qvariant.pro6
-rw-r--r--tests/benchmarks/corelib/kernel/qvariant/tst_qvariant.cpp11
-rw-r--r--tests/benchmarks/corelib/kernel/qwineventnotifier/qwineventnotifier.pro6
-rw-r--r--tests/benchmarks/corelib/mimetypes/mimetypes.pro3
-rw-r--r--tests/benchmarks/corelib/mimetypes/qmimedatabase/qmimedatabase.pro5
-rw-r--r--tests/benchmarks/corelib/plugin/plugin.pro2
-rw-r--r--tests/benchmarks/corelib/plugin/quuid/quuid.pro6
-rw-r--r--tests/benchmarks/corelib/plugin/quuid/tst_quuid.cpp3
-rw-r--r--tests/benchmarks/corelib/text/qbytearray/qbytearray.pro7
-rw-r--r--tests/benchmarks/corelib/text/qchar/qchar.pro5
-rw-r--r--tests/benchmarks/corelib/text/qlocale/main.cpp28
-rw-r--r--tests/benchmarks/corelib/text/qlocale/qlocale.pro5
-rw-r--r--tests/benchmarks/corelib/text/qregularexpression/qregularexpression.pro5
-rw-r--r--tests/benchmarks/corelib/text/qstring/qstring.pro6
-rw-r--r--tests/benchmarks/corelib/text/qstringbuilder/qstringbuilder.pro9
-rw-r--r--tests/benchmarks/corelib/text/qstringlist/qstringlist.pro5
-rw-r--r--tests/benchmarks/corelib/text/text.pro10
-rw-r--r--tests/benchmarks/corelib/thread/qmutex/qmutex.pro6
-rw-r--r--tests/benchmarks/corelib/thread/qmutex/tst_qmutex.cpp9
-rw-r--r--tests/benchmarks/corelib/thread/qreadwritelock/qreadwritelock.pro8
-rw-r--r--tests/benchmarks/corelib/thread/qthreadpool/qthreadpool.pro6
-rw-r--r--tests/benchmarks/corelib/thread/qthreadstorage/qthreadstorage.pro6
-rw-r--r--tests/benchmarks/corelib/thread/qwaitcondition/qwaitcondition.pro6
-rw-r--r--tests/benchmarks/corelib/thread/qwaitcondition/tst_qwaitcondition.cpp2
-rw-r--r--tests/benchmarks/corelib/thread/thread.pro7
-rw-r--r--tests/benchmarks/corelib/time/qdate/qdate.pro5
-rw-r--r--tests/benchmarks/corelib/time/qdatetime/qdatetime.pro5
-rw-r--r--tests/benchmarks/corelib/time/qtimezone/qtimezone.pro5
-rw-r--r--tests/benchmarks/corelib/time/time.pro5
-rw-r--r--tests/benchmarks/corelib/tools/containers-associative/containers-associative.pro6
-rw-r--r--tests/benchmarks/corelib/tools/containers-sequential/containers-sequential.pro6
-rw-r--r--tests/benchmarks/corelib/tools/containers-sequential/main.cpp12
-rw-r--r--tests/benchmarks/corelib/tools/qcontiguouscache/qcontiguouscache.pro6
-rw-r--r--tests/benchmarks/corelib/tools/qcryptographichash/main.cpp18
-rw-r--r--tests/benchmarks/corelib/tools/qcryptographichash/qcryptographichash.pro6
-rw-r--r--tests/benchmarks/corelib/tools/qhash/qhash.pro6
-rw-r--r--tests/benchmarks/corelib/tools/qlist/main.cpp169
-rw-r--r--tests/benchmarks/corelib/tools/qlist/qlist.pro5
-rw-r--r--tests/benchmarks/corelib/tools/qmap/qmap.pro6
-rw-r--r--tests/benchmarks/corelib/tools/qrect/main.cpp8
-rw-r--r--tests/benchmarks/corelib/tools/qrect/qrect.pro6
-rw-r--r--tests/benchmarks/corelib/tools/qringbuffer/qringbuffer.pro6
-rw-r--r--tests/benchmarks/corelib/tools/qset/qset.pro5
-rw-r--r--tests/benchmarks/corelib/tools/qstack/qstack.pro5
-rw-r--r--tests/benchmarks/corelib/tools/qvector/qvector.pro6
-rw-r--r--tests/benchmarks/corelib/tools/tools.pro12
-rw-r--r--tests/benchmarks/dbus/dbus.pro6
-rw-r--r--tests/benchmarks/dbus/qdbusperformance/qdbusperformance.pro3
-rw-r--r--tests/benchmarks/dbus/qdbusperformance/server/server.pro6
-rw-r--r--tests/benchmarks/dbus/qdbusperformance/serverobject.h9
-rw-r--r--tests/benchmarks/dbus/qdbusperformance/test/test.pro5
-rw-r--r--tests/benchmarks/dbus/qdbustype/qdbustype.pro11
-rw-r--r--tests/benchmarks/gui/animation/animation.pro2
-rw-r--r--tests/benchmarks/gui/animation/qanimation/dummyanimation.h4
-rw-r--r--tests/benchmarks/gui/animation/qanimation/qanimation.pro16
-rw-r--r--tests/benchmarks/gui/animation/qanimation/rectanimation.h4
-rw-r--r--tests/benchmarks/gui/gui.pro13
-rw-r--r--tests/benchmarks/gui/image/blendbench/blendbench.pro5
-rw-r--r--tests/benchmarks/gui/image/image.pro8
-rw-r--r--tests/benchmarks/gui/image/qimageconversion/qimageconversion.pro9
-rw-r--r--tests/benchmarks/gui/image/qimageconversion/tst_qimageconversion.cpp5
-rw-r--r--tests/benchmarks/gui/image/qimagereader/qimagereader.pro12
-rw-r--r--tests/benchmarks/gui/image/qimagescale/qimagescale.pro4
-rw-r--r--tests/benchmarks/gui/image/qpixmap/qpixmap.pro6
-rw-r--r--tests/benchmarks/gui/image/qpixmapcache/qpixmapcache.pro5
-rw-r--r--tests/benchmarks/gui/kernel/kernel.pro4
-rw-r--r--tests/benchmarks/gui/kernel/qguimetatype/qguimetatype.pro5
-rw-r--r--tests/benchmarks/gui/kernel/qguimetatype/tst_qguimetatype.cpp41
-rw-r--r--tests/benchmarks/gui/kernel/qguivariant/qguivariant.pro5
-rw-r--r--tests/benchmarks/gui/kernel/qguivariant/tst_qguivariant.cpp6
-rw-r--r--tests/benchmarks/gui/math3d/math3d.pro4
-rw-r--r--tests/benchmarks/gui/math3d/qmatrix4x4/qmatrix4x4.pro5
-rw-r--r--tests/benchmarks/gui/math3d/qmatrix4x4/tst_qmatrix4x4.cpp6
-rw-r--r--tests/benchmarks/gui/math3d/qquaternion/qquaternion.pro5
-rw-r--r--tests/benchmarks/gui/math3d/qquaternion/tst_qquaternion.cpp1
-rw-r--r--tests/benchmarks/gui/painting/drawtexture/drawtexture.pro7
-rw-r--r--tests/benchmarks/gui/painting/lancebench/lancebench.pro13
-rw-r--r--tests/benchmarks/gui/painting/painting.pro13
-rw-r--r--tests/benchmarks/gui/painting/qcolor/qcolor.pro7
-rw-r--r--tests/benchmarks/gui/painting/qpainter/qpainter.pro7
-rw-r--r--tests/benchmarks/gui/painting/qregion/qregion.pro6
-rw-r--r--tests/benchmarks/gui/painting/qtbench/benchmarktests.h115
-rw-r--r--tests/benchmarks/gui/painting/qtbench/qtbench.pro6
-rw-r--r--tests/benchmarks/gui/painting/qtbench/tst_qtbench.cpp2
-rw-r--r--tests/benchmarks/gui/painting/qtransform/qtransform.pro5
-rw-r--r--tests/benchmarks/gui/painting/qtransform/tst_qtransform.cpp6
-rw-r--r--tests/benchmarks/gui/text/qfontmetrics/qfontmetrics.pro4
-rw-r--r--tests/benchmarks/gui/text/qtext/qtext.pro9
-rw-r--r--tests/benchmarks/gui/text/qtextdocument/qtextdocument.pro7
-rw-r--r--tests/benchmarks/gui/text/text.pro5
-rw-r--r--tests/benchmarks/network/access/access.pro11
-rw-r--r--tests/benchmarks/network/access/qdecompresshelper/qdecompresshelper.pro8
-rw-r--r--tests/benchmarks/network/access/qfile_vs_qnetworkaccessmanager/qfile_vs_qnetworkaccessmanager.pro9
-rw-r--r--tests/benchmarks/network/access/qnetworkdiskcache/qnetworkdiskcache.pro8
-rw-r--r--tests/benchmarks/network/access/qnetworkreply/qnetworkreply.pro9
-rw-r--r--tests/benchmarks/network/access/qnetworkreply/tst_qnetworkreply.cpp37
-rw-r--r--tests/benchmarks/network/access/qnetworkreply_from_cache/qnetworkreply_from_cache.pro3
-rw-r--r--tests/benchmarks/network/access/qnetworkreply_from_cache/tst_qnetworkreply_from_cache.cpp4
-rw-r--r--tests/benchmarks/network/kernel/kernel.pro4
-rw-r--r--tests/benchmarks/network/kernel/qhostinfo/qhostinfo.pro9
-rw-r--r--tests/benchmarks/network/network.pro19
-rw-r--r--tests/benchmarks/network/socket/CMakeLists.txt1
-rw-r--r--tests/benchmarks/network/socket/qlocalsocket/CMakeLists.txt14
-rw-r--r--tests/benchmarks/network/socket/qlocalsocket/tst_qlocalsocket.cpp225
-rw-r--r--tests/benchmarks/network/socket/qtcpserver/qtcpserver.pro9
-rw-r--r--tests/benchmarks/network/socket/qudpsocket/qudpsocket.pro8
-rw-r--r--tests/benchmarks/network/socket/socket.pro4
-rw-r--r--tests/benchmarks/network/ssl/qsslsocket/qsslsocket.pro9
-rw-r--r--tests/benchmarks/network/ssl/ssl.pro3
-rw-r--r--tests/benchmarks/plugins/imageformats/jpeg/jpeg.pro8
-rw-r--r--tests/benchmarks/sql/kernel/kernel.pro4
-rw-r--r--tests/benchmarks/sql/kernel/qsqlquery/qsqlquery.pro5
-rw-r--r--tests/benchmarks/sql/kernel/qsqlrecord/qsqlrecord.pro5
-rw-r--r--tests/benchmarks/sql/sql.pro3
-rw-r--r--tests/benchmarks/testlib/testlib.pro3
-rw-r--r--tests/benchmarks/testlib/tostring/tostring.pro4
-rw-r--r--tests/benchmarks/trusted-benchmarks.pri11
-rw-r--r--tests/benchmarks/widgets/graphicsview/functional/GraphicsViewBenchmark/GraphicsViewBenchmark.pro70
-rw-r--r--tests/benchmarks/widgets/graphicsview/functional/GraphicsViewBenchmark/widgets/itemrecyclinglist.pri19
-rw-r--r--tests/benchmarks/widgets/graphicsview/functional/functional.pro4
-rw-r--r--tests/benchmarks/widgets/graphicsview/graphicsview.pro10
-rw-r--r--tests/benchmarks/widgets/graphicsview/qgraphicsanchorlayout/qgraphicsanchorlayout.pro7
-rw-r--r--tests/benchmarks/widgets/graphicsview/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp2
-rw-r--r--tests/benchmarks/widgets/graphicsview/qgraphicsitem/qgraphicsitem.pro6
-rw-r--r--tests/benchmarks/widgets/graphicsview/qgraphicslayout/qgraphicslayout.pro5
-rw-r--r--tests/benchmarks/widgets/graphicsview/qgraphicslayout/tst_qgraphicslayout.cpp4
-rw-r--r--tests/benchmarks/widgets/graphicsview/qgraphicslinearlayout/qgraphicslinearlayout.pro5
-rw-r--r--tests/benchmarks/widgets/graphicsview/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp2
-rw-r--r--tests/benchmarks/widgets/graphicsview/qgraphicsscene/qgraphicsscene.pro7
-rw-r--r--tests/benchmarks/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp1
-rw-r--r--tests/benchmarks/widgets/graphicsview/qgraphicsview/benchapps/chipTest/chip.pro19
-rw-r--r--tests/benchmarks/widgets/graphicsview/qgraphicsview/benchapps/moveItems/moveItems.pro1
-rw-r--r--tests/benchmarks/widgets/graphicsview/qgraphicsview/benchapps/scrolltest/scrolltest.pro1
-rw-r--r--tests/benchmarks/widgets/graphicsview/qgraphicsview/chiptester/chip.h12
-rw-r--r--tests/benchmarks/widgets/graphicsview/qgraphicsview/chiptester/chiptester.h4
-rw-r--r--tests/benchmarks/widgets/graphicsview/qgraphicsview/chiptester/chiptester.pri13
-rw-r--r--tests/benchmarks/widgets/graphicsview/qgraphicsview/qgraphicsview.pro9
-rw-r--r--tests/benchmarks/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp18
-rw-r--r--tests/benchmarks/widgets/graphicsview/qgraphicswidget/qgraphicswidget.pro6
-rw-r--r--tests/benchmarks/widgets/itemviews/itemviews.pro5
-rw-r--r--tests/benchmarks/widgets/itemviews/qheaderview/qheaderview.pro7
-rw-r--r--tests/benchmarks/widgets/itemviews/qlistview/qlistview.pro7
-rw-r--r--tests/benchmarks/widgets/itemviews/qtableview/qtableview.pro7
-rw-r--r--tests/benchmarks/widgets/itemviews/qtableview/tst_qtableview.cpp14
-rw-r--r--tests/benchmarks/widgets/kernel/kernel.pro4
-rw-r--r--tests/benchmarks/widgets/kernel/qapplication/qapplication.pro8
-rw-r--r--tests/benchmarks/widgets/kernel/qwidget/qwidget.pro4
-rw-r--r--tests/benchmarks/widgets/kernel/qwidget/tst_qwidget.cpp2
-rw-r--r--tests/benchmarks/widgets/styles/qstylesheetstyle/qstylesheetstyle.pro7
-rw-r--r--tests/benchmarks/widgets/styles/styles.pro3
-rw-r--r--tests/benchmarks/widgets/widgets.pro13
-rw-r--r--tests/benchmarks/widgets/widgets/qtextbrowser/qtextbrowser.pro6
-rw-r--r--tests/benchmarks/widgets/widgets/widgets.pro3
-rw-r--r--tests/libfuzzer/corelib/time/qdatetime/fromstring/main.cpp9
-rw-r--r--tests/manual/CMakeLists.txt1
-rw-r--r--tests/manual/highdpi/dprgadget/CMakeLists.txt1
-rw-r--r--tests/manual/highdpi/dprgadget/main.cpp161
-rw-r--r--tests/manual/highdpi/screengadget/CMakeLists.txt20
-rw-r--r--tests/manual/highdpi/screengadget/main.cpp244
-rw-r--r--tests/manual/highdpi/screengadget/screengadget.pro2
-rw-r--r--tests/manual/lance/interactivewidget.h2
-rw-r--r--tests/manual/lance/main.cpp2
-rw-r--r--tests/manual/lance/widgets.h12
-rw-r--r--tests/manual/qlocale/info.cpp8
-rw-r--r--tests/manual/qlocale/info.h4
-rw-r--r--tests/manual/qlocale/languages.cpp2
-rw-r--r--tests/manual/qlocale/window.cpp10
-rw-r--r--tests/manual/qnetconmonitor/tst_qnetconmonitor.cpp65
-rw-r--r--tests/manual/qnetworkinformation/CMakeLists.txt8
-rw-r--r--tests/manual/qnetworkinformation/tst_qnetworkinformation.cpp54
-rw-r--r--tests/shared/filesystem.h4
-rw-r--r--tests/tests.pro9
-rwxr-xr-xutil/android/android_cmakelist_patcher.sh36
-rwxr-xr-xutil/android/android_emulator_launcher.sh2
-rw-r--r--util/cmake/README.md2
-rwxr-xr-xutil/cmake/configurejson2cmake.py44
-rw-r--r--util/cmake/helper.py24
-rwxr-xr-xutil/cmake/pro2cmake.py8
-rw-r--r--util/locale_database/cldr.py4
-rwxr-xr-xutil/locale_database/cldr2qlocalexml.py2
-rwxr-xr-xutil/locale_database/cldr2qtimezone.py1
-rw-r--r--util/locale_database/enumdata.py8
-rw-r--r--util/locale_database/qlocalexml.py6
-rwxr-xr-xutil/locale_database/qlocalexml2cpp.py24
-rw-r--r--util/locale_database/testlocales/localemodel.cpp8
-rw-r--r--util/publicSuffix/main.cpp14
-rw-r--r--util/unicode/README4
-rw-r--r--util/unicode/data/emoji-data.txt1261
-rw-r--r--util/unicode/main.cpp71
-rw-r--r--util/unicode/unicode.pro1
-rw-r--r--util/xkbdatagen/main.cpp4
1780 files changed, 188834 insertions, 63850 deletions
diff --git a/.cmake.conf b/.cmake.conf
index 8744479d6f..099f7e7563 100644
--- a/.cmake.conf
+++ b/.cmake.conf
@@ -1,4 +1,4 @@
-set(QT_REPO_MODULE_VERSION "6.1.0")
+set(QT_REPO_MODULE_VERSION "6.2.0")
# Minimum requirement for building Qt
set(QT_MIN_SUPPORTED_CMAKE_VERSION "3.16")
diff --git a/.prev_configure.cmake b/.prev_configure.cmake
index 75081a87c9..3cd944aeae 100644
--- a/.prev_configure.cmake
+++ b/.prev_configure.cmake
@@ -6,7 +6,7 @@
#### Libraries
-qt_find_package(ZLIB 1.0.8 PROVIDED_TARGETS ZLIB::ZLIB MODULE_NAME global QMAKE_LIB zlib)
+qt_find_package(WrapZLIB 1.0.8 PROVIDED_TARGETS WrapZLIB::WrapZLIB MODULE_NAME global QMAKE_LIB zlib)
qt_find_package(ZSTD 1.3 PROVIDED_TARGETS ZSTD::ZSTD MODULE_NAME global QMAKE_LIB zstd)
qt_find_package(WrapDBus1 1.2 PROVIDED_TARGETS dbus-1 MODULE_NAME global QMAKE_LIB dbus)
qt_find_package(Libudev PROVIDED_TARGETS PkgConfig::Libudev MODULE_NAME global QMAKE_LIB libudev)
@@ -27,12 +27,9 @@ qt_config_compile_test(cxx14
# error __cplusplus must be > 201103L (the value of C++11)
#endif
-
-int main(int argc, char **argv)
+int main(void)
{
- (void)argc; (void)argv;
/* BEGIN TEST: */
-
/* END TEST: */
return 0;
}
@@ -52,10 +49,8 @@ qt_config_compile_test(cxx17
#include <map> // https://bugs.llvm.org//show_bug.cgi?id=33117
#include <variant>
-
-int main(int argc, char **argv)
+int main(void)
{
- (void)argc; (void)argv;
/* BEGIN TEST: */
std::variant<int> v(42);
int i = std::get<int>(v);
@@ -67,22 +62,19 @@ std::visit([](const auto &) { return 1; }, v);
CXX_STANDARD 17
)
-# cxx2a
-qt_config_compile_test(cxx2a
- LABEL "C++2a support"
+# cxx20
+qt_config_compile_test(cxx20
+ LABEL "C++20 support"
CODE
"#if __cplusplus > 201703L
-// Compiler claims to support experimental C++2a, trust it
+// Compiler claims to support C++20, trust it
#else
# error __cplusplus must be > 201703L (the value for C++17)
#endif
-
-int main(int argc, char **argv)
+int main(void)
{
- (void)argc; (void)argv;
/* BEGIN TEST: */
-
/* END TEST: */
return 0;
}
@@ -94,16 +86,13 @@ int main(int argc, char **argv)
qt_config_compile_test(precompile_header
LABEL "precompiled header support"
CODE
-"
-
-#ifndef HEADER_H
+"#ifndef HEADER_H
#error no go
#endif
-int main(int argc, char **argv)
+
+int main(void)
{
- (void)argc; (void)argv;
/* BEGIN TEST: */
-
/* END TEST: */
return 0;
}
@@ -148,12 +137,9 @@ qt_config_compile_test(reduce_relocations
# error Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129).
#endif
-
-int main(int argc, char **argv)
+int main(void)
{
- (void)argc; (void)argv;
/* BEGIN TEST: */
-
/* END TEST: */
return 0;
}
@@ -171,10 +157,8 @@ qt_config_compile_test(signaling_nan
CODE
"#include <limits>
-
-int main(int argc, char **argv)
+int main(void)
{
- (void)argc; (void)argv;
/* BEGIN TEST: */
using B = std::numeric_limits<double>;
static_assert(B::has_signaling_NaN, \"System lacks signaling NaN\");
@@ -250,13 +234,11 @@ qt_config_compile_test_x86simd(avx512vbmi "AVX512 VBMI instructions")
qt_config_compile_test(posix_fallocate
LABEL "POSIX fallocate()"
CODE
-"
-#include <fcntl.h>
+"#include <fcntl.h>
#include <unistd.h>
-int main(int argc, char **argv)
+int main(void)
{
- (void)argc; (void)argv;
/* BEGIN TEST: */
(void) posix_fallocate(0, 0, 0);
/* END TEST: */
@@ -268,12 +250,10 @@ int main(int argc, char **argv)
qt_config_compile_test(alloca_stdlib_h
LABEL "alloca() in stdlib.h"
CODE
-"
-#include <stdlib.h>
+"#include <stdlib.h>
-int main(int argc, char **argv)
+int main(void)
{
- (void)argc; (void)argv;
/* BEGIN TEST: */
alloca(1);
/* END TEST: */
@@ -285,15 +265,14 @@ alloca(1);
qt_config_compile_test(alloca_h
LABEL "alloca() in alloca.h"
CODE
-"
-#include <alloca.h>
+"#include <alloca.h>
#ifdef __QNXNTO__
// extra include needed in QNX7 to define NULL for the alloca() macro
# include <stddef.h>
#endif
-int main(int argc, char **argv)
+
+int main(void)
{
- (void)argc; (void)argv;
/* BEGIN TEST: */
alloca(1);
/* END TEST: */
@@ -305,12 +284,10 @@ alloca(1);
qt_config_compile_test(alloca_malloc_h
LABEL "alloca() in malloc.h"
CODE
-"
-#include <malloc.h>
+"#include <malloc.h>
-int main(int argc, char **argv)
+int main(void)
{
- (void)argc; (void)argv;
/* BEGIN TEST: */
alloca(1);
/* END TEST: */
@@ -330,12 +307,9 @@ qt_config_compile_test(stack_protector
# endif
#endif
-
-int main(int argc, char **argv)
+int main(void)
{
- (void)argc; (void)argv;
/* BEGIN TEST: */
-
/* END TEST: */
return 0;
}
@@ -345,12 +319,8 @@ int main(int argc, char **argv)
qt_config_compile_test(intelcet
LABEL "Support for Intel Control-flow Enforcement Technology"
CODE
-"
-
-
-int main(int argc, char **argv)
+"int main(void)
{
- (void)argc; (void)argv;
/* BEGIN TEST: */
#if !defined(__CET__)
# error Intel CET not available
@@ -371,7 +341,7 @@ qt_feature("android-style-assets" PRIVATE
)
qt_feature("shared" PUBLIC
LABEL "Building shared libraries"
- AUTODETECT NOT UIKIT
+ AUTODETECT NOT UIKIT AND NOT WASM
CONDITION BUILD_SHARED_LIBS
)
qt_feature_definition("shared" "QT_STATIC" NEGATE PREREQUISITE "!defined(QT_SHARED) && !defined(QT_STATIC)")
@@ -594,10 +564,15 @@ qt_feature("c++1z" PUBLIC
CONDITION QT_FEATURE_cxx17
)
qt_feature_config("c++1z" QMAKE_PUBLIC_QT_CONFIG)
-qt_feature("c++2a" PUBLIC
- LABEL "C++2a"
+qt_feature("c++20" PUBLIC
+ LABEL "C++20"
AUTODETECT OFF
- CONDITION QT_FEATURE_cxx17 AND TEST_cxx2a
+ CONDITION QT_FEATURE_cxx17 AND TEST_cxx20
+)
+qt_feature_config("c++20" QMAKE_PUBLIC_QT_CONFIG)
+qt_feature("c++2a" PUBLIC
+ LABEL "C++20"
+ CONDITION QT_FEATURE_cxx20
)
qt_feature_config("c++2a" QMAKE_PUBLIC_QT_CONFIG)
qt_feature("c89"
@@ -668,37 +643,37 @@ qt_feature("sse2" PRIVATE
)
qt_feature_definition("sse2" "QT_COMPILER_SUPPORTS_SSE2" VALUE "1")
qt_feature_config("sse2" QMAKE_PRIVATE_CONFIG)
-qt_feature("sse3"
+qt_feature("sse3" PRIVATE
LABEL "SSE3"
CONDITION QT_FEATURE_sse2 AND TEST_subarch_sse3
)
qt_feature_definition("sse3" "QT_COMPILER_SUPPORTS_SSE3" VALUE "1")
qt_feature_config("sse3" QMAKE_PRIVATE_CONFIG)
-qt_feature("ssse3"
+qt_feature("ssse3" PRIVATE
LABEL "SSSE3"
CONDITION QT_FEATURE_sse3 AND TEST_subarch_ssse3
)
qt_feature_definition("ssse3" "QT_COMPILER_SUPPORTS_SSSE3" VALUE "1")
qt_feature_config("ssse3" QMAKE_PRIVATE_CONFIG)
-qt_feature("sse4_1"
+qt_feature("sse4_1" PRIVATE
LABEL "SSE4.1"
CONDITION QT_FEATURE_ssse3 AND TEST_subarch_sse4_1
)
qt_feature_definition("sse4_1" "QT_COMPILER_SUPPORTS_SSE4_1" VALUE "1")
qt_feature_config("sse4_1" QMAKE_PRIVATE_CONFIG)
-qt_feature("sse4_2"
+qt_feature("sse4_2" PRIVATE
LABEL "SSE4.2"
CONDITION QT_FEATURE_sse4_1 AND TEST_subarch_sse4_2
)
qt_feature_definition("sse4_2" "QT_COMPILER_SUPPORTS_SSE4_2" VALUE "1")
qt_feature_config("sse4_2" QMAKE_PRIVATE_CONFIG)
-qt_feature("avx"
+qt_feature("avx" PRIVATE
LABEL "AVX"
CONDITION QT_FEATURE_sse4_2 AND TEST_subarch_avx AND ( NOT ANDROID OR NOT ( TEST_architecture_arch STREQUAL x86_64 ) )
)
qt_feature_definition("avx" "QT_COMPILER_SUPPORTS_AVX" VALUE "1")
qt_feature_config("avx" QMAKE_PRIVATE_CONFIG)
-qt_feature("f16c"
+qt_feature("f16c" PRIVATE
LABEL "F16C"
CONDITION QT_FEATURE_avx AND TEST_subarch_f16c
)
@@ -710,79 +685,79 @@ qt_feature("avx2" PRIVATE
)
qt_feature_definition("avx2" "QT_COMPILER_SUPPORTS_AVX2" VALUE "1")
qt_feature_config("avx2" QMAKE_PRIVATE_CONFIG)
-qt_feature("avx512f"
+qt_feature("avx512f" PRIVATE
LABEL "F"
CONDITION QT_FEATURE_avx2 AND TEST_subarch_avx512f
)
qt_feature_definition("avx512f" "QT_COMPILER_SUPPORTS_AVX512F" VALUE "1")
qt_feature_config("avx512f" QMAKE_PRIVATE_CONFIG)
-qt_feature("avx512er"
+qt_feature("avx512er" PRIVATE
LABEL "ER"
CONDITION QT_FEATURE_avx512f AND TEST_subarch_avx512er
)
qt_feature_definition("avx512er" "QT_COMPILER_SUPPORTS_AVX512ER" VALUE "1")
qt_feature_config("avx512er" QMAKE_PRIVATE_CONFIG)
-qt_feature("avx512cd"
+qt_feature("avx512cd" PRIVATE
LABEL "CD"
CONDITION QT_FEATURE_avx512f AND TEST_subarch_avx512cd
)
qt_feature_definition("avx512cd" "QT_COMPILER_SUPPORTS_AVX512CD" VALUE "1")
qt_feature_config("avx512cd" QMAKE_PRIVATE_CONFIG)
-qt_feature("avx512pf"
+qt_feature("avx512pf" PRIVATE
LABEL "PF"
CONDITION QT_FEATURE_avx512f AND TEST_subarch_avx512pf
)
qt_feature_definition("avx512pf" "QT_COMPILER_SUPPORTS_AVX512PF" VALUE "1")
qt_feature_config("avx512pf" QMAKE_PRIVATE_CONFIG)
-qt_feature("avx512dq"
+qt_feature("avx512dq" PRIVATE
LABEL "DQ"
CONDITION QT_FEATURE_avx512f AND TEST_subarch_avx512dq
)
qt_feature_definition("avx512dq" "QT_COMPILER_SUPPORTS_AVX512DQ" VALUE "1")
qt_feature_config("avx512dq" QMAKE_PRIVATE_CONFIG)
-qt_feature("avx512bw"
+qt_feature("avx512bw" PRIVATE
LABEL "BW"
CONDITION QT_FEATURE_avx512f AND TEST_subarch_avx512bw
)
qt_feature_definition("avx512bw" "QT_COMPILER_SUPPORTS_AVX512BW" VALUE "1")
qt_feature_config("avx512bw" QMAKE_PRIVATE_CONFIG)
-qt_feature("avx512vl"
+qt_feature("avx512vl" PRIVATE
LABEL "VL"
CONDITION QT_FEATURE_avx512f AND TEST_subarch_avx512vl
)
qt_feature_definition("avx512vl" "QT_COMPILER_SUPPORTS_AVX512VL" VALUE "1")
qt_feature_config("avx512vl" QMAKE_PRIVATE_CONFIG)
-qt_feature("avx512ifma"
+qt_feature("avx512ifma" PRIVATE
LABEL "IFMA"
CONDITION QT_FEATURE_avx512f AND TEST_subarch_avx512ifma
)
qt_feature_definition("avx512ifma" "QT_COMPILER_SUPPORTS_AVX512IFMA" VALUE "1")
qt_feature_config("avx512ifma" QMAKE_PRIVATE_CONFIG)
-qt_feature("avx512vbmi"
+qt_feature("avx512vbmi" PRIVATE
LABEL "VBMI"
CONDITION QT_FEATURE_avx512f AND TEST_subarch_avx512vbmi
)
qt_feature_definition("avx512vbmi" "QT_COMPILER_SUPPORTS_AVX512VBMI" VALUE "1")
qt_feature_config("avx512vbmi" QMAKE_PRIVATE_CONFIG)
-qt_feature("aesni"
+qt_feature("aesni" PRIVATE
LABEL "AES"
CONDITION QT_FEATURE_sse2 AND TEST_subarch_aesni
)
qt_feature_definition("aesni" "QT_COMPILER_SUPPORTS_AES" VALUE "1")
qt_feature_config("aesni" QMAKE_PRIVATE_CONFIG)
-qt_feature("rdrnd"
+qt_feature("rdrnd" PRIVATE
LABEL "RDRAND"
CONDITION TEST_subarch_rdrnd
)
qt_feature_definition("rdrnd" "QT_COMPILER_SUPPORTS_RDRND" VALUE "1")
qt_feature_config("rdrnd" QMAKE_PRIVATE_CONFIG)
-qt_feature("rdseed"
+qt_feature("rdseed" PRIVATE
LABEL "RDSEED"
CONDITION TEST_subarch_rdseed
)
qt_feature_definition("rdseed" "QT_COMPILER_SUPPORTS_RDSEED" VALUE "1")
qt_feature_config("rdseed" QMAKE_PRIVATE_CONFIG)
-qt_feature("shani"
+qt_feature("shani" PRIVATE
LABEL "SHA"
CONDITION QT_FEATURE_sse2 AND TEST_subarch_shani
)
@@ -794,19 +769,19 @@ qt_feature("x86SimdAlways"
)
qt_feature_definition("x86SimdAlways" "QT_COMPILER_SUPPORTS_SIMD_ALWAYS" VALUE "1")
qt_feature_config("x86SimdAlways" QMAKE_PRIVATE_CONFIG)
-qt_feature("mips_dsp"
+qt_feature("mips_dsp" PRIVATE
LABEL "DSP"
CONDITION ( TEST_architecture_arch STREQUAL mips ) AND TEST_arch_${TEST_architecture_arch}_subarch_dsp
)
qt_feature_definition("mips_dsp" "QT_COMPILER_SUPPORTS_MIPS_DSP" VALUE "1")
qt_feature_config("mips_dsp" QMAKE_PRIVATE_CONFIG)
-qt_feature("mips_dspr2"
+qt_feature("mips_dspr2" PRIVATE
LABEL "DSPr2"
CONDITION ( TEST_architecture_arch STREQUAL mips ) AND TEST_arch_${TEST_architecture_arch}_subarch_dspr2
)
qt_feature_definition("mips_dspr2" "QT_COMPILER_SUPPORTS_MIPS_DSPR2" VALUE "1")
qt_feature_config("mips_dspr2" QMAKE_PRIVATE_CONFIG)
-qt_feature("neon"
+qt_feature("neon" PRIVATE
LABEL "NEON"
CONDITION ( ( TEST_architecture_arch STREQUAL arm ) OR ( TEST_architecture_arch STREQUAL arm64 ) ) AND TEST_arch_${TEST_architecture_arch}_subarch_neon
)
@@ -834,7 +809,7 @@ qt_feature("stack-protector-strong" PRIVATE
)
qt_feature("system-zlib" PRIVATE
LABEL "Using system zlib"
- CONDITION ZLIB_FOUND
+ CONDITION WrapZLIB_FOUND
)
qt_feature("zstd" PRIVATE
LABEL "Zstandard support"
@@ -862,7 +837,7 @@ qt_feature_definition("concurrent" "QT_NO_CONCURRENT" NEGATE VALUE "1")
qt_feature("dbus" PUBLIC PRIVATE
LABEL "Qt D-Bus"
AUTODETECT NOT UIKIT AND NOT ANDROID
- CONDITION QT_FEATURE_thread
+ CONDITION QT_FEATURE_thread AND NOT WASM
)
qt_feature_definition("dbus" "QT_NO_DBUS" NEGATE VALUE "1")
qt_feature("dbus-linked" PRIVATE
@@ -885,9 +860,13 @@ qt_feature_config("gui" QMAKE_PUBLIC_QT_CONFIG
qt_feature("network" PRIVATE
LABEL "Qt Network"
)
+qt_feature("printsupport" PRIVATE
+ LABEL "Qt PrintSupport"
+ CONDITION QT_FEATURE_widgets
+)
qt_feature("sql" PRIVATE
LABEL "Qt Sql"
- CONDITION QT_FEATURE_thread
+ CONDITION QT_FEATURE_thread AND NOT WASM
)
qt_feature("testlib" PRIVATE
LABEL "Qt Testlib"
@@ -954,7 +933,7 @@ qt_configure_add_summary_entry(
)
qt_configure_add_summary_entry(
TYPE "firstAvailableFeature"
- ARGS "c++2a c++17 c++14 c++11"
+ ARGS "c++20 c++17 c++14 c++11"
MESSAGE "Using C++ standard"
)
qt_configure_add_summary_entry(
@@ -1055,6 +1034,7 @@ qt_configure_add_summary_entry(ARGS "pkg-config")
qt_configure_add_summary_entry(ARGS "libudev")
qt_configure_add_summary_entry(ARGS "system-zlib")
qt_configure_add_summary_entry(ARGS "zstd")
+qt_configure_add_summary_entry(ARGS "thread")
qt_configure_end_summary_section() # end of "Support enabled for" section
qt_configure_add_report_entry(
TYPE NOTE
@@ -1062,6 +1042,11 @@ qt_configure_add_report_entry(
CONDITION NOT QT_FEATURE_shared
)
qt_configure_add_report_entry(
+ TYPE NOTE
+ MESSAGE "Using pthreads"
+ CONDITION QT_FEATURE_thread
+)
+qt_configure_add_report_entry(
TYPE ERROR
MESSAGE "Debug build wihtout Release build is not currently supported on ios see QTBUG-71990. Use -debug-and-release."
CONDITION IOS AND QT_FEATURE_debug AND NOT QT_FEATURE_debug_and_release
diff --git a/.qmake.conf b/.qmake.conf
index f28374084b..613c95c97d 100644
--- a/.qmake.conf
+++ b/.qmake.conf
@@ -6,4 +6,4 @@ DEFINES += QT_NO_JAVA_STYLE_ITERATORS
QT_SOURCE_TREE = $$PWD
QT_BUILD_TREE = $$shadowed($$PWD)
-MODULE_VERSION = 6.1.0
+MODULE_VERSION = 6.2.0
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5fb65fbd28..76c08084d3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -25,7 +25,7 @@ qt_internal_check_for_suitable_cmake_version()
# Run auto detection routines, but not when doing standalone tests. In that case, the detection
# results are taken from either QtBuildInternals or the qt.toolchain.cmake file. Also, inhibit
# auto-detection in a top-level build, because the top-level project file already includes it.
-if(NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_SUPER_BUILD)
+if(NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_SUPERBUILD)
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/QtAutoDetect.cmake)
endif()
@@ -50,6 +50,9 @@ if(NOT QT_BUILD_STANDALONE_TESTS)
if(MACOS)
# Add module directory to pick up custom Info.plist template
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/macos")
+ elseif(IOS)
+ # Add module directory to pick up custom Info.plist template
+ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/ios")
endif()
## Find the build internals package.
@@ -71,6 +74,10 @@ if(NOT QT_BUILD_STANDALONE_TESTS)
option(BUILD_SHARED_LIBS "Build Qt statically or dynamically" ON)
set(QT_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS})
+ # This variable is also set in Qt6CoreConfigExtras.cmake, but it's not loaded when building
+ # qtbase. Set it here so qt_add_plugin can compute the proper plugin flavor.
+ set(QT6_IS_SHARED_LIBS_BUILD ${BUILD_SHARED_LIBS})
+
## Should this Qt be built with Werror?
option(WARNINGS_ARE_ERRORS "Build Qt with warnings as errors" ${FEATURE_developer_build})
@@ -94,6 +101,12 @@ if(NOT QT_BUILD_STANDALONE_TESTS)
# Needed when building qtbase for android.
include(src/corelib/Qt6AndroidMacros.cmake)
+ if(WASM)
+ # Needed when building for WebAssembly.
+ include(cmake/QtWasmHelpers.cmake)
+ qt_internal_setup_wasm_target_properties(Platform)
+ endif()
+
# Set up optimization flags like in qmake.
# This function must be called after the global QT_FEATURE_xxx variables have been set up,
# aka after QtBaseGlobalTargets is processed.
@@ -116,7 +129,7 @@ if(QT_BUILD_TESTS)
endif()
if(NOT QT_BUILD_STANDALONE_TESTS)
- if(QT_WILL_BUILD_TOOLS)
+ if(QT_WILL_BUILD_TOOLS AND QT_FEATURE_settings)
add_subdirectory(qmake)
endif()
# As long as we use the mkspecs (for qplatformdefs.h), we need to always
diff --git a/bin/fixqt4headers.pl b/bin/fixqt4headers.pl
deleted file mode 100755
index b572f469dc..0000000000
--- a/bin/fixqt4headers.pl
+++ /dev/null
@@ -1,179 +0,0 @@
-#!/usr/bin/env perl
-#############################################################################
-##
-## Copyright (C) 2016 The Qt Company Ltd.
-## Contact: https://www.qt.io/licensing/
-##
-## This file is part of the porting tools of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see https://www.qt.io/terms-conditions. For further
-## information use the contact form at https://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 3 as published by the Free Software
-## Foundation and appearing in the file LICENSE.LGPL3 included in the
-## packaging of this file. Please review the following information to
-## ensure the GNU Lesser General Public License version 3 requirements
-## will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-##
-## GNU General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU
-## General Public License version 2.0 or (at your option) the GNU General
-## Public license version 3 or any later version approved by the KDE Free
-## Qt Foundation. The licenses are as published by the Free Software
-## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-## included in the packaging of this file. Please review the following
-## information to ensure the GNU General Public License requirements will
-## be met: https://www.gnu.org/licenses/gpl-2.0.html and
-## https://www.gnu.org/licenses/gpl-3.0.html.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-
-use Cwd;
-use File::Find;
-use File::Spec;
-use IO::File;
-use Getopt::Long;
-use strict;
-use warnings;
-
-my $dry_run = 0;
-my $help = 0;
-my $stripModule = 0;
-my $fixedFileCount = 0;
-my $fileCount = 0;
-my $verbose = 0;
-my $qtdir;
-my $qtIncludeDir;
-
-my $USAGE=<<EOF;
-This script replaces all Qt 4 style includes with Qt 5 includes.
-
-Usage: $0 [options]
-
-Options:
- --dry-run : Do not replace anything, just print what would be replaced
- --strip-modules : Strip the module headers for writing portable code
- --verbose : Verbose
- --qtdir <directory> : Point to Qt 5's qtbase directory
-EOF
-
-if (!GetOptions('dry-run' => \$dry_run, 'help' => \$help,
- 'strip-modules' => \$stripModule, 'verbose' => \$verbose, 'qtdir:s' => \$qtdir)
- || $help) {
- print $USAGE;
- exit (1);
-}
-
-my %headerSubst = ();
-my $cwd = getcwd();
-
-sub fixHeaders
-{
- my $fileName = $File::Find::name;
- my $relFileName = File::Spec->abs2rel($fileName, $cwd);
-
- # only check sources, also ignore symbolic links and directories
- return unless -f $fileName && $fileName =~ /(\.h|\.cpp|\/C|\.cc|\.CC)$/;
-
- my $inFile = new IO::File('<' . $fileName) or die ('Unable to open ' . $fileName . ': ' . $!);
- $fileCount++;
- my @affectedClasses;
- my @outLines;
-
- while (my $line = <$inFile>) {
- if ($line =~ /^#(\s*)include(\s*)<.*?\/(.*?)>(.*)/) {
- my $newHeader = $headerSubst{$3};
- if ($newHeader) {
- $line = '#' . $1 . 'include' . $2 . '<' . $newHeader . '>' . $4 . "\n";
- push(@affectedClasses, $3);
- }
- } elsif ($line =~ /^#(\s*)include(\s*)<QtGui>(.*)/) {
- $line = '#' . $1 . 'include' . $2 . '<QtWidgets>' . $3 . "\n";
- push(@affectedClasses, 'QtGui');
- }
- push(@outLines, $line);
- }
- $inFile->close();
-
- if (scalar(@affectedClasses)) {
- $fixedFileCount++;
- print $relFileName, ': ', join(', ', @affectedClasses), "\n" if ($verbose || $dry_run);
- if (!$dry_run) {
- my $outFile = new IO::File('>' . $fileName) or die ('Unable to open ' . $fileName . ': ' . $!);
- map { print $outFile $_; } @outLines;
- $outFile->close();
- }
- } else {
- print $relFileName, ": no modification.\n" if ($verbose || $dry_run);
- }
-}
-
-sub findQtHeaders
-{
- my ($dirName,$includeDir) = @_;
-
- local (*DIR);
-
- my $moduleIncludeDir = $includeDir . '/' . $dirName;
- opendir(DIR, $moduleIncludeDir) || die ('Unable to open ' . $moduleIncludeDir . ': ' . $!);
- my @headers = readdir(DIR);
- closedir(DIR);
-
- foreach my $header (@headers) {
- next if (-d ($moduleIncludeDir . '/' . $header) || $header =~ /\.pri$/);
- $headerSubst{$header} = $stripModule ? $header : ($dirName . '/' . $header);
- }
-}
-
-# -------- MAIN
-
-if ($qtdir) {
- $qtIncludeDir = $qtdir . '/include';
-} else {
- $qtIncludeDir = `qmake -query QT_INSTALL_HEADERS`;
- chop($qtIncludeDir);
-}
-
-die "The location of the Qt 5 include files could not be determined.\n"
- ."Please ensure qmake can be found in PATH or pass the command line option --qtdir.\n"
- unless -d $qtIncludeDir;
-
-findQtHeaders('QtCore', $qtIncludeDir);
-findQtHeaders('QtConcurrent', $qtIncludeDir);
-findQtHeaders('QtWidgets', $qtIncludeDir);
-findQtHeaders('QtPrintSupport', $qtIncludeDir);
-
-if (-d $qtIncludeDir . '/include/QtMultimedia') {
- findQtHeaders('QtMultimedia', $qtIncludeDir);
- findQtHeaders('QtMultimediaWidgets', $qtIncludeDir);
-} elsif (-d $qtIncludeDir . '/../qtmultimedia' ) {
- # This is the case if QTDIR points to a source tree instead of an installed Qt
- findQtHeaders('QtMultimedia', $qtIncludeDir . '/../qtmultimedia');
- findQtHeaders('QtMultimediaWidgets', $qtIncludeDir . '/../qtmultimedia');
-}
-
-# Support porting from "Qt 4.99" QtDeclarative to QtQuick (QQuickItem et al)
-if (-d $qtIncludeDir . '/include/QtQuick') {
- findQtHeaders('QtQuick', $qtIncludeDir);
-} elsif (-d $qtIncludeDir . '/../qtdeclarative' ) {
- # This is the case if QTDIR points to a source tree instead of an installed Qt
- findQtHeaders('QtQuick', $qtIncludeDir . '/../qtdeclarative');
-}
-
-# special case
-$headerSubst{'QtGui'} = 'QtWidgets/QtWidgets';
-
-find({ wanted => \&fixHeaders, no_chdir => 1}, $cwd);
-
-print 'Done. ', ($dry_run ? 'Checked' : 'Modified'), ' ', $fixedFileCount, ' of ', $fileCount, " file(s).\n";
diff --git a/bin/qt-cmake-private-install.cmake.in b/bin/qt-cmake-private-install.cmake.in
index 845394d02e..19dddd4fcb 100644
--- a/bin/qt-cmake-private-install.cmake.in
+++ b/bin/qt-cmake-private-install.cmake.in
@@ -1,8 +1,9 @@
# Calls cmake --install ${QT_BUILD_DIR} --config <config> for each config
# with which Qt was built with.
# This is required to enable installation of all configurations of
-# a Qt built with Ninja Multi-Config until the following issue is fixed.
+# a Qt built with Ninja Multi-Config until the following issues are fixed:
# https://gitlab.kitware.com/cmake/cmake/-/issues/20713
+# https://gitlab.kitware.com/cmake/cmake/-/issues/21475
set(configs "@__qt_configured_configs@")
if(NOT QT_BUILD_DIR)
message(FATAL_ERROR "No QT_BUILD_DIR value provided to qt-cmake-private-install.")
diff --git a/cmake/FindGLESv2.cmake b/cmake/FindGLESv2.cmake
index 56298c7773..8f3cbad5c1 100644
--- a/cmake/FindGLESv2.cmake
+++ b/cmake/FindGLESv2.cmake
@@ -60,9 +60,9 @@ find_package_handle_standard_args(GLESv2 DEFAULT_MSG ${package_args})
mark_as_advanced(${package_args})
if(GLESv2_FOUND AND NOT TARGET GLESv2::GLESv2)
- if(EMSCRIPTEN OR UIKIT)
+ if(EMSCRIPTEN OR IOS)
add_library(GLESv2::GLESv2 INTERFACE IMPORTED)
- if(UIKIT)
+ if(IOS)
# For simulator_and_device builds we can't specify the full library path, because
# it's specific to either the device or the simulator. Resort to passing a link
# flag instead.
diff --git a/cmake/FindInterbase.cmake b/cmake/FindInterbase.cmake
new file mode 100644
index 0000000000..22f866d826
--- /dev/null
+++ b/cmake/FindInterbase.cmake
@@ -0,0 +1,51 @@
+#.rst:
+# FindInterbase
+# ---------
+#
+# Try to locate the Interbase client library.
+# If found, this will define the following variables:
+#
+# ``Interbase_FOUND``
+# True if the Interbase library is available
+# ``Interbase_INCLUDE_DIR``
+# The Interbase include directories
+# ``Interbase_LIBRARY``
+# The Interbase libraries for linking
+#
+# If ``Interbase_FOUND`` is TRUE, it will also define the following
+# imported target:
+#
+# ``Interbase::Interbase``
+# The Interbase client library
+
+find_path(Interbase_INCLUDE_DIR
+ NAMES ibase.h
+ HINTS ${Interbase_INCLUDEDIR}
+)
+
+find_library(Interbase_LIBRARY
+ NAMES firebase_ms fbclient gds
+ HINTS ${Interbase_LIBDIR}
+)
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(Interbase DEFAULT_MSG Interbase_LIBRARY Interbase_INCLUDE_DIR)
+
+if(Interbase_FOUND)
+ set(Interbase_INCLUDE_DIRS "${Interbase_INCLUDE_DIR}")
+ set(Interbase_LIBRARIES "${Interbase_LIBRARY}")
+ if(NOT TARGET Interbase::Interbase)
+ add_library(Interbase::Interbase UNKNOWN IMPORTED)
+ set_target_properties(Interbase::Interbase PROPERTIES
+ IMPORTED_LOCATION "${Interbase_LIBRARIES}"
+ INTERFACE_INCLUDE_DIRECTORIES "${Interbase_INCLUDE_DIRS};")
+ endif()
+endif()
+
+mark_as_advanced(Interbase_INCLUDE_DIR Interbase_LIBRARY)
+
+include(FeatureSummary)
+set_package_properties(Interbase PROPERTIES
+ URL "https://www.embarcadero.com/products/interbase"
+ DESCRIPTION "Interbase client library")
+
diff --git a/cmake/FindPostgreSQL.cmake b/cmake/FindPostgreSQL.cmake
new file mode 100644
index 0000000000..6e27f5d8f5
--- /dev/null
+++ b/cmake/FindPostgreSQL.cmake
@@ -0,0 +1,317 @@
+# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+
+#[=======================================================================[.rst:
+FindPostgreSQL
+--------------
+
+Find the PostgreSQL installation.
+
+IMPORTED Targets
+^^^^^^^^^^^^^^^^
+
+.. versionadded:: 3.14
+
+This module defines :prop_tgt:`IMPORTED` target ``PostgreSQL::PostgreSQL``
+if PostgreSQL has been found.
+
+Result Variables
+^^^^^^^^^^^^^^^^
+
+This module will set the following variables in your project:
+
+``PostgreSQL_FOUND``
+ True if PostgreSQL is found.
+``PostgreSQL_LIBRARIES``
+ the PostgreSQL libraries needed for linking
+``PostgreSQL_INCLUDE_DIRS``
+ the directories of the PostgreSQL headers
+``PostgreSQL_LIBRARY_DIRS``
+ the link directories for PostgreSQL libraries
+``PostgreSQL_VERSION_STRING``
+ the version of PostgreSQL found
+``PostgreSQL_TYPE_INCLUDE_DIR``
+ the directories of the PostgreSQL server headers
+
+Components
+^^^^^^^^^^
+
+This module contains additional ``Server`` component, that forcibly checks
+for the presence of server headers. Note that ``PostgreSQL_TYPE_INCLUDE_DIR``
+is set regardless of the presence of the ``Server`` component in find_package call.
+
+#]=======================================================================]
+
+# ----------------------------------------------------------------------------
+# History:
+# This module is derived from the module originally found in the VTK source tree.
+#
+# ----------------------------------------------------------------------------
+# Note:
+# PostgreSQL_ADDITIONAL_VERSIONS is a variable that can be used to set the
+# version number of the implementation of PostgreSQL.
+# In Windows the default installation of PostgreSQL uses that as part of the path.
+# E.g C:\Program Files\PostgreSQL\8.4.
+# Currently, the following version numbers are known to this module:
+# "11" "10" "9.6" "9.5" "9.4" "9.3" "9.2" "9.1" "9.0" "8.4" "8.3" "8.2" "8.1" "8.0"
+#
+# To use this variable just do something like this:
+# set(PostgreSQL_ADDITIONAL_VERSIONS "9.2" "8.4.4")
+# before calling find_package(PostgreSQL) in your CMakeLists.txt file.
+# This will mean that the versions you set here will be found first in the order
+# specified before the default ones are searched.
+#
+# ----------------------------------------------------------------------------
+# You may need to manually set:
+# PostgreSQL_INCLUDE_DIR - the path to where the PostgreSQL include files are.
+# PostgreSQL_LIBRARY_DIR - The path to where the PostgreSQL library files are.
+# If FindPostgreSQL.cmake cannot find the include files or the library files.
+#
+# ----------------------------------------------------------------------------
+# The following variables are set if PostgreSQL is found:
+# PostgreSQL_FOUND - Set to true when PostgreSQL is found.
+# PostgreSQL_INCLUDE_DIRS - Include directories for PostgreSQL
+# PostgreSQL_LIBRARY_DIRS - Link directories for PostgreSQL libraries
+# PostgreSQL_LIBRARIES - The PostgreSQL libraries.
+#
+# The ``PostgreSQL::PostgreSQL`` imported target is also created.
+#
+# ----------------------------------------------------------------------------
+# If you have installed PostgreSQL in a non-standard location.
+# (Please note that in the following comments, it is assumed that <Your Path>
+# points to the root directory of the include directory of PostgreSQL.)
+# Then you have three options.
+# 1) After CMake runs, set PostgreSQL_INCLUDE_DIR to <Your Path>/include and
+# PostgreSQL_LIBRARY_DIR to wherever the library pq (or libpq in windows) is
+# 2) Use CMAKE_INCLUDE_PATH to set a path to <Your Path>/PostgreSQL<-version>. This will allow find_path()
+# to locate PostgreSQL_INCLUDE_DIR by utilizing the PATH_SUFFIXES option. e.g. In your CMakeLists.txt file
+# set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "<Your Path>/include")
+# 3) Set an environment variable called ${PostgreSQL_ROOT} that points to the root of where you have
+# installed PostgreSQL, e.g. <Your Path>.
+#
+# ----------------------------------------------------------------------------
+
+if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.20")
+ include("${CMAKE_ROOT}/Modules/FindPostgreSQL.cmake")
+ return()
+endif()
+
+cmake_policy(PUSH)
+cmake_policy(SET CMP0057 NEW) # if IN_LIST
+
+set(PostgreSQL_INCLUDE_PATH_DESCRIPTION "top-level directory containing the PostgreSQL include directories. E.g /usr/local/include/PostgreSQL/8.4 or C:/Program Files/PostgreSQL/8.4/include")
+set(PostgreSQL_INCLUDE_DIR_MESSAGE "Set the PostgreSQL_INCLUDE_DIR cmake cache entry to the ${PostgreSQL_INCLUDE_PATH_DESCRIPTION}")
+set(PostgreSQL_LIBRARY_PATH_DESCRIPTION "top-level directory containing the PostgreSQL libraries.")
+set(PostgreSQL_LIBRARY_DIR_MESSAGE "Set the PostgreSQL_LIBRARY_DIR cmake cache entry to the ${PostgreSQL_LIBRARY_PATH_DESCRIPTION}")
+set(PostgreSQL_ROOT_DIR_MESSAGE "Set the PostgreSQL_ROOT system variable to where PostgreSQL is found on the machine E.g C:/Program Files/PostgreSQL/8.4")
+
+
+set(PostgreSQL_KNOWN_VERSIONS ${PostgreSQL_ADDITIONAL_VERSIONS}
+ "13" "12" "11" "10" "9.6" "9.5" "9.4" "9.3" "9.2" "9.1" "9.0" "8.4" "8.3" "8.2" "8.1" "8.0")
+
+# Define additional search paths for root directories.
+set( PostgreSQL_ROOT_DIRECTORIES
+ ENV PostgreSQL_ROOT
+ ${PostgreSQL_ROOT}
+)
+foreach(suffix ${PostgreSQL_KNOWN_VERSIONS})
+ if(WIN32)
+ list(APPEND PostgreSQL_LIBRARY_ADDITIONAL_SEARCH_SUFFIXES
+ "PostgreSQL/${suffix}/lib")
+ list(APPEND PostgreSQL_INCLUDE_ADDITIONAL_SEARCH_SUFFIXES
+ "PostgreSQL/${suffix}/include")
+ list(APPEND PostgreSQL_TYPE_ADDITIONAL_SEARCH_SUFFIXES
+ "PostgreSQL/${suffix}/include/server")
+ endif()
+ if(UNIX)
+ list(APPEND PostgreSQL_LIBRARY_ADDITIONAL_SEARCH_SUFFIXES
+ "postgresql${suffix}"
+ "pgsql-${suffix}/lib")
+ list(APPEND PostgreSQL_INCLUDE_ADDITIONAL_SEARCH_SUFFIXES
+ "postgresql${suffix}"
+ "postgresql/${suffix}"
+ "pgsql-${suffix}/include")
+ list(APPEND PostgreSQL_TYPE_ADDITIONAL_SEARCH_SUFFIXES
+ "postgresql${suffix}/server"
+ "postgresql/${suffix}/server"
+ "pgsql-${suffix}/include/server")
+ endif()
+endforeach()
+
+#
+# Look for an installation.
+#
+find_path(PostgreSQL_INCLUDE_DIR
+ NAMES libpq-fe.h
+ PATHS
+ # Look in other places.
+ ${PostgreSQL_ROOT_DIRECTORIES}
+ PATH_SUFFIXES
+ pgsql
+ postgresql
+ include
+ ${PostgreSQL_INCLUDE_ADDITIONAL_SEARCH_SUFFIXES}
+ # Help the user find it if we cannot.
+ DOC "The ${PostgreSQL_INCLUDE_DIR_MESSAGE}"
+)
+
+find_path(PostgreSQL_TYPE_INCLUDE_DIR
+ NAMES catalog/pg_type.h
+ PATHS
+ # Look in other places.
+ ${PostgreSQL_ROOT_DIRECTORIES}
+ PATH_SUFFIXES
+ postgresql
+ pgsql/server
+ postgresql/server
+ include/server
+ ${PostgreSQL_TYPE_ADDITIONAL_SEARCH_SUFFIXES}
+ # Help the user find it if we cannot.
+ DOC "The ${PostgreSQL_INCLUDE_DIR_MESSAGE}"
+)
+
+# The PostgreSQL library.
+set (PostgreSQL_LIBRARY_TO_FIND pq)
+# Setting some more prefixes for the library
+set (PostgreSQL_LIB_PREFIX "")
+if ( WIN32 )
+ set (PostgreSQL_LIB_PREFIX ${PostgreSQL_LIB_PREFIX} "lib")
+ set (PostgreSQL_LIBRARY_TO_FIND ${PostgreSQL_LIB_PREFIX}${PostgreSQL_LIBRARY_TO_FIND})
+endif()
+
+function(__postgresql_find_library _name)
+ find_library(${_name}
+ NAMES ${ARGN}
+ PATHS
+ ${PostgreSQL_ROOT_DIRECTORIES}
+ PATH_SUFFIXES
+ lib
+ ${PostgreSQL_LIBRARY_ADDITIONAL_SEARCH_SUFFIXES}
+ # Help the user find it if we cannot.
+ DOC "The ${PostgreSQL_LIBRARY_DIR_MESSAGE}"
+ )
+endfunction()
+
+# For compatibility with versions prior to this multi-config search, honor
+# any PostgreSQL_LIBRARY that is already specified and skip the search.
+if(PostgreSQL_LIBRARY)
+ set(PostgreSQL_LIBRARIES "${PostgreSQL_LIBRARY}")
+ get_filename_component(PostgreSQL_LIBRARY_DIR "${PostgreSQL_LIBRARY}" PATH)
+else()
+ __postgresql_find_library(PostgreSQL_LIBRARY_RELEASE ${PostgreSQL_LIBRARY_TO_FIND})
+ __postgresql_find_library(PostgreSQL_LIBRARY_DEBUG ${PostgreSQL_LIBRARY_TO_FIND}d)
+ include(SelectLibraryConfigurations)
+ select_library_configurations(PostgreSQL)
+ mark_as_advanced(PostgreSQL_LIBRARY_RELEASE PostgreSQL_LIBRARY_DEBUG)
+ if(PostgreSQL_LIBRARY_RELEASE)
+ get_filename_component(PostgreSQL_LIBRARY_DIR "${PostgreSQL_LIBRARY_RELEASE}" PATH)
+ elseif(PostgreSQL_LIBRARY_DEBUG)
+ get_filename_component(PostgreSQL_LIBRARY_DIR "${PostgreSQL_LIBRARY_DEBUG}" PATH)
+ else()
+ set(PostgreSQL_LIBRARY_DIR "")
+ endif()
+endif()
+
+if (PostgreSQL_INCLUDE_DIR)
+ # Some platforms include multiple pg_config.hs for multi-lib configurations
+ # This is a temporary workaround. A better solution would be to compile
+ # a dummy c file and extract the value of the symbol.
+ file(GLOB _PG_CONFIG_HEADERS "${PostgreSQL_INCLUDE_DIR}/pg_config*.h")
+ foreach(_PG_CONFIG_HEADER ${_PG_CONFIG_HEADERS})
+ if(EXISTS "${_PG_CONFIG_HEADER}")
+ file(STRINGS "${_PG_CONFIG_HEADER}" pgsql_version_str
+ REGEX "^#define[\t ]+PG_VERSION_NUM[\t ]+.*")
+ if(pgsql_version_str)
+ string(REGEX REPLACE "^#define[\t ]+PG_VERSION_NUM[\t ]+([0-9]*).*"
+ "\\1" _PostgreSQL_VERSION_NUM "${pgsql_version_str}")
+ break()
+ endif()
+ endif()
+ endforeach()
+ if (_PostgreSQL_VERSION_NUM)
+ # 9.x and older encoding
+ if (_PostgreSQL_VERSION_NUM LESS 100000)
+ math(EXPR _PostgreSQL_major_version "${_PostgreSQL_VERSION_NUM} / 10000")
+ math(EXPR _PostgreSQL_minor_version "${_PostgreSQL_VERSION_NUM} % 10000 / 100")
+ math(EXPR _PostgreSQL_patch_version "${_PostgreSQL_VERSION_NUM} % 100")
+ set(PostgreSQL_VERSION_STRING "${_PostgreSQL_major_version}.${_PostgreSQL_minor_version}.${_PostgreSQL_patch_version}")
+ unset(_PostgreSQL_major_version)
+ unset(_PostgreSQL_minor_version)
+ unset(_PostgreSQL_patch_version)
+ else ()
+ math(EXPR _PostgreSQL_major_version "${_PostgreSQL_VERSION_NUM} / 10000")
+ math(EXPR _PostgreSQL_minor_version "${_PostgreSQL_VERSION_NUM} % 10000")
+ set(PostgreSQL_VERSION_STRING "${_PostgreSQL_major_version}.${_PostgreSQL_minor_version}")
+ unset(_PostgreSQL_major_version)
+ unset(_PostgreSQL_minor_version)
+ endif ()
+ else ()
+ foreach(_PG_CONFIG_HEADER ${_PG_CONFIG_HEADERS})
+ if(EXISTS "${_PG_CONFIG_HEADER}")
+ file(STRINGS "${_PG_CONFIG_HEADER}" pgsql_version_str
+ REGEX "^#define[\t ]+PG_VERSION[\t ]+\".*\"")
+ if(pgsql_version_str)
+ string(REGEX REPLACE "^#define[\t ]+PG_VERSION[\t ]+\"([^\"]*)\".*"
+ "\\1" PostgreSQL_VERSION_STRING "${pgsql_version_str}")
+ break()
+ endif()
+ endif()
+ endforeach()
+ endif ()
+ unset(_PostgreSQL_VERSION_NUM)
+ unset(pgsql_version_str)
+endif()
+
+if("Server" IN_LIST PostgreSQL_FIND_COMPONENTS)
+ set(PostgreSQL_Server_FOUND TRUE)
+ if(NOT PostgreSQL_TYPE_INCLUDE_DIR)
+ set(PostgreSQL_Server_FOUND FALSE)
+ endif()
+endif()
+
+# Did we find anything?
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(PostgreSQL
+ REQUIRED_VARS PostgreSQL_LIBRARY PostgreSQL_INCLUDE_DIR
+ HANDLE_COMPONENTS
+ VERSION_VAR PostgreSQL_VERSION_STRING)
+set(PostgreSQL_FOUND ${POSTGRESQL_FOUND})
+
+function(__postgresql_import_library _target _var _config)
+ if(_config)
+ set(_config_suffix "_${_config}")
+ else()
+ set(_config_suffix "")
+ endif()
+
+ set(_lib "${${_var}${_config_suffix}}")
+ if(EXISTS "${_lib}")
+ if(_config)
+ set_property(TARGET ${_target} APPEND PROPERTY
+ IMPORTED_CONFIGURATIONS ${_config})
+ endif()
+ set_target_properties(${_target} PROPERTIES
+ IMPORTED_LOCATION${_config_suffix} "${_lib}")
+ endif()
+endfunction()
+
+# Now try to get the include and library path.
+if(PostgreSQL_FOUND)
+ set(PostgreSQL_INCLUDE_DIRS ${PostgreSQL_INCLUDE_DIR})
+ if(PostgreSQL_TYPE_INCLUDE_DIR)
+ list(APPEND PostgreSQL_INCLUDE_DIRS ${PostgreSQL_TYPE_INCLUDE_DIR})
+ endif()
+ set(PostgreSQL_LIBRARY_DIRS ${PostgreSQL_LIBRARY_DIR})
+ if (NOT TARGET PostgreSQL::PostgreSQL)
+ add_library(PostgreSQL::PostgreSQL UNKNOWN IMPORTED)
+ set_target_properties(PostgreSQL::PostgreSQL PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${PostgreSQL_INCLUDE_DIRS}")
+ __postgresql_import_library(PostgreSQL::PostgreSQL PostgreSQL_LIBRARY "")
+ __postgresql_import_library(PostgreSQL::PostgreSQL PostgreSQL_LIBRARY "RELEASE")
+ __postgresql_import_library(PostgreSQL::PostgreSQL PostgreSQL_LIBRARY "DEBUG")
+ endif ()
+endif()
+
+mark_as_advanced(PostgreSQL_INCLUDE_DIR PostgreSQL_TYPE_INCLUDE_DIR)
+
+cmake_policy(POP)
diff --git a/cmake/FindWrapBacktrace.cmake b/cmake/FindWrapBacktrace.cmake
new file mode 100644
index 0000000000..6a6264099a
--- /dev/null
+++ b/cmake/FindWrapBacktrace.cmake
@@ -0,0 +1,17 @@
+if(TARGET WrapBacktrace::WrapBacktrace)
+ set(WrapBacktrace_FOUND ON)
+ return()
+endif()
+
+find_package(Backtrace)
+
+if(Backtrace_FOUND)
+ add_library(WrapBacktrace::WrapBacktrace INTERFACE IMPORTED)
+ target_link_libraries(WrapBacktrace::WrapBacktrace
+ INTERFACE ${Backtrace_LIBRARY})
+ target_include_directories(WrapBacktrace::WrapBacktrace
+ INTERFACE ${Backtrace_INCLUDE_DIR})
+ set(WrapBacktrace_FOUND ON)
+else()
+ set(WrapBacktrace_FOUND OFF)
+endif()
diff --git a/cmake/FindWrapBrotli.cmake b/cmake/FindWrapBrotli.cmake
index e01deee6e3..524cb425e4 100644
--- a/cmake/FindWrapBrotli.cmake
+++ b/cmake/FindWrapBrotli.cmake
@@ -39,5 +39,52 @@ else()
target_link_libraries(WrapBrotli::WrapBrotliCommon INTERFACE PkgConfig::libbrotlicommon)
set(WrapBrotli_FOUND ON)
endif()
+ else()
+ find_path(BROTLI_INCLUDE_DIR NAMES "brotli/decode.h")
+
+ foreach(lib_name BrotliDec BrotliEnc BrotliCommon)
+ string(TOLOWER ${lib_name} lower_lib_name)
+
+ find_library(${lib_name}_LIBRARY_RELEASE
+ NAMES ${lower_lib_name} ${lower_lib_name}-static)
+
+ find_library(${lib_name}_LIBRARY_DEBUG
+ NAMES ${lower_lib_name}d ${lower_lib_name}-staticd
+ ${lower_lib_name} ${lower_lib_name}-static)
+
+ include(SelectLibraryConfigurations)
+ select_library_configurations(${lib_name})
+
+ if (BROTLI_INCLUDE_DIR AND ${lib_name}_LIBRARY)
+ set(${lib_name}_FOUND TRUE)
+ endif()
+
+ if (${lib_name}_FOUND AND NOT TARGET WrapBrotli::Wrap${lib_name})
+ add_library(WrapBrotli::Wrap${lib_name} UNKNOWN IMPORTED)
+ set_target_properties(WrapBrotli::Wrap${lib_name} PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIR}"
+ IMPORTED_LOCATION "${${lib_name}_LIBRARY}")
+
+ if(${lib_name}_LIBRARY_RELEASE)
+ foreach(config_name RELEASE RELWITHDEBINFO MINSIZEREL)
+ set_property(TARGET WrapBrotli::Wrap${lib_name} APPEND PROPERTY
+ IMPORTED_CONFIGURATIONS ${config_name})
+ set_target_properties(WrapBrotli::Wrap${lib_name} PROPERTIES
+ IMPORTED_LOCATION_${config_name} "${${lib_name}_LIBRARY_RELEASE}")
+ endforeach()
+ endif()
+
+ if(${lib_name}_LIBRARY_DEBUG)
+ set_property(TARGET WrapBrotli::Wrap${lib_name} APPEND PROPERTY
+ IMPORTED_CONFIGURATIONS DEBUG)
+ set_target_properties(WrapBrotli::Wrap${lib_name} PROPERTIES
+ IMPORTED_LOCATION_DEBUG "${${lib_name}_LIBRARY_DEBUG}")
+ endif()
+ endif()
+ endforeach()
+
+ include(FindPackageHandleStandardArgs)
+ find_package_handle_standard_args(WrapBrotli REQUIRED_VARS
+ BrotliDec_FOUND BrotliEnc_FOUND BrotliCommon_FOUND)
endif()
endif()
diff --git a/cmake/FindWrapOpenSSL.cmake b/cmake/FindWrapOpenSSL.cmake
index 6e80862258..a09aa99518 100644
--- a/cmake/FindWrapOpenSSL.cmake
+++ b/cmake/FindWrapOpenSSL.cmake
@@ -11,6 +11,18 @@ set(WrapOpenSSL_FOUND OFF)
find_package(WrapOpenSSLHeaders ${WrapOpenSSL_FIND_VERSION})
if(OpenSSL_FOUND)
+ if(WIN32)
+ get_target_property(libType OpenSSL::Crypto TYPE)
+ if(libType STREQUAL "ALIAS")
+ get_target_property(writableLib OpenSSL::Crypto ALIASED_TARGET)
+ else()
+ set(writableLib OpenSSL::Crypto)
+ endif()
+ set_property(TARGET ${writableLib} APPEND PROPERTY INTERFACE_LINK_LIBRARIES Ws2_32 Crypt32)
+ unset(libType)
+ unset(writableLib)
+ endif()
+
set(WrapOpenSSL_FOUND ON)
add_library(WrapOpenSSL::WrapOpenSSL INTERFACE IMPORTED)
diff --git a/cmake/FindWrapZLIB.cmake b/cmake/FindWrapZLIB.cmake
new file mode 100644
index 0000000000..585dc5e95e
--- /dev/null
+++ b/cmake/FindWrapZLIB.cmake
@@ -0,0 +1,29 @@
+# We can't create the same interface imported target multiple times, CMake will complain if we do
+# that. This can happen if the find_package call is done in multiple different subdirectories.
+if(TARGET WrapZLIB::WrapZLIB)
+ set(WrapZLIB_FOUND ON)
+ return()
+endif()
+
+set(WrapZLIB_FOUND OFF)
+
+find_package(ZLIB ${WrapZLIB_FIND_VERSION})
+
+if(ZLIB_FOUND)
+ set(WrapZLIB_FOUND ON)
+
+ add_library(WrapZLIB::WrapZLIB INTERFACE IMPORTED)
+ if(APPLE)
+ # On Darwin platforms FindZLIB sets IMPORTED_LOCATION to the absolute path of the library
+ # within the framework. This ends up as an absolute path link flag, which we don't want,
+ # because that makes our .prl files un-relocatable and also breaks iOS simulator_and_device
+ # SDK switching in Xcode.
+ # Just pass a linker flag instead.
+ target_link_libraries(WrapZLIB::WrapZLIB INTERFACE "-lz")
+ else()
+ target_link_libraries(WrapZLIB::WrapZLIB INTERFACE ZLIB::ZLIB)
+ endif()
+endif()
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(WrapZLIB DEFAULT_MSG WrapZLIB_FOUND)
diff --git a/cmake/ModuleDescription.json.in b/cmake/ModuleDescription.json.in
index e29f3f176d..6aae9a4a59 100644
--- a/cmake/ModuleDescription.json.in
+++ b/cmake/ModuleDescription.json.in
@@ -1,6 +1,6 @@
{
"module_name": "${target}",
- "version": "${CMAKE_PROJECT_VERSION}",
+ "version": "${PROJECT_VERSION}",
"built_with": {
"compiler_id": "${CMAKE_CXX_COMPILER_ID}",
"compiler_target": "${CMAKE_CXX_COMPILER_TARGET}",
diff --git a/cmake/Qt3rdPartyLibraryHelpers.cmake b/cmake/Qt3rdPartyLibraryHelpers.cmake
index c784039556..27d615b2b4 100644
--- a/cmake/Qt3rdPartyLibraryHelpers.cmake
+++ b/cmake/Qt3rdPartyLibraryHelpers.cmake
@@ -19,7 +19,7 @@ function(qt_internal_add_cmake_library target)
set(is_static_lib 1)
elseif(${arg_SHARED})
add_library("${target}" SHARED)
- qt_internal_apply_win_prefix_and_suffix("${target}")
+ _qt_internal_apply_win_prefix_and_suffix("${target}")
elseif(${arg_MODULE})
add_library("${target}" MODULE)
set_property(TARGET ${name} PROPERTY C_VISIBILITY_PRESET default)
@@ -32,7 +32,7 @@ function(qt_internal_add_cmake_library target)
# but Qt plugins are actually suffixed with .dylib.
set_property(TARGET "${target}" PROPERTY SUFFIX ".dylib")
endif()
- qt_internal_apply_win_prefix_and_suffix("${target}")
+ _qt_internal_apply_win_prefix_and_suffix("${target}")
else()
add_library("${target}")
if(NOT BUILD_SHARED_LIBS)
@@ -175,19 +175,10 @@ function(qt_internal_add_3rdparty_library target)
qt_autogen_tools_initial_setup(${target})
endif()
- if(NOT arg_INTERFACE)
- # This property is used for super builds with static libraries. We use
- # it in QtPlugins.cmake.in to avoid "polluting" the dependency chain
- # for the target in it's project directory.
- # E.g: When we process find_package(Qt6 ... Gui) in QtDeclarative, the
- # rules in QtPugins.cmake add all the known Gui plugins as interface
- # dependencies. This in turn causes circular dependencies on every
- # plugin which links against Gui. Plugin A -> GUI -> Plugin A ....
- set_target_properties(${target} PROPERTIES QT_BUILD_PROJECT_NAME ${PROJECT_NAME})
- endif()
-
if(NOT arg_EXCEPTIONS AND NOT arg_INTERFACE)
- qt_internal_set_no_exceptions_flags("${target}")
+ qt_internal_set_exceptions_flags("${target}" FALSE)
+ elseif(arg_EXCEPTIONS)
+ qt_internal_set_exceptions_flags("${target}" TRUE)
endif()
qt_internal_extend_target("${target}"
diff --git a/cmake/QtAndroidHelpers.cmake b/cmake/QtAndroidHelpers.cmake
index 7e84c983a9..24233ac622 100644
--- a/cmake/QtAndroidHelpers.cmake
+++ b/cmake/QtAndroidHelpers.cmake
@@ -8,7 +8,7 @@ define_property(TARGET
BRIEF_DOCS
"Recorded install location for a Qt Module."
FULL_DOCS
- "Recorded install location for a Qt Module. Used by qt_android_dependencies()."
+ "Recorded install location for a Qt Module. Used by qt_internal_android_dependencies()."
)
@@ -65,42 +65,36 @@ define_property(TARGET
FULL_DOCS
"Qt Module android permission list."
)
-# Generate Qt Module -android-dependencies.xml required by the
-# androiddeploytoolqt to successfully copy all the plugins and other dependent
-# items into tha APK
-function(qt_android_dependencies target)
- get_target_property(target_type "${target}" TYPE)
- if(target_type STREQUAL "INTERFACE_LIBRARY")
- return()
- endif()
+define_property(TARGET
+ PROPERTY
+ QT_ANDROID_FEATURES
+ BRIEF_DOCS
+ "Qt Module android feature list."
+ FULL_DOCS
+ "Qt Module android feature list."
+)
+
+function(qt_internal_android_dependencies_content target file_content_out)
get_target_property(arg_JAR_DEPENDENCIES ${target} QT_ANDROID_JAR_DEPENDENCIES)
get_target_property(arg_BUNDLED_JAR_DEPENDENCIES ${target} QT_ANDROID_BUNDLED_JAR_DEPENDENCIES)
get_target_property(arg_LIB_DEPENDENCIES ${target} QT_ANDROID_LIB_DEPENDENCIES)
get_target_property(arg_LIB_DEPENDENCY_REPLACEMENTS ${target} QT_ANDROID_LIB_DEPENDENCY_REPLACEMENTS)
get_target_property(arg_BUNDLED_FILES ${target} QT_ANDROID_BUNDLED_FILES)
get_target_property(arg_PERMISSIONS ${target} QT_ANDROID_PERMISSIONS)
- get_target_property(module_plugins ${target} MODULE_PLUGIN_TYPES)
+ get_target_property(arg_FEATURES ${target} QT_ANDROID_FEATURES)
- if ((NOT module_plugins)
- AND (NOT arg_JAR_DEPENDENCIES)
- AND (NOT arg_LIB_DEPENDENCY_REPLACEMENTS)
- AND (NOT arg_LIB_DEPENDENCIES)
+ if ((NOT arg_JAR_DEPENDENCIES)
AND (NOT arg_BUNDLED_JAR_DEPENDENCIES)
+ AND (NOT arg_LIB_DEPENDENCIES)
+ AND (NOT arg_LIB_DEPENDENCY_REPLACEMENTS)
+ AND (NOT arg_BUNDLED_FILES)
AND (NOT arg_PERMISSIONS)
- AND (NOT arg_BUNDLED_FILES))
+ AND (NOT arg_FEATURES))
# None of the values were set, so there's nothing to do
return()
endif()
-
- get_target_property(target_output_name ${target} OUTPUT_NAME)
- if (NOT target_output_name)
- set(target_name ${target})
- else()
- set(target_name ${target_output_name})
- endif()
-
# mimic qmake's section and string splitting from
# mkspecs/feature/qt_android_deps.prf
macro(section string delimiter first second)
@@ -115,10 +109,7 @@ function(qt_android_dependencies target)
endif()
endmacro()
- set(dependency_file "${QT_BUILD_DIR}/${INSTALL_LIBDIR}/${target_name}_${CMAKE_ANDROID_ARCH_ABI}-android-dependencies.xml")
-
- set(file_contents "<rules><dependencies>\n")
- string(APPEND file_contents "<lib name=\"${target_name}_${CMAKE_ANDROID_ARCH_ABI}\"><depends>\n")
+ set(file_contents "")
# Jar Dependencies
if(arg_JAR_DEPENDENCIES)
@@ -135,11 +126,11 @@ function(qt_android_dependencies target)
# Bundled Jar Dependencies
if(arg_BUNDLED_JAR_DEPENDENCIES)
foreach(jar_bundle IN LISTS arg_BUNDLED_JAR_DEPENDENCIES)
- section(${jar_bundle} ":" bundle_file init_calss)
+ section(${jar_bundle} ":" bundle_file init_class)
if (init_class)
set(init_class "initClass=\"${init_class}\"")
endif()
- file(TO_NATIVE_PATH ${jar_bundle} jar_bundle_native)
+ file(TO_NATIVE_PATH ${bundle_file} jar_bundle_native)
string(APPEND file_contents "<jar bundling=\"1\" file=\"${jar_bundle_native}\" ${init_class} />\n")
endforeach()
endif()
@@ -171,7 +162,6 @@ function(qt_android_dependencies target)
endforeach()
endif()
-
# Bundled files
if(arg_BUNDLED_FILES)
foreach(bundled_file IN LISTS arg_BUNDLED_FILES)
@@ -180,13 +170,6 @@ function(qt_android_dependencies target)
endforeach()
endif()
- # Module plugins
- if(module_plugins)
- foreach(plugin IN LISTS module_plugins)
- string(APPEND file_contents "<bundled file=\"plugins/${plugin}\" />\n")
- endforeach()
- endif()
-
# Android Permissions
if(arg_PERMISSIONS)
foreach(permission IN LISTS arg_PERMISSIONS)
@@ -194,13 +177,74 @@ function(qt_android_dependencies target)
endforeach()
endif()
- string(APPEND file_contents "</depends></lib>")
- string(APPEND file_contents "</dependencies></rules>\n")
+ # Android Features
+ if(arg_FEATURES)
+ foreach(feature IN LISTS arg_FEATURES)
+ string(APPEND file_contents "<feature name=\"${feature}\" />\n")
+ endforeach()
+ endif()
+
+ set(${file_content_out} ${file_contents} PARENT_SCOPE)
+endfunction()
+
+# Generate Qt Module -android-dependencies.xml required by the
+# androiddeploytoolqt to successfully copy all the plugins and other dependent
+# items into the APK
+function(qt_internal_android_dependencies target)
+ get_target_property(target_type "${target}" TYPE)
+ if(target_type STREQUAL "INTERFACE_LIBRARY")
+ return()
+ endif()
+
+ # Get plugins for the current module
+ get_target_property(module_plugin_types ${target} MODULE_PLUGIN_TYPES)
+
+ # Get depends for the current module
+ qt_internal_android_dependencies_content(${target} file_contents)
+
+ # Get plugins from the module's plugin types and get their dependencies
+ foreach(plugin ${QT_KNOWN_PLUGINS})
+ get_target_property(iter_known_plugin_type ${plugin} QT_PLUGIN_TYPE)
+ foreach(plugin_type ${module_plugin_types})
+ if (plugin_type STREQUAL iter_known_plugin_type)
+ qt_internal_android_dependencies_content(${plugin} plugin_file_contents)
+ string(APPEND file_contents ${plugin_file_contents})
+ endif()
+ endforeach()
+ endforeach()
+
+ if ((NOT module_plugin_types)
+ AND (NOT file_contents))
+ # None of the values were set, so there's nothing to do
+ return()
+ endif()
+
+ get_target_property(target_output_name ${target} OUTPUT_NAME)
+ if (NOT target_output_name)
+ set(target_name ${target})
+ else()
+ set(target_name ${target_output_name})
+ endif()
+
+ string(PREPEND file_contents "<lib name=\"${target_name}_${CMAKE_ANDROID_ARCH_ABI}\"><depends>\n")
+ string(PREPEND file_contents "<rules><dependencies>\n")
+
+ # Module plugins
+ if(module_plugin_types)
+ foreach(plugin IN LISTS module_plugin_types)
+ string(APPEND file_contents "<bundled file=\"plugins/${plugin}\" />\n")
+ endforeach()
+ endif()
+
+ string(APPEND file_contents "</depends></lib>\n")
+ string(APPEND file_contents "</dependencies></rules>")
+
+ qt_path_join(dependency_file "${QT_BUILD_DIR}" "${INSTALL_LIBDIR}" "${target_name}_${CMAKE_ANDROID_ARCH_ABI}-android-dependencies.xml")
file(WRITE ${dependency_file} ${file_contents})
get_target_property(target_install_dir ${target} QT_ANDROID_MODULE_INSTALL_DIR)
if (NOT target_install_dir)
- message(SEND_ERROR "qt_android_dependencies: Target ${target} is either not a Qt Module or has no recorded install location")
+ message(SEND_ERROR "qt_internal_android_dependencies: Target ${target} is either not a Qt Module or has no recorded install location")
return()
endif()
diff --git a/cmake/QtAppHelpers.cmake b/cmake/QtAppHelpers.cmake
index ff32be0b89..c40488cc66 100644
--- a/cmake/QtAppHelpers.cmake
+++ b/cmake/QtAppHelpers.cmake
@@ -3,7 +3,7 @@
function(qt_internal_add_app target)
qt_parse_all_arguments(arg
"qt_internal_add_app"
- "NO_INSTALL"
+ "NO_INSTALL;INSTALL_VERSIONED_LINK"
"${__default_target_info_args}"
"${__default_private_args}"
${ARGN})
@@ -49,6 +49,14 @@ function(qt_internal_add_app target)
# if CONFIG += console was encountered during conversion.
set_target_properties("${target}" PROPERTIES WIN32_EXECUTABLE TRUE)
+ # Consider every app as user facing tool.
+ set_property(GLOBAL APPEND PROPERTY QT_USER_FACING_TOOL_TARGETS ${target})
+
+ # Install versioned link if requested.
+ if(NOT arg_NO_INSTALL AND arg_INSTALL_VERSIONED_LINK)
+ qt_internal_install_versioned_link("${INSTALL_BINDIR}" ${target})
+ endif()
+
qt_add_list_file_finalizer(qt_internal_finalize_app ${target})
endfunction()
diff --git a/cmake/QtAutoDetect.cmake b/cmake/QtAutoDetect.cmake
index 4518078d8d..fd62fcb406 100644
--- a/cmake/QtAutoDetect.cmake
+++ b/cmake/QtAutoDetect.cmake
@@ -5,6 +5,64 @@
# Make sure to not run detection when building standalone tests, because the detection was already
# done when initially configuring qtbase.
+
+function(qt_auto_detect_wasm)
+ if("${QT_QMAKE_TARGET_MKSPEC}" STREQUAL "wasm-emscripten" AND DEFINED ENV{EMSDK})
+ if(NOT DEFINED QT_AUTODETECT_WASM)
+ set(QT_AUTODETECT_WASM TRUE CACHE BOOL "")
+ # detect EMSCRIPTEN_ROOT path
+ file(READ "$ENV{EMSDK}/.emscripten" ver)
+ string(REGEX MATCH "EMSCRIPTEN_ROOT.*$" EMROOT "${ver}")
+ string(REGEX MATCH "'([^' ]*)'" EMROOT2 "${EMROOT}")
+ string(REPLACE "'" "" EMROOT_PATH "${EMROOT2}")
+
+ # get emscripten version
+ if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
+ set (EXECUTE_COMMANDPATH "$ENV{EMSDK}/${EMROOT_PATH}/emcc.bat")
+ else()
+ set (EXECUTE_COMMANDPATH "$ENV{EMSDK}/${EMROOT_PATH}/emcc")
+ endif()
+
+ file(TO_NATIVE_PATH "${EXECUTE_COMMANDPATH}" EXECUTE_COMMAND)
+ execute_process(COMMAND ${EXECUTE_COMMAND} --version
+ OUTPUT_VARIABLE emOutput
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ ERROR_VARIABLE emrun_error
+ RESULT_VARIABLE result)
+ if(NOT emOutput)
+ message(FATAL_ERROR
+ "Can't determine Emscripten version! Error: ${emrun_error}")
+ endif()
+ string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" CMAKE_EMSDK_REGEX_VERSION "${emOutput}")
+ set(EMCC_VERSION "${CMAKE_EMSDK_REGEX_VERSION}" CACHE STRING INTERNAL FORCE)
+
+ # find toolchain file
+ if(NOT DEFINED CMAKE_TOOLCHAIN_FILE)
+ set(wasm_toolchain_file "$ENV{EMSDK}/${EMROOT_PATH}/cmake/Modules/Platform/Emscripten.cmake")
+ set(CMAKE_TOOLCHAIN_FILE "${wasm_toolchain_file}" CACHE STRING "" FORCE)
+ endif()
+
+ if(EXISTS "${CMAKE_TOOLCHAIN_FILE}")
+ message(STATUS "Emscripten ${CMAKE_EMSDK_REGEX_VERSION} toolchain file detected at ${CMAKE_TOOLCHAIN_FILE}")
+ else()
+ message(FATAL_ERROR "Cannot find the toolchain file Emscripten.cmake. "
+ "Please specify the toolchain file with -DCMAKE_TOOLCHAIN_FILE=<file>.")
+ endif()
+
+ if(NOT DEFINED BUILD_SHARED_LIBS)
+ set(BUILD_SHARED_LIBS OFF CACHE BOOL "Build Qt statically or dynamically" FORCE)
+ endif()
+
+ if(BUILD_SHARED_LIBS)
+ message(FATAL_ERROR
+ "Building Qt for ${CMAKE_SYSTEM_NAME} as shared libraries is not supported.")
+ endif()
+ # this version of Qt needs this version of emscripten
+ set(QT_EMCC_RECOMMENDED_VERSION 2.0.14 CACHE STRING INTERNAL FORCE)
+ endif()
+ endif()
+endfunction()
+
function(qt_auto_detect_cmake_generator)
if(NOT CMAKE_GENERATOR MATCHES "Ninja" AND NOT QT_SILENCE_CMAKE_GENERATOR_WARNING)
message(WARNING
@@ -14,6 +72,37 @@ function(qt_auto_detect_cmake_generator)
endif()
endfunction()
+# Peek into CMAKE_TOOLCHAIN_FILE before it is actually loaded.
+#
+# Usage:
+# qt_autodetect_read_toolchain_file(tcf VARIABLES CMAKE_SYSTEM_NAME)
+# if(tcf_CMAKE_SYSTEM_NAME STREQUAL "Android")
+# ...we have detected Android
+# endif()
+#
+function(qt_auto_detect_read_toolchain_file prefix)
+ cmake_parse_arguments(arg "" "" "VARIABLES" ${ARGN})
+ set(script_path "${CMAKE_CURRENT_LIST_DIR}/QtLoadFilePrintVars.cmake")
+ execute_process(
+ COMMAND "${CMAKE_COMMAND}" "-DIN_FILE=${CMAKE_TOOLCHAIN_FILE}"
+ "-DVARIABLES=${arg_VARIABLES}" -P "${script_path}"
+ RESULT_VARIABLE exit_code
+ OUTPUT_VARIABLE output
+ ERROR_VARIABLE ignore)
+ if(NOT exit_code EQUAL 0)
+ message(FATAL_ERROR "Executing CMake script ${script_path} failed with code ${exit_code}.")
+ endif()
+ string(REGEX REPLACE "^.*---QtLoadFilePrintVars---\n" "" output "${output}")
+ string(REPLACE ";" "\;" output "${output}")
+ string(REPLACE "\n" ";" output "${output}")
+ foreach(line IN LISTS output)
+ string(REGEX MATCH "-- ([^ ]+) (.*)" m "${line}")
+ if(CMAKE_MATCH_1 IN_LIST arg_VARIABLES)
+ set(${prefix}_${CMAKE_MATCH_1} "${CMAKE_MATCH_2}" PARENT_SCOPE)
+ endif()
+ endforeach()
+endfunction()
+
function(qt_auto_detect_android)
# Auto-detect NDK root
if(NOT DEFINED CMAKE_ANDROID_NDK_ROOT AND DEFINED ANDROID_SDK_ROOT)
@@ -37,10 +126,8 @@ function(qt_auto_detect_android)
endif()
if(DEFINED CMAKE_TOOLCHAIN_FILE AND NOT DEFINED QT_AUTODETECT_ANDROID)
-
- file(READ ${CMAKE_TOOLCHAIN_FILE} toolchain_file_content OFFSET 0 LIMIT 80)
- string(FIND ${toolchain_file_content} "The Android Open Source Project" find_result REVERSE)
- if (NOT ${find_result} EQUAL -1)
+ qt_auto_detect_read_toolchain_file(tcf VARIABLES CMAKE_SYSTEM_NAME)
+ if(tcf_CMAKE_SYSTEM_NAME STREQUAL "Android")
set(android_detected TRUE)
else()
set(android_detected FALSE)
@@ -268,11 +355,11 @@ function(qt_auto_detect_darwin)
# macOS
set(version "10.14")
elseif(CMAKE_SYSTEM_NAME STREQUAL iOS)
- set(version "12.0")
+ set(version "13.0")
elseif(CMAKE_SYSTEM_NAME STREQUAL watchOS)
- set(version "5.0")
+ set(version "6.0")
elseif(CMAKE_SYSTEM_NAME STREQUAL tvOS)
- set(version "12.0")
+ set(version "13.0")
endif()
if(version)
set(CMAKE_OSX_DEPLOYMENT_TARGET "${version}" CACHE STRING "${description}")
@@ -284,6 +371,32 @@ function(qt_auto_detect_darwin)
qt_internal_get_xcode_version(xcode_version)
set(QT_MAC_XCODE_VERSION "${xcode_version}" CACHE STRING "Xcode version.")
+
+ set(device_names "iOS" "watchOS" "tvOS")
+ list(LENGTH CMAKE_OSX_ARCHITECTURES arch_count)
+ if(NOT CMAKE_SYSTEM_NAME IN_LIST device_names AND arch_count GREATER 0)
+ foreach(arch ${CMAKE_OSX_ARCHITECTURES})
+ if(arch STREQUAL "arm64e")
+ message(WARNING "Applications built against an arm64e Qt architecture will "
+ "likely fail to run on Apple Silicon. Consider targeting "
+ "'arm64' instead.")
+ endif()
+ endforeach()
+ endif()
+ endif()
+endfunction()
+
+function(qt_auto_detect_macos_universal)
+ set(device_names "iOS" "watchOS" "tvOS")
+ if(APPLE AND NOT CMAKE_SYSTEM_NAME IN_LIST device_names)
+ list(LENGTH CMAKE_OSX_ARCHITECTURES arch_count)
+
+ set(is_universal "OFF")
+ if(arch_count GREATER 1)
+ set(is_universal "ON")
+ endif()
+
+ set(QT_IS_MACOS_UNIVERSAL "${is_universal}" CACHE INTERNAL "Build universal Qt for macOS")
endif()
endfunction()
@@ -307,7 +420,9 @@ qt_auto_detect_cmake_generator()
qt_auto_detect_cyclic_toolchain()
qt_auto_detect_cmake_config()
qt_auto_detect_darwin()
+qt_auto_detect_macos_universal()
qt_auto_detect_ios()
qt_auto_detect_android()
qt_auto_detect_vpckg()
qt_auto_detect_pch()
+qt_auto_detect_wasm()
diff --git a/cmake/QtAutogenHelpers.cmake b/cmake/QtAutogenHelpers.cmake
index 55d04b5c36..489678bdf2 100644
--- a/cmake/QtAutogenHelpers.cmake
+++ b/cmake/QtAutogenHelpers.cmake
@@ -103,6 +103,26 @@ function(qt_manual_moc result)
set(include_expr "$<TARGET_PROPERTY:${dep},INTERFACE_INCLUDE_DIRECTORIES>")
list(APPEND moc_parameters
"$<$<BOOL:${include_expr}>:-I\n$<JOIN:${include_expr},\n-I\n>>")
+
+ if(APPLE AND TARGET ${dep})
+ get_target_property(is_versionless ${dep} _qt_is_versionless_target)
+ if(is_versionless)
+ string(REGEX REPLACE "^Qt::(.*)" "\\1" dep "${dep}")
+ set(dep "${QT_CMAKE_EXPORT_NAMESPACE}::${dep}")
+ endif()
+
+ get_target_property(alias_dep ${dep} ALIASED_TARGET)
+ if(alias_dep)
+ set(dep ${alias_dep})
+ endif()
+
+ get_target_property(loc ${dep} IMPORTED_LOCATION)
+ string(REGEX REPLACE "(.*)/Qt[^/]+\\.framework.*" "\\1" loc "${loc}")
+
+ if(loc)
+ list(APPEND moc_parameters "\n-F\n${loc}\n")
+ endif()
+ endif()
endforeach()
set(metatypes_byproducts)
diff --git a/cmake/QtBaseConfigureTests.cmake b/cmake/QtBaseConfigureTests.cmake
index af18131fcd..15d506db16 100644
--- a/cmake/QtBaseConfigureTests.cmake
+++ b/cmake/QtBaseConfigureTests.cmake
@@ -9,23 +9,30 @@ function(qt_run_config_test_architecture)
qt_get_platform_try_compile_vars(platform_try_compile_vars)
list(APPEND flags ${platform_try_compile_vars})
+ list(TRANSFORM flags PREPEND " " OUTPUT_VARIABLE flags_indented)
+ list(JOIN flags_indented "\n" flags_indented)
+ message(STATUS
+ "Building architecture extraction project with the following CMake arguments:\n${flags_indented}")
+
try_compile(
_arch_result
"${CMAKE_CURRENT_BINARY_DIR}/config.tests/arch"
"${CMAKE_CURRENT_SOURCE_DIR}/config.tests/arch"
arch
CMAKE_FLAGS ${flags}
+ OUTPUT_VARIABLE arch_test_output
)
if (NOT _arch_result)
- message(FATAL_ERROR "Failed to compile architecture detection file.")
+ message(FATAL_ERROR
+ "Failed to build architecture extraction project. Build output:\n ${arch_test_output}")
endif()
set(_arch_file_suffix "${CMAKE_EXECUTABLE_SUFFIX}")
# With emscripten the application entry point is a .js file (to be run with node for example),
# but the real "data" is in the .wasm file, so that's where we need to look for the ABI, etc.
# information.
- if (EMSCRIPTEN)
+ if (WASM)
set(_arch_file_suffix ".wasm")
endif()
@@ -34,11 +41,17 @@ function(qt_run_config_test_architecture)
string(APPEND arch_test_location "/${QT_MULTI_CONFIG_FIRST_CONFIG}")
endif()
+ set(arch_dir "${CMAKE_CURRENT_BINARY_DIR}/${arch_test_location}")
+ file(GLOB arch_dir_globbed_files RELATIVE "${arch_dir}" "${arch_dir}/*")
+ list(JOIN arch_dir_globbed_files "\n" arch_dir_globbed_files)
+
set(_arch_file
"${CMAKE_CURRENT_BINARY_DIR}/${arch_test_location}/architecture_test${_arch_file_suffix}")
if (NOT EXISTS "${_arch_file}")
message(FATAL_ERROR
- "Failed to find compiled architecture detection executable at ${_arch_file}.")
+ "Failed to find compiled architecture detection executable at ${_arch_file}. \
+ The following files were found at: ${arch_dir} \
+ ${arch_dir_globbed_files}")
endif()
message(STATUS "Extracting architecture info from ${_arch_file}.")
@@ -66,7 +79,12 @@ function(qt_run_config_test_architecture)
endforeach()
if (NOT _architecture OR NOT _build_abi)
- message(FATAL_ERROR "Failed to extract architecture data from file.")
+ list(SUBLIST _arch_lines 0 5 arch_lines_fewer)
+ list(JOIN arch_lines_fewer "\n" arch_lines_output)
+
+ message(FATAL_ERROR
+ "Failed to extract architecture data from file. \
+ Here are the first few lines extracted:\n${arch_lines_output}")
endif()
set(TEST_architecture 1 CACHE INTERNAL "Ran the architecture test")
@@ -142,9 +160,17 @@ function(qt_internal_print_cmake_darwin_info)
message(STATUS "CMAKE_OSX_DEPLOYMENT_TARGET: \"${CMAKE_OSX_DEPLOYMENT_TARGET}\"")
message(STATUS "QT_MAC_SDK_VERSION: \"${QT_MAC_SDK_VERSION}\"")
message(STATUS "QT_MAC_XCODE_VERSION: \"${QT_MAC_XCODE_VERSION}\"")
+
+ if(DEFINED CACHE{QT_IS_MACOS_UNIVERSAL})
+ message(STATUS "QT_IS_MACOS_UNIVERSAL: \"${QT_IS_MACOS_UNIVERSAL}\"")
+ endif()
if(QT_UIKIT_SDK)
message(STATUS "QT_UIKIT_SDK: \"${QT_UIKIT_SDK}\"")
endif()
+ qt_internal_get_first_osx_arch(osx_first_arch)
+ if(osx_first_arch)
+ message(STATUS "Configure tests main architecture (in multi-arch build): \"${osx_first_arch}\"")
+ endif()
endif()
endfunction()
qt_internal_print_cmake_darwin_info()
diff --git a/cmake/QtBaseGlobalTargets.cmake b/cmake/QtBaseGlobalTargets.cmake
index 03f4b4d76a..df0be95510 100644
--- a/cmake/QtBaseGlobalTargets.cmake
+++ b/cmake/QtBaseGlobalTargets.cmake
@@ -91,13 +91,27 @@ include("${CMAKE_CURRENT_SOURCE_DIR}/configure.cmake")
# Do what mkspecs/features/uikit/default_pre.prf does, aka enable sse2 for
# simulator_and_device_builds.
-if(UIKIT AND NOT QT_UIKIT_SDK)
+
+qt_internal_get_first_osx_arch(__qt_osx_first_arch)
+set(__qt_apple_silicon_arches "arm64;arm64e")
+if((UIKIT AND NOT QT_UIKIT_SDK)
+ OR (MACOS AND QT_IS_MACOS_UNIVERSAL
+ AND __qt_osx_first_arch IN_LIST __qt_apple_silicon_arches))
+ set(QT_FORCE_FEATURE_sse2 ON CACHE INTERNAL "Force enable sse2 due to platform requirements.")
set(__QtFeature_custom_enabled_cache_variables
TEST_subarch_sse2
FEATURE_sse2
QT_FEATURE_sse2)
endif()
+if(MACOS AND QT_IS_MACOS_UNIVERSAL AND __qt_osx_first_arch STREQUAL "x86_64")
+ set(QT_FORCE_FEATURE_neon ON CACHE INTERNAL "Force enable neon due to platform requirements.")
+ set(__QtFeature_custom_enabled_cache_variables
+ TEST_subarch_neon
+ FEATURE_neon
+ QT_FEATURE_neon)
+endif()
+
qt_feature_module_end(GlobalConfig OUT_VAR_PREFIX "__GlobalConfig_")
qt_generate_global_config_pri_file()
@@ -214,6 +228,7 @@ qt_copy_or_install(FILES
cmake/QtTestHelpers.cmake
cmake/QtToolchainHelpers.cmake
cmake/QtToolHelpers.cmake
+ cmake/QtWasmHelpers.cmake
cmake/QtWrapperScriptHelpers.cmake
cmake/QtWriteArgsFile.cmake
DESTINATION "${__GlobalConfig_install_dir}"
@@ -238,6 +253,11 @@ if(MACOS)
cmake/macos/MacOSXBundleInfo.plist.in
DESTINATION "${__GlobalConfig_install_dir}/macos"
)
+elseif(IOS)
+ qt_copy_or_install(FILES
+ cmake/ios/MacOSXBundleInfo.plist.in
+ DESTINATION "${__GlobalConfig_install_dir}/ios"
+ )
endif()
# Install CI support files to libexec.
diff --git a/cmake/QtBuild.cmake b/cmake/QtBuild.cmake
index cc15d9155c..f31a215a4a 100644
--- a/cmake/QtBuild.cmake
+++ b/cmake/QtBuild.cmake
@@ -121,7 +121,7 @@ qt_configure_process_path(
"Helper programs [ARCHDATADIR/bin on Windows, ARCHDATADIR/libexec otherwise]")
qt_configure_process_path(INSTALL_QMLDIR
"${INSTALL_ARCHDATADIR}/qml"
- "QML2 imports [ARCHDATADIR/qml]")
+ "QML imports [ARCHDATADIR/qml]")
qt_configure_process_path(INSTALL_DATADIR "." "Arch-independent data [PREFIX]")
qt_configure_process_path(INSTALL_DOCDIR "${INSTALL_DATADIR}/doc" "Documentation [DATADIR/doc]")
qt_configure_process_path(INSTALL_TRANSLATIONSDIR "${INSTALL_DATADIR}/translations"
@@ -208,17 +208,6 @@ endfunction()
qt_internal_set_up_global_paths()
qt_get_relocatable_install_prefix(QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX)
-# The variables might have already been set in QtBuildInternalsExtra.cmake if the file is included
-# while building a new module and not QtBase. In that case, stop overriding the value.
-if(NOT INSTALL_CMAKE_NAMESPACE)
- set(INSTALL_CMAKE_NAMESPACE "Qt${PROJECT_VERSION_MAJOR}"
- CACHE STRING "CMake namespace [Qt${PROJECT_VERSION_MAJOR}]")
-endif()
-if(NOT QT_CMAKE_EXPORT_NAMESPACE)
- set(QT_CMAKE_EXPORT_NAMESPACE "Qt${PROJECT_VERSION_MAJOR}"
- CACHE STRING "CMake namespace used when exporting targets [Qt${PROJECT_VERSION_MAJOR}]")
-endif()
-
set(QT_CMAKE_DIR "${CMAKE_CURRENT_LIST_DIR}")
# Find the path to mkspecs/, depending on whether we are building as part of a standard qtbuild,
@@ -263,13 +252,13 @@ set(CMAKE_INSTALL_RPATH "" CACHE STRING "RPATH for installed binaries")
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
function(qt_setup_tool_path_command)
- if(NOT WIN32)
+ if(NOT CMAKE_HOST_WIN32)
return()
endif()
set(bindir "${QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX}/${INSTALL_BINDIR}")
file(TO_NATIVE_PATH "${bindir}" bindir)
list(APPEND command COMMAND)
- list(APPEND command set \"PATH=${bindir}$<SEMICOLON>%PATH%\")
+ list(APPEND command set PATH=${bindir}$<SEMICOLON>%PATH%)
set(QT_TOOL_PATH_SETUP_COMMAND "${command}" CACHE INTERNAL "internal command prefix for tool invocations" FORCE)
endfunction()
qt_setup_tool_path_command()
@@ -313,7 +302,7 @@ elseif(IOS)
set(QT_DEFAULT_MKSPEC macx-ios-clang)
elseif(APPLE)
set(QT_DEFAULT_MKSPEC macx-clang)
-elseif(EMSCRIPTEN)
+elseif(WASM)
set(QT_DEFAULT_MKSPEC wasm-emscripten)
elseif(QNX)
# Certain POSIX defines are not set if we don't compile with -std=gnuXX
@@ -330,6 +319,16 @@ elseif(QNX)
set(QT_DEFAULT_MKSPEC qnx-${arch}-qcc)
endif()
endforeach()
+elseif(FREEBSD)
+ if(CLANG)
+ set(QT_DEFAULT_MKSPEC freebsd-clang)
+ elseif(GCC)
+ set(QT_DEFAULT_MKSPEC freebsd-g++)
+ endif()
+elseif(NETBSD)
+ set(QT_DEFAULT_MKSPEC netbsd-g++)
+elseif(OPENBSD)
+ set(QT_DEFAULT_MKSPEC openbsd-g++)
endif()
if(NOT QT_QMAKE_TARGET_MKSPEC)
@@ -368,11 +367,6 @@ set(QT_PLATFORM_DEFINITION_DIR "${QT_DEFAULT_PLATFORM_DEFINITION_DIR}"
set(QT_PLATFORM_DEFINITION_DIR_ABSOLUTE "${QT_DEFAULT_PLATFORM_DEFINITION_DIR_ABSOLUTE}"
CACHE INTERNAL "Path to directory that contains qplatformdefs.h")
set(QT_NAMESPACE "" CACHE STRING "Qt Namespace")
-if(QT_NAMESPACE STREQUAL "")
- set(QT_HAS_NAMESPACE OFF)
-else()
- set(QT_HAS_NAMESPACE ON)
-endif()
include(QtGlobalStateHelpers)
@@ -422,37 +416,64 @@ endif()
# Needed for qt_internal_add_link_flags_no_undefined.
include(CheckCXXSourceCompiles)
-set(__default_private_args "SOURCES;LIBRARIES;INCLUDE_DIRECTORIES;DEFINES;DBUS_ADAPTOR_BASENAME;DBUS_ADAPTOR_FLAGS;DBUS_ADAPTOR_SOURCES;DBUS_INTERFACE_BASENAME;DBUS_INTERFACE_FLAGS;DBUS_INTERFACE_SOURCES;FEATURE_DEPENDENCIES;COMPILE_OPTIONS;LINK_OPTIONS;MOC_OPTIONS;DISABLE_AUTOGEN_TOOLS;ENABLE_AUTOGEN_TOOLS;PLUGIN_TYPES")
-
-set(__default_public_args "PUBLIC_LIBRARIES;PUBLIC_INCLUDE_DIRECTORIES;PUBLIC_DEFINES;PUBLIC_COMPILE_OPTIONS;PUBLIC_LINK_OPTIONS")
-set(__default_private_module_args "PRIVATE_MODULE_INTERFACE")
-set(__default_target_info_args TARGET_VERSION TARGET_PRODUCT TARGET_DESCRIPTION TARGET_COMPANY
- TARGET_COPYRIGHT)
-
-# Collection of qt_add_plugin arguments so they can be shared across different
-# plugin type wrappers
-set(__qt_add_plugin_optional_args
- "STATIC;EXCEPTIONS;ALLOW_UNDEFINED_SYMBOLS"
+set(__default_private_args
+ SOURCES
+ LIBRARIES
+ INCLUDE_DIRECTORIES
+ DEFINES
+ DBUS_ADAPTOR_BASENAME
+ DBUS_ADAPTOR_FLAGS
+ DBUS_ADAPTOR_SOURCES
+ DBUS_INTERFACE_BASENAME
+ DBUS_INTERFACE_FLAGS
+ DBUS_INTERFACE_SOURCES
+ FEATURE_DEPENDENCIES
+ COMPILE_OPTIONS
+ LINK_OPTIONS
+ MOC_OPTIONS
+ DISABLE_AUTOGEN_TOOLS
+ ENABLE_AUTOGEN_TOOLS
+ PLUGIN_TYPES
)
-set(__qt_add_plugin_single_args
- "TYPE;CLASS_NAME;OUTPUT_DIRECTORY;INSTALL_DIRECTORY;ARCHIVE_INSTALL_DIRECTORY;QML_TARGET_PATH;OUTPUT_NAME"
- ${__default_target_info_args}
+set(__default_public_args
+ PUBLIC_LIBRARIES
+ PUBLIC_INCLUDE_DIRECTORIES
+ PUBLIC_DEFINES
+ PUBLIC_COMPILE_OPTIONS
+ PUBLIC_LINK_OPTIONS
)
-set(__qt_add_plugin_multi_args
- "${__default_private_args};${__default_public_args};DEFAULT_IF"
+set(__default_private_module_args
+ PRIVATE_MODULE_INTERFACE
+)
+set(__default_target_info_args
+ TARGET_VERSION
+ TARGET_PRODUCT
+ TARGET_DESCRIPTION
+ TARGET_COMPANY
+ TARGET_COPYRIGHT
)
# Collection of arguments so they can be shared across qt_internal_add_executable
# and qt_internal_add_test_helper.
set(__qt_internal_add_executable_optional_args
- "GUI;BOOTSTRAP;NO_QT;NO_INSTALL;EXCEPTIONS;DELAY_RC;DELAY_TARGET_INFO;QT_APP"
+ GUI
+ BOOTSTRAP
+ NO_INSTALL
+ EXCEPTIONS
+ DELAY_RC
+ DELAY_TARGET_INFO
+ QT_APP
)
set(__qt_internal_add_executable_single_args
- "OUTPUT_DIRECTORY;INSTALL_DIRECTORY;VERSION"
+ OUTPUT_DIRECTORY
+ INSTALL_DIRECTORY
+ VERSION
${__default_target_info_args}
)
set(__qt_internal_add_executable_multi_args
- "EXE_FLAGS;${__default_private_args};${__default_public_args}"
+ EXE_FLAGS
+ ${__default_private_args}
+ ${__default_public_args}
)
option(QT_CMAKE_DEBUG_EXTEND_TARGET "Debug extend_target calls in Qt's build system" OFF)
@@ -494,6 +515,43 @@ if(ANDROID)
include(QtAndroidHelpers)
endif()
+# TODO: This block provides support for old variables. It should be removed once
+# we remove all references to these variables in other Qt module repos.
+# Prefer to use the provided commands to retrieve the relevant things instead.
+# We won't have the queried command when we get here for qtbase (it is
+# provided by the Core module), but we will for all other repos (which
+# is all we need).
+if(COMMAND _qt_internal_get_add_plugin_keywords)
+ _qt_internal_get_add_plugin_keywords(
+ __qt_public_add_plugin_option_args
+ __qt_public_add_plugin_single_args
+ __qt_public_add_plugin_multi_args
+ )
+ qt_internal_get_internal_add_plugin_keywords(
+ __qt_internal_add_plugin_option_args
+ __qt_internal_add_plugin_single_args
+ __qt_internal_add_plugin_multi_args
+ )
+ set(__qt_add_plugin_optional_args
+ ${__qt_public_add_plugin_option_args}
+ ${__qt_internal_add_plugin_option_args}
+ )
+ set(__qt_add_plugin_single_args
+ ${__qt_public_add_plugin_single_args}
+ ${__qt_internal_add_plugin_single_args}
+ )
+ set(__qt_add_plugin_multi_args
+ ${__qt_public_add_plugin_multi_args}
+ ${__qt_internal_add_plugin_multi_args}
+ )
+ unset(__qt_public_add_plugin_option_args)
+ unset(__qt_public_add_plugin_single_args)
+ unset(__qt_public_add_plugin_multi_args)
+ unset(__qt_internal_add_plugin_option_args)
+ unset(__qt_internal_add_plugin_single_args)
+ unset(__qt_internal_add_plugin_multi_args)
+endif()
+
# This sets up the poor man's scope finalizer mechanism.
# For newer CMake versions, we use cmake_language(DEFER CALL) instead.
if(CMAKE_VERSION VERSION_LESS "3.19.0")
diff --git a/cmake/QtBuildInformation.cmake b/cmake/QtBuildInformation.cmake
index 90e45b26dd..c010ff631d 100644
--- a/cmake/QtBuildInformation.cmake
+++ b/cmake/QtBuildInformation.cmake
@@ -261,6 +261,8 @@ function(qt_configure_process_add_summary_entry)
endif()
qt_configure_add_report_padded("${label}" "${value}")
+ elseif(arg_TYPE STREQUAL "message")
+ qt_configure_add_report_padded("${arg_ARGS}" "${arg_MESSAGE}")
endif()
endfunction()
diff --git a/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake b/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake
index 1663e76295..18fb737eda 100644
--- a/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake
+++ b/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake
@@ -1,11 +1,49 @@
# These values should be kept in sync with those in qtbase/.cmake.conf
cmake_minimum_required(VERSION 3.14...3.19)
-######################################
+###############################################
#
-# Macros for building Qt modules
+# Macros and functions for building Qt modules
#
-######################################
+###############################################
+
+# Recursively reads the dependencies section from dependencies.yaml in ${repo_dir} and returns the
+# list of dependencies, including transitive ones, in out_var.
+#
+# The returned dependencies are topologically sorted.
+#
+# Example output for qtimageformats:
+# qtbase;qtshadertools;qtsvg;qtdeclarative;qttools
+#
+function(qt_internal_read_repo_dependencies out_var repo_dir)
+ set(seen ${ARGN})
+ set(dependencies "")
+ set(in_dependencies_section FALSE)
+ set(dependencies_file "${repo_dir}/dependencies.yaml")
+ if(EXISTS "${dependencies_file}")
+ file(STRINGS "${dependencies_file}" lines)
+ foreach(line IN LISTS lines)
+ if(line MATCHES "^([^ ]+):")
+ if(CMAKE_MATCH_1 STREQUAL "dependencies")
+ set(in_dependencies_section TRUE)
+ else()
+ set(in_dependencies_section FALSE)
+ endif()
+ elseif(in_dependencies_section AND line MATCHES "^ (.+):$")
+ set(dependency "${CMAKE_MATCH_1}")
+ set(dependency_repo_dir "${repo_dir}/${dependency}")
+ string(REGEX MATCH "[^/]+$" dependency "${dependency}")
+ if(NOT dependency IN_LIST seen)
+ qt_internal_read_repo_dependencies(subdeps "${dependency_repo_dir}"
+ ${seen} ${dependency})
+ list(APPEND dependencies ${subdeps} ${dependency})
+ endif()
+ endif()
+ endforeach()
+ list(REMOVE_DUPLICATES dependencies)
+ endif()
+ set(${out_var} "${dependencies}" PARENT_SCOPE)
+endfunction()
set(QT_BACKUP_CMAKE_INSTALL_PREFIX_BEFORE_EXTRA_INCLUDE "${CMAKE_INSTALL_PREFIX}")
@@ -13,6 +51,17 @@ if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/QtBuildInternalsExtra.cmake")
include(${CMAKE_CURRENT_LIST_DIR}/QtBuildInternalsExtra.cmake)
endif()
+# The variables might have already been set in QtBuildInternalsExtra.cmake if the file is included
+# while building a new module and not QtBase. In that case, stop overriding the value.
+if(NOT INSTALL_CMAKE_NAMESPACE)
+ set(INSTALL_CMAKE_NAMESPACE "Qt${PROJECT_VERSION_MAJOR}"
+ CACHE STRING "CMake namespace [Qt${PROJECT_VERSION_MAJOR}]")
+endif()
+if(NOT QT_CMAKE_EXPORT_NAMESPACE)
+ set(QT_CMAKE_EXPORT_NAMESPACE "Qt${PROJECT_VERSION_MAJOR}"
+ CACHE STRING "CMake namespace used when exporting targets [Qt${PROJECT_VERSION_MAJOR}]")
+endif()
+
macro(qt_set_up_build_internals_paths)
# Set up the paths for the cmake modules located in the prefix dir. Prepend, so the paths are
# least important compared to the source dir ones, but more important than command line
@@ -71,7 +120,7 @@ function(qt_build_internals_disable_pkg_config_if_needed)
set(pkg_config_enabled ON)
qt_build_internals_find_pkg_config_executable()
- if(APPLE OR WIN32 OR QNX OR ANDROID OR (NOT PKG_CONFIG_EXECUTABLE))
+ if(APPLE OR WIN32 OR QNX OR ANDROID OR WASM OR (NOT PKG_CONFIG_EXECUTABLE))
set(pkg_config_enabled OFF)
endif()
@@ -144,6 +193,7 @@ function(qt_build_internals_set_up_system_prefixes)
list(REMOVE_ITEM CMAKE_SYSTEM_PREFIX_PATH
"/usr/local" # Homebrew
+ "/opt/homebrew" # Apple Silicon Homebrew
"/usr/X11R6"
"/usr/pkg"
"/opt"
@@ -193,18 +243,19 @@ endmacro()
# find all targets defined in $subdir by recursing through all added subdirectories
# populates $qt_repo_targets with a ;-list of non-UTILITY targets
macro(qt_build_internals_get_repo_targets subdir)
+ get_directory_property(_targets DIRECTORY "${subdir}" BUILDSYSTEM_TARGETS)
+ if(_targets)
+ foreach(_target IN LISTS _targets)
+ get_target_property(_type ${_target} TYPE)
+ if(NOT (${_type} STREQUAL "UTILITY" OR ${_type} STREQUAL "INTERFACE"))
+ list(APPEND qt_repo_targets "${_target}")
+ endif()
+ endforeach()
+ endif()
+
get_directory_property(_directories DIRECTORY "${subdir}" SUBDIRECTORIES)
if (_directories)
foreach(_directory IN LISTS _directories)
- get_directory_property(_targets DIRECTORY "${_directory}" BUILDSYSTEM_TARGETS)
- if (_targets)
- foreach(_target IN LISTS _targets)
- get_target_property(_type ${_target} TYPE)
- if (NOT (${_type} STREQUAL "UTILITY" OR ${_type} STREQUAL "INTERFACE"))
- list(APPEND qt_repo_targets "${_target}")
- endif()
- endforeach()
- endif()
qt_build_internals_get_repo_targets("${_directory}")
endforeach()
endif()
@@ -358,7 +409,7 @@ macro(qt_build_repo_end)
qt_path_join(__qt_repo_install_dir ${QT_CONFIG_INSTALL_DIR} ${INSTALL_CMAKE_NAMESPACE})
if(NOT PROJECT_NAME STREQUAL "QtBase")
- if (EXISTS cmake)
+ if(IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
qt_copy_or_install(DIRECTORY cmake/
DESTINATION "${__qt_repo_install_dir}"
FILES_MATCHING PATTERN "Find*.cmake"
@@ -462,11 +513,13 @@ macro(qt_build_tests)
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/auto/CMakeLists.txt")
add_subdirectory(auto)
endif()
- if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/benchmarks/CMakeLists.txt" AND QT_BUILD_BENCHMARKS)
- add_subdirectory(benchmarks)
- endif()
- if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/manual/CMakeLists.txt" AND QT_BUILD_MANUAL_TESTS)
- add_subdirectory(manual)
+ if(NOT QT_BUILD_MINIMAL_STATIC_TESTS)
+ if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/benchmarks/CMakeLists.txt" AND QT_BUILD_BENCHMARKS)
+ add_subdirectory(benchmarks)
+ endif()
+ if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/manual/CMakeLists.txt" AND QT_BUILD_MANUAL_TESTS)
+ add_subdirectory(manual)
+ endif()
endif()
endmacro()
diff --git a/cmake/QtBuildInternalsExtra.cmake.in b/cmake/QtBuildInternalsExtra.cmake.in
index 66f11a4364..5d5195e022 100644
--- a/cmake/QtBuildInternalsExtra.cmake.in
+++ b/cmake/QtBuildInternalsExtra.cmake.in
@@ -21,9 +21,25 @@ get_filename_component(QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX
# This is an attempt to support Conan, aka handle installation of modules into a
# different installation prefix than the original one. Also allow to opt out via a special variable.
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT AND
- NOT QT_BUILD_INTERNALS_NO_FORCE_SET_INSTALL_PREFIX)
- set(CMAKE_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@" CACHE PATH
+ NOT QT_BUILD_INTERNALS_NO_FORCE_SET_INSTALL_PREFIX)
+ set(qtbi_orig_prefix "@CMAKE_INSTALL_PREFIX@")
+ set(qtbi_new_prefix "${QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX}")
+ if(CMAKE_HOST_WIN32)
+ # Make sure we use exactly the original prefix if it points to the same directory as the new
+ # one. This is needed for the case where the original prefix is passed without drive letter
+ # to support installing with DESTDIR set.
+ file(REAL_PATH "${qtbi_orig_prefix}" qtbi_real_orig_prefix)
+ file(REAL_PATH "${qtbi_new_prefix}" qtbi_real_new_prefix)
+ if(qtbi_real_orig_prefix STREQUAL qtbi_real_new_prefix)
+ set(qtbi_new_prefix "${qtbi_orig_prefix}")
+ endif()
+ endif()
+ set(CMAKE_INSTALL_PREFIX "${qtbi_new_prefix}" CACHE PATH
"Install path prefix, prepended onto install directories." FORCE)
+ unset(qtbi_orig_prefix)
+ unset(qtbi_real_orig_prefix)
+ unset(qtbi_new_prefix)
+ unset(qtbi_real_new_prefix)
endif()
# Propagate developer builds to other modules via BuildInternals package.
diff --git a/cmake/QtCMakeHelpers.cmake b/cmake/QtCMakeHelpers.cmake
index b6acde5f55..f9b03d628c 100644
--- a/cmake/QtCMakeHelpers.cmake
+++ b/cmake/QtCMakeHelpers.cmake
@@ -131,6 +131,10 @@ function(qt_remove_args out_var)
# remove arg
list(REMOVE_AT result ${find_result})
list(LENGTH result result_len)
+ if(find_result EQUAL result_len)
+ # We removed the last argument, could have been an option keyword
+ continue()
+ endif()
list(GET result ${find_result} arg_current)
# remove values until we hit another arg or the end of the list
while(NOT ${arg_current} IN_LIST arg_ALL_ARGS AND find_result LESS result_len)
@@ -152,6 +156,26 @@ function(qt_re_escape out_var str)
set(${out_var} ${regex} PARENT_SCOPE)
endfunction()
+# Input: string
+# Output: regex string to match the string case insensitively
+# Example: "Release" -> "^([Rr][Ee][Ll][Ee][Aa][Ss][Ee])$"
+#
+# Regular expressions like this are used in cmake_install.cmake files for case-insensitive string
+# comparison.
+function(qt_create_case_insensitive_regex out_var input)
+ set(result "^(")
+ string(LENGTH "${input}" n)
+ math(EXPR n "${n} - 1")
+ foreach(i RANGE 0 ${n})
+ string(SUBSTRING "${input}" ${i} 1 c)
+ string(TOUPPER "${c}" uc)
+ string(TOLOWER "${c}" lc)
+ string(APPEND result "[${uc}${lc}]")
+ endforeach()
+ string(APPEND result ")$")
+ set(${out_var} "${result}" PARENT_SCOPE)
+endfunction()
+
# Gets a target property, and returns "" if the property was not found
function(qt_internal_get_target_property out_var target property)
get_target_property(result "${target}" "${property}")
diff --git a/cmake/QtCMakeVersionHelpers.cmake b/cmake/QtCMakeVersionHelpers.cmake
index 955d9044cb..4d4113bb43 100644
--- a/cmake/QtCMakeVersionHelpers.cmake
+++ b/cmake/QtCMakeVersionHelpers.cmake
@@ -116,6 +116,17 @@ function(qt_internal_warn_about_unsuitable_cmake_versions)
# https://gitlab.kitware.com/cmake/cmake/-/issues/21163
list(APPEND unsuitable_versions "3.18.2")
+ # Cyclic dependencies are created when mixing AUTOMOC/AUTOUIC with sources
+ # that have their SKIP_MOC or SKIP_UIC source file properties set to true.
+ # https://gitlab.kitware.com/cmake/cmake/-/issues/21977
+ list(APPEND unsuitable_versions "3.20.0")
+
+ # AUTOMOC can crash or hang when using a Qt that supports moc depfiles.
+ # Issues reported on Windows with Ninja and Makefiles, but it could be happening
+ # on other platforms too.
+ # https://gitlab.kitware.com/cmake/cmake/-/issues/22014
+ list(APPEND unsuitable_versions "3.20.1")
+
foreach(unsuitable_version ${unsuitable_versions})
if(CMAKE_VERSION VERSION_EQUAL unsuitable_version)
message(WARNING
diff --git a/cmake/QtCompilerOptimization.cmake b/cmake/QtCompilerOptimization.cmake
index ed6921da53..c8c3da78d5 100644
--- a/cmake/QtCompilerOptimization.cmake
+++ b/cmake/QtCompilerOptimization.cmake
@@ -136,7 +136,7 @@ endif()
# TODO: Missing mkspecs flags we don't handle below: win32-clang-g++, win32-clang-msvc, rtems-base
#
# gcc and clang base
-if(GCC OR CLANG)
+if(GCC OR CLANG AND NOT WASM)
set(QT_CFLAGS_OPTIMIZE "-O2")
set(QT_CFLAGS_OPTIMIZE_FULL "-O3")
set(QT_CFLAGS_OPTIMIZE_DEBUG "-Og")
@@ -187,3 +187,10 @@ if(ICC)
set(QT_CFLAGS_OPTIMIZE_SIZE "-Os")
endif()
endif()
+
+if(WASM)
+ set(QT_CFLAGS_OPTIMIZE "-O2")
+ set(QT_CFLAGS_OPTIMIZE_FULL "-O3")
+ set(QT_CFLAGS_OPTIMIZE_SIZE "-Os")
+ set(QT_CFLAGS_OPTIMIZE_DEBUG "-g2")
+endif()
diff --git a/cmake/QtConfig.cmake.in b/cmake/QtConfig.cmake.in
index 57c252091d..451d4191a7 100644
--- a/cmake/QtConfig.cmake.in
+++ b/cmake/QtConfig.cmake.in
@@ -44,8 +44,15 @@ list(APPEND CMAKE_MODULE_PATH "${_qt_import_prefix}/3rdparty/kwin")
if(APPLE AND (NOT CMAKE_SYSTEM_NAME OR CMAKE_SYSTEM_NAME STREQUAL "Darwin"))
# Add module directory to pick up custom Info.plist template for macOS
list(APPEND CMAKE_MODULE_PATH "${_qt_import_prefix}/macos")
+elseif(APPLE AND CMAKE_SYSTEM_NAME STREQUAL "iOS")
+ # Add module directory to pick up custom Info.plist template for iOS
+ list(APPEND CMAKE_MODULE_PATH "${_qt_import_prefix}/ios")
endif()
+set(QT_ADDITIONAL_PACKAGES_PREFIX_PATH "" CACHE STRING "Additional directories where find(Qt6 ...) components are searched")
+file(TO_CMAKE_PATH "${QT_ADDITIONAL_PACKAGES_PREFIX_PATH}" _qt_additional_packages_prefix_path)
+file(TO_CMAKE_PATH "$ENV{QT_ADDITIONAL_PACKAGES_PREFIX_PATH}" _qt_additional_packages_prefix_path_env)
+
# Find required dependencies, if any.
include(CMakeFindDependencyMacro)
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/@INSTALL_CMAKE_NAMESPACE@Dependencies.cmake")
@@ -68,7 +75,8 @@ foreach(module ${@INSTALL_CMAKE_NAMESPACE@_FIND_COMPONENTS})
${_@INSTALL_CMAKE_NAMESPACE@_FIND_PARTS_REQUIRED}
PATHS
${_qt_cmake_dir}
- ${QT_ADDITIONAL_PACKAGES_PREFIX_PATH}
+ ${_qt_additional_packages_prefix_path}
+ ${_qt_additional_packages_prefix_path_env}
${QT_EXAMPLES_CMAKE_PREFIX_PATH}
${__qt_use_no_default_path_for_qt_packages}
)
diff --git a/cmake/QtExecutableHelpers.cmake b/cmake/QtExecutableHelpers.cmake
index db4cc06be2..c25a9ae8a3 100644
--- a/cmake/QtExecutableHelpers.cmake
+++ b/cmake/QtExecutableHelpers.cmake
@@ -33,6 +33,9 @@ function(qt_internal_add_executable name)
PROPERTY EXCLUDE_FROM_ALL "$<NOT:$<CONFIG:${QT_MULTI_CONFIG_FIRST_CONFIG}>>")
endif()
+ if(WASM)
+ qt6_wasm_add_target_helpers("${name}")
+ endif()
if (arg_VERSION)
if(arg_VERSION MATCHES "[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+")
# nothing to do
@@ -83,7 +86,7 @@ function(qt_internal_add_executable name)
qt_skip_warnings_are_errors_when_repo_unclean("${name}")
set(extra_libraries "")
- if(NOT arg_BOOTSTRAP AND NOT arg_NO_QT)
+ if(NOT arg_BOOTSTRAP)
set(extra_libraries "Qt::Core")
endif()
@@ -115,9 +118,8 @@ function(qt_internal_add_executable name)
WIN32_EXECUTABLE "${arg_GUI}"
MACOSX_BUNDLE "${arg_GUI}"
)
- if(NOT ${arg_EXCEPTIONS})
- qt_internal_set_no_exceptions_flags("${name}")
- endif()
+
+ qt_internal_set_exceptions_flags("${name}" ${arg_EXCEPTIONS})
# Check if target needs to be excluded from all target. Also affects qt_install.
# Set by qt_exclude_tool_directories_from_default_target.
@@ -175,4 +177,42 @@ function(qt_internal_add_executable name)
if("Qt::Gui" IN_LIST linked_libs AND TARGET qpa_default_plugins)
add_dependencies("${name}" qpa_default_plugins)
endif()
+
+ if(NOT BUILD_SHARED_LIBS)
+ # For static builds, we need to explicitly link to plugins we want to be
+ # loaded with the executable. User projects get that automatically, but
+ # for tools built as part of Qt, we can't use that mechanism because it
+ # would pollute the targets we export as part of an install and lead to
+ # circular dependencies. The logic here is a simpler equivalent of the
+ # more dynamic logic in QtPlugins.cmake.in, but restricted to only
+ # adding plugins that are provided by the same module as the module
+ # libraries the executable links to.
+ set(libs
+ ${arg_LIBRARIES}
+ ${arg_PUBLIC_LIBRARIES}
+ ${extra_libraries}
+ Qt::PlatformCommonInternal
+ )
+ list(REMOVE_DUPLICATES libs)
+ foreach(lib IN LISTS libs)
+ if(NOT TARGET "${lib}")
+ continue()
+ endif()
+ string(MAKE_C_IDENTIFIER "${name}_plugin_imports_${lib}" out_file)
+ string(APPEND out_file .cpp)
+ set(class_names "$<GENEX_EVAL:$<TARGET_PROPERTY:${lib},_qt_repo_plugin_class_names>>")
+ file(GENERATE OUTPUT ${out_file} CONTENT
+"// This file is auto-generated. Do not edit.
+#include <QtPlugin>
+
+Q_IMPORT_PLUGIN($<JOIN:${class_names},)\nQ_IMPORT_PLUGIN(>)
+"
+ CONDITION "$<NOT:$<STREQUAL:${class_names},>>"
+ )
+ target_sources(${name} PRIVATE
+ "$<$<NOT:$<STREQUAL:${class_names},>>:${out_file}>"
+ )
+ target_link_libraries(${name} PRIVATE "$<TARGET_PROPERTY:${lib},_qt_repo_plugins>")
+ endforeach()
+ endif()
endfunction()
diff --git a/cmake/QtFeature.cmake b/cmake/QtFeature.cmake
index f38d464221..7f4a9d8b52 100644
--- a/cmake/QtFeature.cmake
+++ b/cmake/QtFeature.cmake
@@ -227,13 +227,8 @@ function(_qt_internal_dump_expression_values expression_dump expression)
set(${expression_dump} "${${expression_dump}}" PARENT_SCOPE)
endfunction()
-function(qt_feature_set_cache_value resultVar feature emit_if condition calculated label)
+function(qt_feature_set_cache_value resultVar feature condition calculated label)
if (DEFINED "FEATURE_${feature}")
- # Must set up the cache
- if (NOT (emit_if))
- message(FATAL_ERROR "Sanity check failed: FEATURE_${feature} that was not emitted was found in the CMakeCache.")
- endif()
-
# Revisit value:
set(cache "${FEATURE_${feature}}")
@@ -257,12 +252,8 @@ meet its condition after reconfiguration.")
set("FEATURE_${feature}" "${cache}" CACHE BOOL "${label}" FORCE)
else()
# Initial setup:
- if (emit_if)
- set("FEATURE_${feature}" "${calculated}" CACHE BOOL "${label}")
- set(result "${calculated}")
- else()
- set(result OFF)
- endif()
+ set("FEATURE_${feature}" "${calculated}" CACHE BOOL "${label}")
+ set(result "${calculated}")
endif()
set("${resultVar}" "${result}" PARENT_SCOPE)
@@ -350,8 +341,17 @@ function(qt_evaluate_feature feature)
endif()
endif()
- qt_feature_set_cache_value(cache "${feature}" "${emit_if}" "${condition}" "${result}"
- "${arg_LABEL}")
+ if(NOT emit_if AND DEFINED FEATURE_${feature})
+ set(msg "")
+ string(APPEND msg
+ "Feature ${feature} is insignificant in this configuration, "
+ "ignoring related command line option(s).")
+ qt_configure_add_report_entry(TYPE WARNING MESSAGE "${msg}")
+ set(result OFF)
+ set(FEATURE_${feature} OFF)
+ endif()
+
+ qt_feature_set_cache_value(cache "${feature}" "${condition}" "${result}" "${arg_LABEL}")
qt_feature_set_value("${feature}" "${cache}" "${condition}" "${arg_LABEL}"
"${arg_CONDITION}")
@@ -544,10 +544,10 @@ function(qt_feature_module_end)
# Evaluate custom cache assignments.
foreach(cache_var_name ${__QtFeature_custom_enabled_cache_variables})
- set(${cache_var_name} ON CACHE BOOL "Force enabled by platform." FORCE)
+ set(${cache_var_name} ON CACHE BOOL "Force enabled by platform requirements." FORCE)
endforeach()
foreach(cache_var_name ${__QtFeature_custom_disabled_cache_variables})
- set(${cache_var_name} OFF CACHE BOOL "Force disabled by platform." FORCE)
+ set(${cache_var_name} OFF CACHE BOOL "Force disabled by platform requirements." FORCE)
endforeach()
set(enabled_public_features "")
@@ -890,9 +890,8 @@ function(qt_get_platform_try_compile_vars out_var)
# Pass darwin specific options.
# The architectures need to be passed explicitly to project-based try_compile calls even on
# macOS, so that arm64 compilation works on Apple silicon.
- if(CMAKE_OSX_ARCHITECTURES)
- list(GET CMAKE_OSX_ARCHITECTURES 0 osx_first_arch)
-
+ qt_internal_get_first_osx_arch(osx_first_arch)
+ if(osx_first_arch)
# Do what qmake does, aka when doing a simulator_and_device build, build the
# target architecture test only with the first given architecture, which should be the
# device architecture, aka some variation of "arm" (armv7, arm64).
@@ -909,6 +908,16 @@ function(qt_get_platform_try_compile_vars out_var)
set("${out_var}" "${flags_cmd_line}" PARENT_SCOPE)
endfunction()
+# Set out_var to the first value of CMAKE_OSX_ARCHITECTURES.
+# Sets an empty string if no architecture is present.
+function(qt_internal_get_first_osx_arch out_var)
+ set(value "")
+ if(CMAKE_OSX_ARCHITECTURES)
+ list(GET CMAKE_OSX_ARCHITECTURES 0 value)
+ endif()
+ set(${out_var} "${value}" PARENT_SCOPE)
+endfunction()
+
function(qt_config_compile_test_x86simd extension label)
if (DEFINED TEST_X86SIMD_${extension})
return()
@@ -1014,7 +1023,7 @@ function(qt_make_features_available target)
endif()
foreach(feature IN ITEMS ${features})
if (DEFINED "QT_FEATURE_${feature}" AND NOT "${QT_FEATURE_${feature}}" STREQUAL "${value}")
- message(FATAL_ERROR "Feature ${feature} is already defined and has a different value when importing features from ${target}.")
+ message(FATAL_ERROR "Feature ${feature} is already defined to be \"${QT_FEATURE_${feature}}\" and should now be set to \"${value}\" when importing features from ${target}.")
endif()
set(QT_FEATURE_${feature} "${value}" CACHE INTERNAL "Qt feature: ${feature} (from target ${target})")
endforeach()
diff --git a/cmake/QtFlagHandlingHelpers.cmake b/cmake/QtFlagHandlingHelpers.cmake
index a18d3ac89a..cbc39cbf1a 100644
--- a/cmake/QtFlagHandlingHelpers.cmake
+++ b/cmake/QtFlagHandlingHelpers.cmake
@@ -1,48 +1,44 @@
function(qt_internal_add_linker_version_script target)
- qt_parse_all_arguments(arg "qt_internal_add_linker" "INTERNAL" "" "PRIVATE_HEADERS" ${ARGN})
+ qt_parse_all_arguments(arg "qt_internal_add_linker" "" "" "PRIVATE_HEADERS" ${ARGN})
if (TEST_ld_version_script)
- if (arg_INTERNAL)
- set(contents "Qt_${PROJECT_VERSION_MAJOR}_PRIVATE_API { *; };")
+ set(contents "Qt_${PROJECT_VERSION_MAJOR}_PRIVATE_API {\n qt_private_api_tag*;\n")
+ foreach(ph ${arg_PRIVATE_HEADERS})
+ string(APPEND contents " @FILE:${ph}@\n")
+ endforeach()
+ string(APPEND contents "};\n")
+ set(current "Qt_${PROJECT_VERSION_MAJOR}")
+ if (QT_NAMESPACE STREQUAL "")
+ set(tag_symbol "qt_version_tag")
else()
- set(contents "Qt_${PROJECT_VERSION_MAJOR}_PRIVATE_API {\n qt_private_api_tag*;\n")
- foreach(ph ${arg_PRIVATE_HEADERS})
- string(APPEND contents " @FILE:${ph}@\n")
- endforeach()
- string(APPEND contents "};\n")
- set(current "Qt_${PROJECT_VERSION_MAJOR}")
- if (QT_NAMESPACE STREQUAL "")
- set(tag_symbol "qt_version_tag")
+ set(tag_symbol "qt_version_tag_${QT_NAMESPACE}")
+ endif()
+ string(APPEND contents "${current} { *; };\n")
+
+ foreach(minor_version RANGE ${PROJECT_VERSION_MINOR})
+ set(previous "${current}")
+ set(current "Qt_${PROJECT_VERSION_MAJOR}.${minor_version}")
+ if (minor_version EQUAL ${PROJECT_VERSION_MINOR})
+ string(APPEND contents "${current} { ${tag_symbol}; } ${previous};\n")
else()
- set(tag_symbol "qt_version_tag_${QT_NAMESPACE}")
+ string(APPEND contents "${current} {} ${previous};\n")
endif()
- string(APPEND contents "${current} { *; };\n")
-
- foreach(minor_version RANGE ${PROJECT_VERSION_MINOR})
- set(previous "${current}")
- set(current "Qt_${PROJECT_VERSION_MAJOR}.${minor_version}")
- if (minor_version EQUAL ${PROJECT_VERSION_MINOR})
- string(APPEND contents "${current} { ${tag_symbol}; } ${previous};\n")
- else()
- string(APPEND contents "${current} {} ${previous};\n")
- endif()
- endforeach()
+ endforeach()
- set(infile "${CMAKE_CURRENT_BINARY_DIR}/${target}.version.in")
- set(outfile "${CMAKE_CURRENT_BINARY_DIR}/${target}.version")
+ set(infile "${CMAKE_CURRENT_BINARY_DIR}/${target}.version.in")
+ set(outfile "${CMAKE_CURRENT_BINARY_DIR}/${target}.version")
- file(GENERATE OUTPUT "${infile}" CONTENT "${contents}")
+ file(GENERATE OUTPUT "${infile}" CONTENT "${contents}")
- qt_ensure_perl()
+ qt_ensure_perl()
- add_custom_command(TARGET "${target}" PRE_LINK
- COMMAND "${HOST_PERL}" "${QT_MKSPECS_DIR}/features/data/unix/findclasslist.pl" < "${infile}" > "${outfile}"
- BYPRODUCTS "${outfile}" DEPENDS "${infile}"
- WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
- COMMENT "Generating version linker script"
+ add_custom_command(TARGET "${target}" PRE_LINK
+ COMMAND "${HOST_PERL}" "${QT_MKSPECS_DIR}/features/data/unix/findclasslist.pl" < "${infile}" > "${outfile}"
+ BYPRODUCTS "${outfile}" DEPENDS "${infile}"
+ WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
+ COMMENT "Generating version linker script"
)
- target_link_options("${target}" PRIVATE "-Wl,--version-script,${outfile}")
- endif()
+ target_link_options("${target}" PRIVATE "-Wl,--version-script,${outfile}")
endif()
endfunction()
@@ -92,7 +88,7 @@ function(qt_internal_apply_gc_binaries target visibility)
message(FATAL_ERROR "Visibitily setting must be one of PRIVATE, INTERFACE or PUBLIC.")
endif()
- if ((GCC OR CLANG) AND NOT EMSCRIPTEN AND NOT UIKIT AND NOT MSVC)
+ if ((GCC OR CLANG) AND NOT WASM AND NOT UIKIT AND NOT MSVC)
if(APPLE)
set(gc_sections_flag "-Wl,-dead_strip")
elseif(SOLARIS)
@@ -105,7 +101,7 @@ function(qt_internal_apply_gc_binaries target visibility)
target_link_options("${target}" ${visibility} "${gc_sections_flag}")
endif()
- if((GCC OR CLANG OR ICC) AND NOT EMSCRIPTEN AND NOT UIKIT AND NOT MSVC)
+ if((GCC OR CLANG OR ICC) AND NOT WASM AND NOT UIKIT AND NOT MSVC)
set(split_sections_flags "-ffunction-sections" "-fdata-sections")
endif()
if(split_sections_flags)
@@ -145,27 +141,35 @@ function(qt_internal_library_deprecation_level result)
set("${result}" "${deprecations}" PARENT_SCOPE)
endfunction()
-# Sets the exceptions flags for the given target
-function(qt_internal_set_no_exceptions_flags target)
- target_compile_definitions("${target}" PRIVATE "QT_NO_EXCEPTIONS")
- if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
- set(_flag "/wd4530" "/wd4577")
- elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
- set(_flag "-fno-exceptions")
- elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
- set(_flag "-fno-exceptions")
- elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
- if (MSVC)
+# Sets the exceptions flags for the given target according to exceptions_on
+function(qt_internal_set_exceptions_flags target exceptions_on)
+ set(_defs "")
+ set(_flag "")
+ if(exceptions_on)
+ if(MSVC)
+ set(_flag "/EHsc")
+ endif()
+ else()
+ set(_defs "QT_NO_EXCEPTIONS")
+ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
set(_flag "/wd4530" "/wd4577")
- else()
+ elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+ set(_flag "-fno-exceptions")
+ elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
+ set(_flag "-fno-exceptions")
+ elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
+ if (MSVC)
+ set(_flag "/wd4530" "/wd4577")
+ else()
+ set(_flag "-fno-exceptions")
+ endif()
+ elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
set(_flag "-fno-exceptions")
endif()
- elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
- set(_flag "-fno-exceptions")
- endif()
- if (_flag)
- target_compile_options("${target}" PRIVATE ${_flag})
endif()
+
+ target_compile_definitions("${target}" PRIVATE ${_defs})
+ target_compile_options("${target}" PRIVATE ${_flag})
endfunction()
function(qt_skip_warnings_are_errors target)
@@ -208,7 +212,7 @@ endfunction()
function(qt_set_language_standards)
## Use the latest standard the compiler supports (same as qt_common.prf)
- if (QT_FEATURE_cxx2a)
+ if (QT_FEATURE_cxx20)
set(CMAKE_CXX_STANDARD 20 PARENT_SCOPE)
else()
set(CMAKE_CXX_STANDARD 17 PARENT_SCOPE)
@@ -347,7 +351,7 @@ endfunction()
function(qt_internal_get_enabled_languages_for_flag_manipulation out_var)
# Limit flag modification to c-like code. We don't want to accidentally add incompatible
# flags to MSVC's RC or Swift.
- set(languages_to_process C CXX OBJC OBJCXX)
+ set(languages_to_process ASM C CXX OBJC OBJCXX)
get_property(globally_enabled_languages GLOBAL PROPERTY ENABLED_LANGUAGES)
set(enabled_languages "")
foreach(lang ${languages_to_process})
@@ -398,11 +402,17 @@ endfunction()
# Helper function used to update compiler and linker flags further below
function(qt_internal_remove_flags_impl flag_var_name flag_values IN_CACHE)
+ cmake_parse_arguments(arg "REGEX" "" "" ${ARGN})
+ set(replace_type REPLACE)
+ if(arg_REGEX)
+ list(PREPEND replace_type REGEX)
+ endif()
+
# This must come before cache variable modification because setting the
# cache variable with FORCE will overwrite the non-cache variable in this
# function scope, but we need to use the original value before that change.
foreach(flag_value IN LISTS flag_values)
- string(REPLACE "${flag_value}" "" ${flag_var_name} "${${flag_var_name}}")
+ string(${replace_type} "${flag_value}" "" ${flag_var_name} "${${flag_var_name}}")
endforeach()
string(STRIP "${${flag_var_name}}" ${flag_var_name})
set(${flag_var_name} "${${flag_var_name}}" PARENT_SCOPE)
@@ -414,7 +424,7 @@ function(qt_internal_remove_flags_impl flag_var_name flag_values IN_CACHE)
# Work exclusively on cache variable value only.
set(mod_flags $CACHE{${flag_var_name}})
foreach(flag_value IN LISTS flag_values)
- string(REPLACE "${flag_value}" "" mod_flags "${mod_flags}")
+ string(${replace_type} "${flag_value}" "" mod_flags "${mod_flags}")
endforeach()
string(STRIP "${mod_flags}" mod_flags)
get_property(help_text CACHE ${flag_var_name} PROPERTY HELPSTRING)
@@ -485,6 +495,65 @@ function(qt_internal_remove_known_optimization_flags)
endforeach()
endfunction()
+# Removes specified flags from CMAKE_<LANGUAGES>_FLAGS[_CONFIGS] variables
+#
+# IN_CACHE enables flags removal from CACHE
+# CONFIGS list of configurations that need to clear flags. Clears all configs by default if not
+# specified.
+# LANGUAGES list of LANGUAGES that need clear flags. Clears all languages by default if not
+# specified.
+# REGEX enables the flag processing as a regular expression.
+function(qt_internal_remove_compiler_flags flags)
+ qt_parse_all_arguments(arg
+ "qt_internal_remove_compiler_flags"
+ "IN_CACHE;REGEX"
+ ""
+ "CONFIGS;LANGUAGES"
+ ${ARGN}
+ )
+
+ if("${flags}" STREQUAL "")
+ message(WARNING "qt_internal_remove_compiler_flags was called without any flags specified.")
+ return()
+ endif()
+
+ if(arg_LANGUAGES)
+ set(languages "${arg_LANGUAGES}")
+ else()
+ qt_internal_get_enabled_languages_for_flag_manipulation(languages)
+ endif()
+
+ if(arg_CONFIGS)
+ set(configs "${arg_CONFIGS}")
+ else()
+ message(FATAL_ERROR
+ "You must specify at least one configuration for which to remove the flags.")
+ endif()
+
+ if(arg_REGEX)
+ list(APPEND extra_options "REGEX")
+ endif()
+
+ foreach(lang ${languages})
+ set(flag_var_name "CMAKE_${lang}_FLAGS")
+ qt_internal_remove_flags_impl(${flag_var_name}
+ "${flags}"
+ "${arg_IN_CACHE}"
+ ${extra_options}
+ )
+ set(${flag_var_name} "${${flag_var_name}}" PARENT_SCOPE)
+ foreach(config ${configs})
+ set(flag_var_name "CMAKE_${lang}_FLAGS_${config}")
+ qt_internal_remove_flags_impl(${flag_var_name}
+ "${flags}"
+ "${arg_IN_CACHE}"
+ ${extra_options}
+ )
+ set(${flag_var_name} "${${flag_var_name}}" PARENT_SCOPE)
+ endforeach()
+ endforeach()
+endfunction()
+
# Adds compiler flags for the given CONFIGS in the calling scope. Can also update the cache
# if asked to do so. The flag variables are always updated in the calling scope, even if they
# did not exist beforehand.
@@ -855,8 +924,9 @@ function(qt_internal_set_up_config_optimizations_like_in_qmake)
qt_internal_add_linker_flags(
FLAGS "${flag_value}"
CONFIGS RELEASE RELWITHDEBINFO MINSIZEREL
- TYPES EXE SHARED # when linking static libraries, link.exe can't recognize this parameter, clang-cl will error out.
+ TYPES EXE SHARED MODULE # when linking static libraries, link.exe can't recognize this parameter, clang-cl will error out.
IN_CACHE)
+ qt_internal_remove_compiler_flags("(^| )/EH[scra-]*( |$)" LANGUAGES CXX CONFIGS ${configs} IN_CACHE REGEX)
endif()
# Allow opting into generating debug info in object files with a fake feature.
diff --git a/cmake/QtFrameworkHelpers.cmake b/cmake/QtFrameworkHelpers.cmake
index 9e350c858d..6289ce98b1 100644
--- a/cmake/QtFrameworkHelpers.cmake
+++ b/cmake/QtFrameworkHelpers.cmake
@@ -23,7 +23,7 @@ macro(qt_find_apple_system_frameworks)
qt_internal_find_apple_system_framework(FWSystemConfiguration SystemConfiguration)
qt_internal_find_apple_system_framework(FWUIKit UIKit)
qt_internal_find_apple_system_framework(FWCoreLocation CoreLocation)
-
+ qt_internal_find_apple_system_framework(FWCoreMotion CoreMotion)
qt_internal_find_apple_system_framework(FWWatchKit WatchKit)
qt_internal_find_apple_system_framework(FWGameController GameController)
endif()
diff --git a/cmake/QtHeadersClean.cmake b/cmake/QtHeadersClean.cmake
index 9cb11dddd1..d5d3f439ed 100644
--- a/cmake/QtHeadersClean.cmake
+++ b/cmake/QtHeadersClean.cmake
@@ -144,8 +144,8 @@ function(qt_internal_add_headers_clean_target
endif()
endif()
- # Use strict mode C++17, with no GNU extensions (see -pedantic-errors above).
- list(APPEND hcleanFLAGS -std=c++17)
+ # Use strict mode C++20, with no GNU extensions (see -pedantic-errors above).
+ list(APPEND hcleanFLAGS -std=c++2a)
set(cxx_flags ${CMAKE_CXX_FLAGS})
@@ -162,13 +162,15 @@ function(qt_internal_add_headers_clean_target
foreach(header ${hclean_headers})
get_filename_component(input_path "${header}" ABSOLUTE)
- set(artifact_path "header_${header}.o")
+ set(artifact_path "header_check/${header}.o")
+ get_filename_component(artifact_directory "${artifact_path}" DIRECTORY)
set(comment_header_path "${CMAKE_CURRENT_SOURCE_DIR}/${header}")
file(RELATIVE_PATH comment_header_path "${PROJECT_SOURCE_DIR}" "${comment_header_path}")
add_custom_command(
OUTPUT "${artifact_path}"
COMMENT "headersclean: Checking header ${comment_header_path}"
+ COMMAND ${CMAKE_COMMAND} -E make_directory "${artifact_directory}"
COMMAND
${compiler_to_run} -c ${cxx_flags}
"${target_compile_flags_joined_genex}"
@@ -188,7 +190,7 @@ function(qt_internal_add_headers_clean_target
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
# -Za would enable strict standards behavior, but we can't add it because
# <windows.h> and <GL.h> violate the standards.
- set(hcleanFLAGS -std:c++17 -WX -W3)
+ set(hcleanFLAGS -std:c++latest -Zc:__cplusplus -WX -W3)
# cl.exe needs a source path
get_filename_component(source_path "${QT_MKSPECS_DIR}/features/data/dummy.cpp" REALPATH)
diff --git a/cmake/QtInstallHelpers.cmake b/cmake/QtInstallHelpers.cmake
index 5832df144c..30962b84e2 100644
--- a/cmake/QtInstallHelpers.cmake
+++ b/cmake/QtInstallHelpers.cmake
@@ -125,3 +125,45 @@ function(qt_set_up_nonprefix_build)
qt_remove_install_target()
endif()
endfunction()
+
+# Create a versioned hard-link for the given target.
+# E.g. "bin/qmake6" -> "bin/qmake".
+# If no hard link can be created, make a copy instead.
+#
+# In a multi-config build, create the link for the main config only.
+function(qt_internal_install_versioned_link install_dir target)
+ if(NOT QT_WILL_INSTALL)
+ return()
+ endif()
+
+ qt_path_join(install_base_file_path "$\{qt_full_install_prefix}"
+ "${install_dir}" "$<TARGET_FILE_BASE_NAME:${target}>")
+ set(original "${install_base_file_path}$<TARGET_FILE_SUFFIX:${target}>")
+ set(linkname "${install_base_file_path}${PROJECT_VERSION_MAJOR}$<TARGET_FILE_SUFFIX:${target}>")
+ set(code "set(qt_full_install_prefix \"$\{CMAKE_INSTALL_PREFIX}\")"
+ " if(NOT \"$ENV\{DESTDIR}\" STREQUAL \"\")"
+ )
+ if(CMAKE_HOST_WIN32)
+ list(APPEND code
+ " if(qt_full_install_prefix MATCHES \"^[a-zA-Z]:\")"
+ " string(SUBSTRING \"$\{qt_full_install_prefix}\" 2 -1 qt_full_install_prefix)"
+ " endif()"
+ )
+ endif()
+ list(APPEND code
+ " string(PREPEND qt_full_install_prefix \"$ENV\{DESTDIR}\")"
+ " endif()"
+ " message(STATUS \"Creating hard link ${original} -> ${linkname}\")"
+ " file(CREATE_LINK \"${original}\" \"${linkname}\" COPY_ON_ERROR)")
+
+ if(QT_GENERATOR_IS_MULTI_CONFIG)
+ # Wrap the code in a configuration check,
+ # because install(CODE) does not support a CONFIGURATIONS argument.
+ qt_create_case_insensitive_regex(main_config_regex ${QT_MULTI_CONFIG_FIRST_CONFIG})
+ list(PREPEND code "if(\"\${CMAKE_INSTALL_CONFIG_NAME}\" MATCHES \"${main_config_regex}\")")
+ list(APPEND code "endif()")
+ endif()
+
+ list(JOIN code "\n" code)
+ install(CODE "${code}")
+endfunction()
diff --git a/cmake/QtInternalTargets.cmake b/cmake/QtInternalTargets.cmake
index 97386e22d8..5d530412da 100644
--- a/cmake/QtInternalTargets.cmake
+++ b/cmake/QtInternalTargets.cmake
@@ -72,6 +72,7 @@ endfunction()
add_library(PlatformCommonInternal INTERFACE)
add_library(Qt::PlatformCommonInternal ALIAS PlatformCommonInternal)
+target_link_libraries(PlatformCommonInternal INTERFACE Platform)
add_library(PlatformModuleInternal INTERFACE)
add_library(Qt::PlatformModuleInternal ALIAS PlatformModuleInternal)
@@ -151,6 +152,7 @@ if(WIN32)
target_compile_definitions(PlatformCommonInternal INTERFACE "UNICODE;_UNICODE")
if(MSVC)
target_compile_definitions(PlatformCommonInternal INTERFACE
+ "_CRT_SECURE_NO_WARNINGS"
"$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,SHARED_LIBRARY>:_WINDLL>"
)
endif()
diff --git a/cmake/QtLoadFilePrintVars.cmake b/cmake/QtLoadFilePrintVars.cmake
new file mode 100644
index 0000000000..fe0f3ee8d2
--- /dev/null
+++ b/cmake/QtLoadFilePrintVars.cmake
@@ -0,0 +1,15 @@
+# Load a file and print variables and their values
+#
+# IN_FILE: path to a file to be included
+# VARIABLES: list of variables to be printed
+
+cmake_minimum_required(VERSION 3.16)
+include("${IN_FILE}")
+
+# Print a magic comment that the caller must look for
+message(STATUS "---QtLoadFilePrintVars---")
+
+# Print the variables
+foreach(v IN LISTS VARIABLES)
+ message(STATUS "${v} ${${v}}")
+endforeach()
diff --git a/cmake/QtModuleDependencies.cmake.in b/cmake/QtModuleDependencies.cmake.in
index 8f7960059a..f9a5897676 100644
--- a/cmake/QtModuleDependencies.cmake.in
+++ b/cmake/QtModuleDependencies.cmake.in
@@ -8,7 +8,8 @@ endif()
find_dependency(@INSTALL_CMAKE_NAMESPACE@ @PROJECT_VERSION@
PATHS
"${CMAKE_CURRENT_LIST_DIR}/.."
- ${QT_ADDITIONAL_PACKAGES_PREFIX_PATH}
+ ${_qt_additional_packages_prefix_path}
+ ${_qt_additional_packages_prefix_path_env}
${QT_EXAMPLES_CMAKE_PREFIX_PATH}
${__qt_use_no_default_path_for_qt_packages}
)
@@ -86,7 +87,8 @@ foreach(_target_dep ${_target_deps})
find_dependency(${pkg} ${version}
PATHS
"${CMAKE_CURRENT_LIST_DIR}/.."
- ${QT_ADDITIONAL_PACKAGES_PREFIX_PATH}
+ ${_qt_additional_packages_prefix_path}
+ ${_qt_additional_packages_prefix_path_env}
${QT_EXAMPLES_CMAKE_PREFIX_PATH}
${__qt_use_no_default_path_for_qt_packages}
)
diff --git a/cmake/QtModuleHelpers.cmake b/cmake/QtModuleHelpers.cmake
index 834c2ec73e..86408eca8d 100644
--- a/cmake/QtModuleHelpers.cmake
+++ b/cmake/QtModuleHelpers.cmake
@@ -17,9 +17,10 @@
function(qt_internal_add_module target)
qt_internal_module_info(module "${target}")
+ # TODO: Remove GENERATE_METATYPES once it's not used anymore.
# Process arguments:
qt_parse_all_arguments(arg "qt_add_module"
- "NO_MODULE_HEADERS;STATIC;DISABLE_TOOLS_EXPORT;EXCEPTIONS;INTERNAL_MODULE;NO_SYNC_QT;NO_PRIVATE_MODULE;HEADER_MODULE;GENERATE_METATYPES;NO_CONFIG_HEADER_FILE;SKIP_DEPENDS_INCLUDE;NO_ADDITIONAL_TARGET_INFO"
+ "NO_MODULE_HEADERS;STATIC;DISABLE_TOOLS_EXPORT;EXCEPTIONS;INTERNAL_MODULE;NO_SYNC_QT;NO_PRIVATE_MODULE;HEADER_MODULE;GENERATE_METATYPES;NO_GENERATE_METATYPES;NO_CONFIG_HEADER_FILE;SKIP_DEPENDS_INCLUDE;NO_ADDITIONAL_TARGET_INFO"
"MODULE_INCLUDE_NAME;CONFIG_MODULE_NAME;PRECOMPILED_HEADER;CONFIGURE_FILE_PATH;${__default_target_info_args}"
"${__default_private_args};${__default_public_args};${__default_private_module_args};QMAKE_MODULE_CONFIG;EXTRA_CMAKE_FILES;EXTRA_CMAKE_INCLUDES;NO_PCH_SOURCES" ${ARGN})
@@ -166,7 +167,7 @@ function(qt_internal_add_module target)
)
endif()
- qt_internal_apply_win_prefix_and_suffix("${target}")
+ _qt_internal_apply_win_prefix_and_suffix("${target}")
if (WIN32 AND BUILD_SHARED_LIBS)
_qt_internal_generate_win32_rc_file(${target})
@@ -241,15 +242,6 @@ function(qt_internal_add_module target)
endif()
if(NOT arg_HEADER_MODULE)
- # This property is used for super builds with static libraries. We use
- # it in QtPlugins.cmake.in to avoid "polluting" the dependency chain
- # for the target in it's project directory.
- # E.g: When we process find_package(Qt6 ... Gui) in QtDeclarative, the
- # rules in QtPugins.cmake add all the known Gui plugins as interface
- # dependencies. This in turn causes circular dependencies on every
- # plugin which links against Gui. Plugin A -> GUI -> Plugin A ....
-
- set_target_properties(${target} PROPERTIES QT_BUILD_PROJECT_NAME ${PROJECT_NAME})
# Plugin types associated to a module
if(NOT "x${arg_PLUGIN_TYPES}" STREQUAL "x")
# Reset the variable containing the list of plugins for the given plugin type
@@ -366,10 +358,6 @@ function(qt_internal_add_module target)
)
endif()
- if(MSVC)
- list(APPEND defines_for_extend_target _CRT_SECURE_NO_WARNINGS)
- endif()
-
qt_internal_extend_target("${target}"
${header_module}
SOURCES ${arg_SOURCES}
@@ -406,8 +394,10 @@ function(qt_internal_add_module target)
# thus we can't use qt_internal_extend_target()'s PUBLIC_DEFINES option.
target_compile_definitions(${target} INTERFACE QT_${module_define_infix}_LIB)
- if(NOT ${arg_EXCEPTIONS} AND NOT ${arg_HEADER_MODULE})
- qt_internal_set_no_exceptions_flags("${target}")
+ if(NOT arg_EXCEPTIONS AND NOT ${arg_HEADER_MODULE})
+ qt_internal_set_exceptions_flags("${target}" FALSE)
+ elseif(arg_EXCEPTIONS)
+ qt_internal_set_exceptions_flags("${target}" TRUE)
endif()
set(configureFile "${CMAKE_CURRENT_SOURCE_DIR}/configure.cmake")
@@ -505,17 +495,24 @@ set(QT_CMAKE_EXPORT_NAMESPACE ${QT_CMAKE_EXPORT_NAMESPACE})")
endif()
# Generate metatypes
- set(QT_MODULE_HAS_META_TYPES_FILE FALSE)
- if (${arg_GENERATE_METATYPES})
- set(QT_MODULE_HAS_META_TYPES_FILE TRUE)
- set(metatypes_install_dir ${INSTALL_LIBDIR}/metatypes)
- set(args)
- if (NOT QT_WILL_INSTALL)
- set(args COPY_OVER_INSTALL INSTALL_DIR "${QT_BUILD_DIR}/${metatypes_install_dir}")
- else()
- set(args INSTALL_DIR "${metatypes_install_dir}")
+ if(${arg_GENERATE_METATYPES})
+ # No mention of NO_GENERATE_METATYPES. You should not use it.
+ message(WARNING "GENERATE_METATYPES is on by default for Qt modules. Please remove the manual specification.")
+ endif()
+ if (NOT ${arg_NO_GENERATE_METATYPES})
+ get_target_property(target_type ${target} TYPE)
+ if (NOT target_type STREQUAL "INTERFACE_LIBRARY")
+ set(metatypes_install_dir ${INSTALL_LIBDIR}/metatypes)
+ set(args)
+ if (NOT QT_WILL_INSTALL)
+ set(args COPY_OVER_INSTALL INSTALL_DIR "${QT_BUILD_DIR}/${metatypes_install_dir}")
+ else()
+ set(args INSTALL_DIR "${metatypes_install_dir}")
+ endif()
+ qt6_extract_metatypes(${target} ${args})
+ elseif(${arg_GENERATE_METATYPES})
+ message(FATAL_ERROR "Meta types generation does not work on interface libraries")
endif()
- qt6_extract_metatypes(${target} ${args})
endif()
qt_internal_get_min_new_policy_cmake_version(min_new_policy_version)
qt_internal_get_max_new_policy_cmake_version(max_new_policy_version)
@@ -561,11 +558,13 @@ set(QT_CMAKE_EXPORT_NAMESPACE ${QT_CMAKE_EXPORT_NAMESPACE})")
PRIVATE_HEADER DESTINATION ${INSTALL_INCLUDEDIR}/${module_include_name}/${PROJECT_VERSION}/${module}/private
)
- qt_apply_rpaths(TARGET "${target}" INSTALL_PATH "${INSTALL_LIBDIR}" RELATIVE_RPATH)
+ if(BUILD_SHARED_LIBS)
+ qt_apply_rpaths(TARGET "${target}" INSTALL_PATH "${INSTALL_LIBDIR}" RELATIVE_RPATH)
+ endif()
if (ANDROID AND NOT arg_HEADER_MODULE)
# Record install library location so it can be accessed by
- # qt_android_dependencies without having to specify it again.
+ # qt_internal_android_dependencies without having to specify it again.
set_target_properties(${target} PROPERTIES
QT_ANDROID_MODULE_INSTALL_DIR ${INSTALL_LIBDIR})
endif()
diff --git a/cmake/QtPlatformAndroid.cmake b/cmake/QtPlatformAndroid.cmake
index 1bca423d9e..0cd2b127c8 100644
--- a/cmake/QtPlatformAndroid.cmake
+++ b/cmake/QtPlatformAndroid.cmake
@@ -33,7 +33,7 @@ function(qt_get_android_sdk_jar_for_api api out_jar_location)
endfunction()
# Minimum recommend android SDK api version
-set(QT_ANDROID_API_VERSION "android-28")
+set(QT_ANDROID_API_VERSION "android-29")
# Locate android.jar
set(QT_ANDROID_JAR "${ANDROID_SDK_ROOT}/platforms/${QT_ANDROID_API_VERSION}/android.jar")
diff --git a/cmake/QtPlatformSupport.cmake b/cmake/QtPlatformSupport.cmake
index 1c428afe73..94ff238418 100644
--- a/cmake/QtPlatformSupport.cmake
+++ b/cmake/QtPlatformSupport.cmake
@@ -16,7 +16,7 @@ qt_set01(QNX CMAKE_SYSTEM_NAME STREQUAL "QNX") # FIXME: How to identify this?
qt_set01(OPENBSD CMAKE_SYSTEM_NAME STREQUAL "OpenBSD") # FIXME: How to identify this?
qt_set01(FREEBSD CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") # FIXME: How to identify this?
qt_set01(NETBSD CMAKE_SYSTEM_NAME STREQUAL "NetBSD") # FIXME: How to identify this?
-qt_set01(WASM CMAKE_SYSTEM_NAME STREQUAL "Emscripten")
+qt_set01(WASM CMAKE_SYSTEM_NAME STREQUAL "Emscripten" OR EMSCRIPTEN)
qt_set01(BSD APPLE OR OPENBSD OR FREEBSD OR NETBSD)
@@ -31,8 +31,8 @@ qt_set01(MACOS APPLE AND NOT UIKIT)
qt_set01(GCC CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
qt_set01(CLANG CMAKE_CXX_COMPILER_ID MATCHES "Clang")
qt_set01(APPLECLANG CMAKE_CXX_COMPILER_ID MATCHES "AppleClang")
-qt_set01(ICC CMAKE_C_COMPILER MATCHES "icc|icl")
-qt_set01(QCC CMAKE_C_COMPILER MATCHES "qcc") # FIXME: How to identify this?
+qt_set01(ICC CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
+qt_set01(QCC CMAKE_CXX_COMPILER_ID STREQUAL "QCC") # CMP0047
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(QT_64BIT TRUE)
diff --git a/cmake/QtPluginConfig.cmake.in b/cmake/QtPluginConfig.cmake.in
index 25ad75ce71..e3fe9f06ae 100644
--- a/cmake/QtPluginConfig.cmake.in
+++ b/cmake/QtPluginConfig.cmake.in
@@ -1,5 +1,14 @@
include_guard(DIRECTORY)
+if(DEFINED QT_REPO_DEPENDENCIES)
+ # We're building a Qt repository.
+ # Skip this plugin if it has not been provided by one of this repo's dependencies.
+ string(TOLOWER "@PROJECT_NAME@" lower_case_project_name)
+ if(NOT lower_case_project_name IN_LIST QT_REPO_DEPENDENCIES)
+ return()
+ endif()
+endif()
+
@PACKAGE_INIT@
cmake_minimum_required(VERSION @min_new_policy_version@...@max_new_policy_version@)
diff --git a/cmake/QtPluginDependencies.cmake.in b/cmake/QtPluginDependencies.cmake.in
index 42365b4296..7bd1eef9aa 100644
--- a/cmake/QtPluginDependencies.cmake.in
+++ b/cmake/QtPluginDependencies.cmake.in
@@ -42,7 +42,8 @@ foreach(_target_dep ${_target_deps})
find_dependency(${pkg} ${version}
PATHS
@find_dependency_paths@
- ${QT_ADDITIONAL_PACKAGES_PREFIX_PATH}
+ ${_qt_additional_packages_prefix_path}
+ ${_qt_additional_packages_prefix_path_env}
${QT_EXAMPLES_CMAKE_PREFIX_PATH}
${__qt_use_no_default_path_for_qt_packages}
)
diff --git a/cmake/QtPluginHelpers.cmake b/cmake/QtPluginHelpers.cmake
index 497ccc0e89..a3a4c94a80 100644
--- a/cmake/QtPluginHelpers.cmake
+++ b/cmake/QtPluginHelpers.cmake
@@ -1,40 +1,87 @@
+# Note that these are only the keywords that are unique to qt_internal_add_plugin().
+# That function also supports the keywords defined by _qt_internal_get_add_plugin_keywords().
+macro(qt_internal_get_internal_add_plugin_keywords option_args single_args multi_args)
+ set(${option_args}
+ EXCEPTIONS
+ ALLOW_UNDEFINED_SYMBOLS
+ SKIP_INSTALL
+ )
+ set(${single_args}
+ OUTPUT_DIRECTORY
+ INSTALL_DIRECTORY
+ ARCHIVE_INSTALL_DIRECTORY
+ ${__default_target_info_args}
+ )
+ set(${multi_args}
+ ${__default_private_args}
+ ${__default_public_args}
+ DEFAULT_IF
+ )
+endmacro()
+
# This is the main entry point for defining Qt plugins.
# A CMake target is created with the given target. The TYPE parameter is needed to place the
# plugin into the correct plugins/ sub-directory.
function(qt_internal_add_plugin target)
- qt_internal_module_info(module "${target}")
-
qt_internal_set_qt_known_plugins("${QT_KNOWN_PLUGINS}" "${target}")
+ _qt_internal_get_add_plugin_keywords(
+ public_option_args
+ public_single_args
+ public_multi_args
+ )
+ qt_internal_get_internal_add_plugin_keywords(
+ internal_option_args
+ internal_single_args
+ internal_multi_args
+ )
+ set(option_args ${public_option_args} ${internal_option_args})
+ set(single_args ${public_single_args} ${internal_single_args})
+ set(multi_args ${public_multi_args} ${internal_multi_args})
+
qt_parse_all_arguments(arg "qt_internal_add_plugin"
- "${__qt_add_plugin_optional_args};SKIP_INSTALL"
- "${__qt_add_plugin_single_args}"
- "${__qt_add_plugin_multi_args}"
+ "${option_args}"
+ "${single_args}"
+ "${multi_args}"
"${ARGN}"
)
+ # Put this behind a cache option for now. It's too noisy for general use
+ # until most repos are updated.
+ option(QT_WARN_PLUGIN_PUBLIC_KEYWORDS "Warn if a plugin specifies a PUBLIC keyword")
+ if(QT_WARN_PLUGIN_PUBLIC_KEYWORDS)
+ foreach(publicKeyword IN LISTS __default_public_args)
+ if(NOT "${arg_${publicKeyword}}" STREQUAL "")
+ string(REPLACE "PUBLIC_" "" privateKeyword "${publicKeyword}")
+ message(AUTHOR_WARNING
+ "Plugins are not intended to be linked to. "
+ "They should not have any public properties, but ${target} "
+ "sets ${publicKeyword} to the following value:\n"
+ " ${arg_${publicKeyword}}\n"
+ "Update your project to use ${privateKeyword} instead.\n")
+ endif()
+ endforeach()
+ endif()
+
+ qt_remove_args(plugin_args
+ ARGS_TO_REMOVE
+ ${internal_option_args}
+ ${internal_single_args}
+ ${internal_multi_args}
+ ALL_ARGS
+ ${option_args}
+ ${single_args}
+ ${multi_args}
+ ARGS
+ ${ARGN}
+ )
+ qt6_add_plugin(${target} ${plugin_args})
+
qt_get_sanitized_plugin_type("${arg_TYPE}" plugin_type_escaped)
set(output_directory_default "${QT_BUILD_DIR}/${INSTALL_PLUGINSDIR}/${arg_TYPE}")
set(install_directory_default "${INSTALL_PLUGINSDIR}/${arg_TYPE}")
- if (arg_QML_TARGET_PATH)
- set(target_path "${arg_QML_TARGET_PATH}")
- set(output_directory_default "${QT_BUILD_DIR}/${INSTALL_QMLDIR}/${target_path}")
- set(install_directory_default "${INSTALL_QMLDIR}/${target_path}")
- endif()
-
- # Derive the class name from the target name if it's not explicitly specified.
- # Don't set it for qml plugins though.
- set(plugin_class_name "")
- if (NOT "${plugin_type_escaped}" STREQUAL "qml_plugin")
- if (NOT arg_CLASS_NAME)
- set(plugin_class_name "${target}")
- else()
- set(plugin_class_name "${arg_CLASS_NAME}")
- endif()
- endif()
-
qt_internal_check_directory_or_type(OUTPUT_DIRECTORY "${arg_OUTPUT_DIRECTORY}" "${arg_TYPE}"
"${output_directory_default}" output_directory)
if (NOT arg_SKIP_INSTALL)
@@ -46,42 +93,28 @@ function(qt_internal_add_plugin target)
endif()
endif()
- if(arg_STATIC OR NOT BUILD_SHARED_LIBS)
- add_library("${target}" STATIC)
- else()
- add_library("${target}" MODULE)
- if(APPLE)
- # CMake defaults to using .so extensions for loadable modules, aka plugins,
- # but Qt plugins are actually suffixed with .dylib.
- set_property(TARGET "${target}" PROPERTY SUFFIX ".dylib")
- endif()
- qt_internal_apply_win_prefix_and_suffix("${target}")
- endif()
-
qt_set_common_target_properties(${target})
qt_set_target_info_properties(${target} ${ARGN} TARGET_VERSION "${arg_VERSION}")
+ # Override the OUTPUT_NAME that qt6_add_plugin() set, we need to account for
+ # QT_LIBINFIX, which is specific to building Qt.
# Make sure the Qt6 plugin library names are like they were in Qt5 qmake land.
# Whereas the Qt6 CMake target names are like the Qt5 CMake target names.
- set(output_name "${target}")
- if(arg_OUTPUT_NAME)
- set(output_name "${arg_OUTPUT_NAME}")
- endif()
+ get_target_property(output_name ${target} OUTPUT_NAME)
set_property(TARGET "${target}" PROPERTY OUTPUT_NAME "${output_name}${QT_LIBINFIX}")
# Add a custom target with the Qt5 qmake name for a more user friendly ninja experience.
if(arg_OUTPUT_NAME AND NOT TARGET "${output_name}")
- add_custom_target("${output_name}")
- add_dependencies("${output_name}" "${target}")
+ # But don't create such a target if it would just differ in case from "${target}"
+ # and we're not using Ninja. See https://gitlab.kitware.com/cmake/cmake/-/issues/21915
+ string(TOUPPER "${output_name}" uc_output_name)
+ string(TOUPPER "${target}" uc_target)
+ if(NOT uc_output_name STREQUAL uc_target OR CMAKE_GENERATOR MATCHES "^Ninja")
+ add_custom_target("${output_name}")
+ add_dependencies("${output_name}" "${target}")
+ endif()
endif()
- if (ANDROID)
- qt_android_apply_arch_suffix("${target}")
- set_target_properties(${target}
- PROPERTIES
- LIBRARY_OUTPUT_NAME "plugins_${arg_TYPE}_${output_name}"
- )
- endif()
qt_internal_add_target_aliases("${target}")
qt_skip_warnings_are_errors_when_repo_unclean("${target}")
_qt_internal_apply_strict_cpp("${target}")
@@ -97,28 +130,77 @@ function(qt_internal_add_plugin target)
QT_PLUGIN_TYPE "${plugin_type_escaped}"
# Save the non-sanitized plugin type values for qmake consumption via .pri files.
QT_QMAKE_PLUGIN_TYPE "${arg_TYPE}"
- QT_PLUGIN_CLASS_NAME "${plugin_class_name}")
- qt_handle_multi_config_output_dirs("${target}")
+ )
+
+ qt_handle_multi_config_output_dirs("${target}")
qt_internal_library_deprecation_level(deprecation_define)
qt_autog