summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/ninja-build.yml9
-rw-r--r--.gitignore2
-rw-r--r--CMakeLists.txt2
-rw-r--r--LICENSE.FDL23
-rw-r--r--LICENSE.LGPLv3175
-rw-r--r--LICENSE.QT-LICENSE-AGREEMENT1688
-rw-r--r--bin/qmake-and-qtpaths-wrapper.bat.in2
-rwxr-xr-x[-rw-r--r--]bin/qmake-and-qtpaths-wrapper.in (renamed from bin/qmake-wrapper-for-target.in)2
-rw-r--r--bin/qmake-wrapper-for-target.bat.in2
-rw-r--r--cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake48
-rw-r--r--cmake/FindWrapVulkanHeaders.cmake12
-rw-r--r--cmake/Qt3rdPartyLibraryHelpers.cmake7
-rw-r--r--cmake/QtAutoDetect.cmake68
-rw-r--r--cmake/QtAutogenHelpers.cmake2
-rw-r--r--cmake/QtBaseConfigureTests.cmake25
-rw-r--r--cmake/QtBaseGlobalTargets.cmake26
-rw-r--r--cmake/QtBuild.cmake23
-rw-r--r--cmake/QtBuildInformation.cmake4
-rw-r--r--cmake/QtBuildInternals/QtBuildInternalsConfig.cmake9
-rw-r--r--cmake/QtBuildInternalsExtra.cmake.in4
-rw-r--r--cmake/QtCMakeHelpers.cmake22
-rw-r--r--cmake/QtCMakePackageVersionFile.cmake.in55
-rw-r--r--cmake/QtCMakeVersionHelpers.cmake13
-rw-r--r--cmake/QtCompilerFlags.cmake14
-rw-r--r--cmake/QtCompilerOptimization.cmake59
-rw-r--r--cmake/QtConfig.cmake.in3
-rw-r--r--cmake/QtDocsHelpers.cmake18
-rw-r--r--cmake/QtFeature.cmake42
-rw-r--r--cmake/QtFindPackageHelpers.cmake61
-rw-r--r--cmake/QtFlagHandlingHelpers.cmake17
-rw-r--r--cmake/QtFrameworkHelpers.cmake1
-rw-r--r--cmake/QtHeadersClean.cmake50
-rw-r--r--cmake/QtInternalTargets.cmake55
-rw-r--r--cmake/QtLalrHelpers.cmake11
-rw-r--r--cmake/QtModuleConfig.cmake.in2
-rw-r--r--cmake/QtModuleHelpers.cmake22
-rw-r--r--cmake/QtPlatformAndroid.cmake31
-rw-r--r--cmake/QtPlatformSupport.cmake4
-rw-r--r--cmake/QtPluginHelpers.cmake7
-rw-r--r--cmake/QtPostProcessHelpers.cmake29
-rw-r--r--cmake/QtPriHelpers.cmake149
-rw-r--r--cmake/QtProcessConfigureArgs.cmake39
-rw-r--r--cmake/QtPublicWasmToolchainHelpers.cmake71
-rw-r--r--cmake/QtQmakeHelpers.cmake73
-rw-r--r--cmake/QtResourceHelpers.cmake18
-rw-r--r--cmake/QtTargetHelpers.cmake47
-rw-r--r--cmake/QtTestHelpers.cmake8
-rw-r--r--cmake/QtToolHelpers.cmake93
-rw-r--r--cmake/QtToolchainHelpers.cmake61
-rw-r--r--cmake/QtWasmHelpers.cmake17
-rw-r--r--cmake/ios/MacOSXBundleInfo.plist.in2
-rw-r--r--cmake/macos/MacOSXBundleInfo.plist.in2
-rw-r--r--cmake/platforms/Platform/Integrity.cmake8
-rw-r--r--cmake/qt.toolchain.cmake.in86
-rw-r--r--coin/instructions/cmake_build_and_upload_test_artifacts.yaml7
-rw-r--r--coin/instructions/cmake_cross_compilation_qtbase_build_instructions.yaml4
-rw-r--r--coin/instructions/cmake_documentation_build.yaml23
-rw-r--r--coin/instructions/cmake_run_ctest_enforce_exit_code.yaml42
-rw-r--r--coin/instructions/cmake_setup_running_qnxqemu_tests_env_vars.yaml40
-rw-r--r--coin/instructions/cmake_setup_running_tests_env_vars.yaml16
-rw-r--r--coin/instructions/coin_module_build_template_v2.yaml2
-rw-r--r--coin/instructions/coin_module_test_docs.yaml36
-rw-r--r--coin/instructions/coin_module_test_qnx_start_emulator.yaml90
-rw-r--r--coin/instructions/coin_module_test_template_common.yaml1
-rw-r--r--coin/instructions/coin_module_test_template_v2.yaml2
-rw-r--r--coin/instructions/coin_module_test_template_v3.yaml2
-rw-r--r--coin/instructions/coin_qtbase_build_template_v2.yaml2
-rw-r--r--coin/instructions/coin_qtbase_test_docs.yaml39
-rw-r--r--coin/instructions/prepare_building_env.yaml75
-rw-r--r--coin/module_config.yaml1
-rw-r--r--conanfile.py134
-rw-r--r--config.tests/arch/CMakeLists.txt4
-rw-r--r--config.tests/separate_debug_info/CMakeLists.txt1
-rw-r--r--config_help.txt2
-rw-r--r--configure.cmake6
-rw-r--r--doc/global/macros.qdocconf10
-rw-r--r--doc/global/qt-cpp-defines.qdocconf12
-rw-r--r--doc/global/template/style/offline.css35
-rw-r--r--doc/global/template/style/online.css19
-rw-r--r--examples/corelib/CMakeLists.txt1
-rw-r--r--examples/corelib/bindableproperties/CMakeLists.txt2
-rw-r--r--examples/corelib/bindableproperties/bindableproperties.pro4
-rw-r--r--examples/corelib/bindableproperties/bindablesubscription/CMakeLists.txt53
-rw-r--r--examples/corelib/bindableproperties/bindablesubscription/bindablesubscription.cpp98
-rw-r--r--examples/corelib/bindableproperties/bindablesubscription/bindablesubscription.h91
-rw-r--r--examples/corelib/bindableproperties/bindablesubscription/bindablesubscription.pro22
-rw-r--r--examples/corelib/bindableproperties/bindablesubscription/bindableuser.cpp65
-rw-r--r--examples/corelib/bindableproperties/bindablesubscription/bindableuser.h86
-rw-r--r--examples/corelib/bindableproperties/bindablesubscription/main.cpp118
-rw-r--r--examples/corelib/bindableproperties/doc/images/bindable_properties_example.pngbin0 -> 18831 bytes
-rw-r--r--examples/corelib/bindableproperties/doc/src/bindableproperties.qdoc202
-rw-r--r--examples/corelib/bindableproperties/shared/countries.qrc7
-rw-r--r--examples/corelib/bindableproperties/shared/finland.pngbin0 -> 1062 bytes
-rw-r--r--examples/corelib/bindableproperties/shared/germany.pngbin0 -> 483 bytes
-rw-r--r--examples/corelib/bindableproperties/shared/norway.pngbin0 -> 5190 bytes
-rw-r--r--examples/corelib/bindableproperties/shared/subscriptionwindow.cpp63
-rw-r--r--examples/corelib/bindableproperties/shared/subscriptionwindow.h76
-rw-r--r--examples/corelib/bindableproperties/shared/subscriptionwindow.ui280
-rw-r--r--examples/corelib/bindableproperties/subscription/CMakeLists.txt53
-rw-r--r--examples/corelib/bindableproperties/subscription/main.cpp138
-rw-r--r--examples/corelib/bindableproperties/subscription/subscription.cpp126
-rw-r--r--examples/corelib/bindableproperties/subscription/subscription.h95
-rw-r--r--examples/corelib/bindableproperties/subscription/subscription.pro22
-rw-r--r--examples/corelib/bindableproperties/subscription/user.cpp71
-rw-r--r--examples/corelib/bindableproperties/subscription/user.h86
-rw-r--r--examples/corelib/platform/androidnotifier/CMakeLists.txt9
-rw-r--r--examples/dbus/chat/.prev_CMakeLists.txt43
-rw-r--r--examples/dbus/remotecontrolledcar/car/.prev_CMakeLists.txt42
-rw-r--r--examples/dbus/remotecontrolledcar/controller/.prev_CMakeLists.txt42
-rw-r--r--examples/embedded/flightinfo/.prev_CMakeLists.txt47
-rw-r--r--examples/embedded/styleexample/.prev_CMakeLists.txt52
-rw-r--r--examples/gui/analogclock/.prev_CMakeLists.txt42
-rw-r--r--examples/gui/rasterwindow/.prev_CMakeLists.txt42
-rw-r--r--examples/gui/rasterwindow/CMakeLists.txt2
-rw-r--r--examples/gui/rasterwindow/rasterwindow.h3
-rw-r--r--examples/network/.prev_CMakeLists.txt38
-rw-r--r--examples/network/multistreamclient/timeconsumer.cpp2
-rw-r--r--examples/network/multistreamserver/timeprovider.cpp2
-rw-r--r--examples/opengl/openglwindow/.prev_CMakeLists.txt36
-rw-r--r--examples/qpa/qrasterwindow/.prev_CMakeLists.txt29
-rw-r--r--examples/qtconcurrent/map/.prev_CMakeLists.txt39
-rw-r--r--examples/sql/.prev_CMakeLists.txt18
-rw-r--r--examples/widgets/.prev_CMakeLists.txt32
-rw-r--r--examples/widgets/desktop/systray/doc/src/systray.qdoc8
-rw-r--r--examples/widgets/desktop/systray/window.cpp5
-rw-r--r--examples/widgets/dialogs/.prev_CMakeLists.txt13
-rw-r--r--examples/widgets/draganddrop/puzzle/.prev_CMakeLists.txt55
-rw-r--r--examples/widgets/draganddrop/puzzle/puzzlewidget.cpp4
-rw-r--r--examples/widgets/graphicsview/chip/.prev_CMakeLists.txt66
-rw-r--r--examples/widgets/graphicsview/flowlayout/.prev_CMakeLists.txt41
-rw-r--r--examples/widgets/itemviews/.prev_CMakeLists.txt27
-rw-r--r--examples/widgets/itemviews/pixelator/.prev_CMakeLists.txt61
-rw-r--r--examples/widgets/itemviews/puzzle/.prev_CMakeLists.txt55
-rw-r--r--examples/widgets/itemviews/puzzle/puzzlewidget.cpp4
-rw-r--r--examples/widgets/itemviews/spreadsheet/.prev_CMakeLists.txt62
-rw-r--r--examples/widgets/mainwindows/dockwidgets/.prev_CMakeLists.txt62
-rw-r--r--examples/widgets/painting/.prev_CMakeLists.txt13
-rw-r--r--examples/widgets/painting/affine/.prev_CMakeLists.txt118
-rw-r--r--examples/widgets/painting/affine/xform.cpp93
-rw-r--r--examples/widgets/painting/affine/xform.h16
-rw-r--r--examples/widgets/painting/composition/.prev_CMakeLists.txt119
-rw-r--r--examples/widgets/painting/deform/.prev_CMakeLists.txt117
-rw-r--r--examples/widgets/painting/deform/pathdeform.cpp2
-rw-r--r--examples/widgets/painting/gradients/.prev_CMakeLists.txt117
-rw-r--r--examples/widgets/painting/pathstroke/.prev_CMakeLists.txt117
-rw-r--r--examples/widgets/painting/shared/arthurwidgets.cpp30
-rw-r--r--examples/widgets/painting/shared/arthurwidgets.h18
-rw-r--r--examples/widgets/painting/shared/hoverpoints.cpp368
-rw-r--r--examples/widgets/painting/shared/hoverpoints.h28
-rw-r--r--examples/widgets/qnx/foreignwindows/collector.cpp2
-rw-r--r--examples/widgets/qnx/foreignwindows/collector.h2
-rw-r--r--examples/widgets/richtext/textedit/.prev_CMakeLists.txt108
-rw-r--r--examples/widgets/richtext/textedit/example.html9
-rw-r--r--examples/widgets/tools/.prev_CMakeLists.txt17
-rw-r--r--examples/widgets/tools/echoplugin/echowindow/.prev_CMakeLists.txt41
-rw-r--r--examples/widgets/tools/echoplugin/echowindow/CMakeLists.txt1
-rw-r--r--examples/widgets/tools/echoplugin/plugin/.prev_CMakeLists.txt35
-rw-r--r--examples/widgets/tools/plugandpaint/app/.prev_CMakeLists.txt74
-rw-r--r--examples/widgets/tools/plugandpaint/app/CMakeLists.txt1
-rw-r--r--examples/widgets/tools/plugandpaint/plugins/basictools/.prev_CMakeLists.txt36
-rw-r--r--examples/widgets/tools/plugandpaint/plugins/extrafilters/.prev_CMakeLists.txt36
-rw-r--r--examples/widgets/tools/styleplugin/.prev_CMakeLists.txt4
-rw-r--r--examples/widgets/tools/styleplugin/plugin/.prev_CMakeLists.txt32
-rw-r--r--examples/widgets/tools/styleplugin/stylewindow/CMakeLists.txt1
-rw-r--r--examples/widgets/tools/treemodelcompleter/mainwindow.cpp5
-rw-r--r--examples/widgets/touch/fingerpaint/.prev_CMakeLists.txt47
-rw-r--r--examples/widgets/tutorials/notepad/.prev_CMakeLists.txt76
-rw-r--r--examples/widgets/widgets/icons/.prev_CMakeLists.txt47
-rw-r--r--examples/widgets/widgets/imageviewer/.prev_CMakeLists.txt46
-rw-r--r--examples/widgets/widgets/scribble/.prev_CMakeLists.txt47
-rw-r--r--examples/widgets/widgets/tetrix/tetrixwindow.cpp9
-rw-r--r--examples/xml/htmlinfo/.prev_CMakeLists.txt44
-rw-r--r--examples/xml/xmlstreamlint/.prev_CMakeLists.txt35
-rwxr-xr-xlibexec/syncqt.pl2
-rw-r--r--mkspecs/common/macx.conf2
-rw-r--r--mkspecs/common/msvc-based-version.conf8
-rw-r--r--mkspecs/common/msvc-version.conf13
-rw-r--r--mkspecs/cygwin-g++/qplatformdefs.h2
-rw-r--r--mkspecs/features/android/android.prf8
-rw-r--r--mkspecs/features/android/sdk.prf2
-rw-r--r--mkspecs/features/mac/default_post.prf2
-rw-r--r--mkspecs/features/qt_docs.prf16
-rw-r--r--mkspecs/features/qt_module.prf7
-rw-r--r--mkspecs/features/wasm/wasm.prf9
-rw-r--r--mkspecs/win32-g++/qplatformdefs.h2
-rw-r--r--qmake/CMakeLists.txt5
-rw-r--r--qmake/configure.cmake12
-rw-r--r--qmake/doc/qmake.qdocconf3
-rw-r--r--qmake/generators/makefiledeps.cpp72
-rw-r--r--qmake/generators/win32/msvc_objectmodel.cpp3
-rw-r--r--qmake/generators/win32/msvc_objectmodel.h3
-rw-r--r--qmake/generators/win32/msvc_vcproj.cpp110
-rw-r--r--qmake/library/ioutils.cpp2
-rw-r--r--qmake/library/qmakebuiltins.cpp2
-rw-r--r--qmake/library/qmakeevaluator.cpp2
-rw-r--r--qmake/library/qmakeglobals.cpp2
-rw-r--r--qmake/qmakelibraryinfo.cpp27
-rw-r--r--qt_cmdline.cmake18
-rw-r--r--src/3rdparty/gradle/LICENSE420
-rw-r--r--src/3rdparty/gradle/LICENSE-GRADLEW.txt965
-rw-r--r--src/3rdparty/gradle/gradle.properties5
-rw-r--r--src/3rdparty/gradle/gradle/wrapper/gradle-wrapper.jarbin59203 -> 59536 bytes
-rw-r--r--src/3rdparty/gradle/gradle/wrapper/gradle-wrapper.properties2
-rwxr-xr-xsrc/3rdparty/gradle/gradlew259
-rw-r--r--src/3rdparty/gradle/gradlew.bat2
-rw-r--r--src/3rdparty/gradle/qt_attribution.json7
-rw-r--r--src/3rdparty/harfbuzz-ng/NEWS70
-rw-r--r--src/3rdparty/harfbuzz-ng/qt_attribution.json9
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-algs.hh34
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-bit-page.hh203
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-bit-set-invertible.hh354
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-bit-set.hh808
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-buffer-deserialize-json.hh1189
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-buffer-deserialize-text.hh1437
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-buffer.cc22
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-common.cc11
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-common.h14
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-deprecated.h3
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ft.cc24
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-glib.cc12
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-icu.cc12
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-map.cc5
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-map.hh2
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-object.hh17
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-cmap-table.hh82
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-color-cpal-table.hh13
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-font.cc12
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-layout-gsubgpos.hh35
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-map.cc25
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-name.cc9
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-post-table-v2subset.hh24
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-arabic-joining-list.hh9
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-arabic-table.hh38
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-indic-table.cc42
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-khmer-machine.hh665
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-use-machine.hh1036
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-use-table.hh76
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex-vowel-constraints.cc4
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape-complex.hh9
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-shape.cc17
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ot-tag-table.hh27
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-serialize.hh15
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-set.cc25
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-set.h3
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-set.hh925
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-shape-plan.cc4
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-shape.cc12
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-shaper.cc12
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-style.cc64
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-style.h42
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-subset-input.cc267
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-subset-input.hh47
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-subset-plan.cc171
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-subset.cc8
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-subset.h107
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ucd-table.hh6580
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-ucd.cc10
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-unicode-emoji-table.hh8
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-uniscribe.cc12
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb-version.h6
-rw-r--r--src/3rdparty/harfbuzz-ng/src/hb.hh21
-rw-r--r--src/3rdparty/libjpeg/COPYRIGHT.txt4
-rw-r--r--src/3rdparty/pcre2/AUTHORS2
-rw-r--r--src/3rdparty/pcre2/LICENCE2
-rw-r--r--src/3rdparty/pcre2/qt_attribution.json8
-rw-r--r--src/3rdparty/pcre2/src/pcre2.h12
-rw-r--r--src/3rdparty/pcre2/src/pcre2_compile.c34
-rw-r--r--src/3rdparty/pcre2/src/pcre2_dfa_match.c69
-rw-r--r--src/3rdparty/pcre2/src/pcre2_error.c3
-rw-r--r--src/3rdparty/pcre2/src/pcre2_jit_compile.c51
-rw-r--r--src/3rdparty/pcre2/src/pcre2_jit_simd_inc.h21
-rw-r--r--src/3rdparty/pcre2/src/pcre2_match.c73
-rw-r--r--src/3rdparty/pcre2/src/pcre2_tables.c347
-rw-r--r--src/3rdparty/pcre2/src/pcre2_ucd.c6060
-rw-r--r--src/3rdparty/pcre2/src/pcre2_ucp.h8
-rw-r--r--src/3rdparty/pcre2/src/sljit/sljitConfigInternal.h12
-rw-r--r--src/3rdparty/pcre2/src/sljit/sljitLir.c25
-rw-r--r--src/3rdparty/pcre2/src/sljit/sljitLir.h76
-rw-r--r--src/3rdparty/pcre2/src/sljit/sljitNativeARM_32.c23
-rw-r--r--src/3rdparty/pcre2/src/sljit/sljitNativeARM_64.c21
-rw-r--r--src/3rdparty/pcre2/src/sljit/sljitNativeARM_T2_32.c21
-rw-r--r--src/3rdparty/pcre2/src/sljit/sljitNativeMIPS_32.c2
-rw-r--r--src/3rdparty/pcre2/src/sljit/sljitNativeMIPS_64.c2
-rw-r--r--src/3rdparty/pcre2/src/sljit/sljitNativeMIPS_common.c16
-rw-r--r--src/3rdparty/pcre2/src/sljit/sljitNativePPC_32.c26
-rw-r--r--src/3rdparty/pcre2/src/sljit/sljitNativePPC_64.c32
-rw-r--r--src/3rdparty/pcre2/src/sljit/sljitNativePPC_common.c93
-rw-r--r--src/3rdparty/pcre2/src/sljit/sljitNativeS390X.c1737
-rw-r--r--src/3rdparty/pcre2/src/sljit/sljitNativeSPARC_32.c3
-rw-r--r--src/3rdparty/pcre2/src/sljit/sljitNativeSPARC_common.c18
-rw-r--r--src/3rdparty/pcre2/src/sljit/sljitNativeX86_common.c2
-rw-r--r--src/3rdparty/tinycbor/qt_attribution.json4
-rw-r--r--src/3rdparty/wasm/qt_attribution.json1
-rw-r--r--src/3rdparty/xcb/README28
-rw-r--r--src/3rdparty/xcb/include/xcb/touchpad-gestures-h.patch207
-rw-r--r--src/3rdparty/xcb/include/xcb/xinput.h154
-rw-r--r--src/3rdparty/xcb/libxcb/touchpad-gestures-c.patch78
-rw-r--r--src/3rdparty/xcb/libxcb/xinput.c46
-rw-r--r--src/android/jar/build.gradle13
-rw-r--r--src/android/jar/src/org/qtproject/qt/android/QtActivityDelegate.java19
-rw-r--r--src/android/jar/src/org/qtproject/qt/android/QtNative.java199
-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/QtLoader.java12
-rw-r--r--src/android/templates/AndroidManifest.xml53
-rw-r--r--src/android/templates/build.gradle17
-rw-r--r--src/android/templates/doc/src/android-manifest-file-configuration.qdoc290
-rw-r--r--src/concurrent/doc/qtconcurrent.qdocconf3
-rw-r--r--src/concurrent/doc/src/qtconcurrent-index.qdoc2
-rw-r--r--src/concurrent/qtconcurrentfunctionwrappers.h2
-rw-r--r--src/concurrent/qtconcurrentthreadengine.cpp2
-rw-r--r--src/corelib/CMakeLists.txt96
-rw-r--r--src/corelib/Qt6AndroidMacros.cmake341
-rw-r--r--src/corelib/Qt6CTestMacros.cmake124
-rw-r--r--src/corelib/Qt6CoreConfigExtras.cmake.in5
-rw-r--r--src/corelib/Qt6CoreMacros.cmake149
-rw-r--r--src/corelib/QtCore.dynlist2
-rw-r--r--src/corelib/animation/qabstractanimation.cpp9
-rw-r--r--src/corelib/animation/qabstractanimation_p.h1
-rw-r--r--src/corelib/animation/qanimationgroup.cpp2
-rw-r--r--src/corelib/compat/removed_api.cpp24
-rw-r--r--src/corelib/doc/qtcore.qdocconf7
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_global_qglobal.cpp14
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_kernel_qabstractnativeeventfilter.cpp2
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_kernel_qabstractnativeeventfilter.h2
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_kernel_qabstractnativeeventfilter.mm2
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_kernel_qproperty.cpp37
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_thread_qfuture.cpp104
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_tools_qpoint.cpp4
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_tools_qscopedpointer.cpp2
-rw-r--r--src/corelib/doc/snippets/qmetatype/registerConverters.cpp101
-rw-r--r--src/corelib/doc/src/cmake/cmake-commands.qdoc40
-rw-r--r--src/corelib/doc/src/cmake/cmake-properties.qdoc34
-rw-r--r--src/corelib/doc/src/cmake/cmake-variables.qdoc43
-rw-r--r--src/corelib/doc/src/cmake/qt_add_big_resources.qdoc8
-rw-r--r--src/corelib/doc/src/cmake/qt_add_binary_resources.qdoc6
-rw-r--r--src/corelib/doc/src/cmake/qt_add_executable.qdoc6
-rw-r--r--src/corelib/doc/src/cmake/qt_add_library.qdoc6
-rw-r--r--src/corelib/doc/src/cmake/qt_add_plugin.qdoc6
-rw-r--r--src/corelib/doc/src/cmake/qt_add_resources.qdoc6
-rw-r--r--src/corelib/doc/src/cmake/qt_allow_non_utf8_sources.qdoc6
-rw-r--r--src/corelib/doc/src/cmake/qt_android_add_apk_target.qdoc6
-rw-r--r--src/corelib/doc/src/cmake/qt_android_apply_arch_suffix.qdoc6
-rw-r--r--src/corelib/doc/src/cmake/qt_android_generate_deployment_settings.qdoc6
-rw-r--r--src/corelib/doc/src/cmake/qt_disable_unicode_defines.qdoc6
-rw-r--r--src/corelib/doc/src/cmake/qt_extract_metatypes.qdoc2
-rw-r--r--src/corelib/doc/src/cmake/qt_finalize_target.qdoc6
-rw-r--r--src/corelib/doc/src/cmake/qt_generate_moc.qdoc6
-rw-r--r--src/corelib/doc/src/cmake/qt_import_plugins.qdoc6
-rw-r--r--src/corelib/doc/src/cmake/qt_set_finalizer_mode.qdoc2
-rw-r--r--src/corelib/doc/src/cmake/qt_wrap_cpp.qdoc7
-rw-r--r--src/corelib/doc/src/containers.qdoc2
-rw-r--r--src/corelib/doc/src/includes/cmake-find-package-core.qdocinc5
-rw-r--r--src/corelib/doc/src/objectmodel/bindableproperties.qdoc16
-rw-r--r--src/corelib/doc/src/objectmodel/properties.qdoc17
-rw-r--r--src/corelib/doc/src/qt6-changes.qdoc36
-rw-r--r--src/corelib/doc/src/qtcore-index.qdoc6
-rw-r--r--src/corelib/global/minimum-linux.S81
-rw-r--r--src/corelib/global/minimum-linux_p.h27
-rw-r--r--src/corelib/global/q20algorithm.h4
-rw-r--r--src/corelib/global/q20functional.h4
-rw-r--r--src/corelib/global/q20iterator.h (renamed from src/corelib/kernel/qapplicationpermission.h)65
-rw-r--r--src/corelib/global/qcompilerdetection.h44
-rw-r--r--src/corelib/global/qconfig-bootstrapped.h2
-rw-r--r--src/corelib/global/qconfig.cpp.in19
-rw-r--r--src/corelib/global/qendian.h4
-rw-r--r--src/corelib/global/qfloat16.cpp42
-rw-r--r--src/corelib/global/qfloat16.h2
-rw-r--r--src/corelib/global/qfloat16_f16c.c88
-rw-r--r--src/corelib/global/qglobal.cpp43
-rw-r--r--src/corelib/global/qglobal.h145
-rw-r--r--src/corelib/global/qglobalstatic.h43
-rw-r--r--src/corelib/global/qlibraryinfo.cpp191
-rw-r--r--src/corelib/global/qlibraryinfo_p.h11
-rw-r--r--src/corelib/global/qlogging.cpp12
-rw-r--r--src/corelib/global/qlogging.h6
-rw-r--r--src/corelib/global/qnamespace.qdoc8
-rw-r--r--src/corelib/global/qnativeinterface.h33
-rw-r--r--src/corelib/global/qnativeinterface_p.h99
-rw-r--r--src/corelib/global/qoperatingsystemversion.cpp125
-rw-r--r--src/corelib/global/qoperatingsystemversion.h211
-rw-r--r--src/corelib/global/qoperatingsystemversion_darwin.mm10
-rw-r--r--src/corelib/global/qoperatingsystemversion_win.cpp24
-rw-r--r--src/corelib/global/qprocessordetection.h4
-rw-r--r--src/corelib/global/qrandom.cpp4
-rw-r--r--src/corelib/global/qsimd_p.h5
-rw-r--r--src/corelib/global/qt_pch.h2
-rw-r--r--src/corelib/global/qt_windows.h29
-rw-r--r--src/corelib/global/qtypeinfo.h8
-rw-r--r--src/corelib/global/qversiontagging.cpp1
-rw-r--r--src/corelib/io/qabstractfileengine.cpp65
-rw-r--r--src/corelib/io/qabstractfileengine_p.h10
-rw-r--r--src/corelib/io/qdebug.cpp32
-rw-r--r--src/corelib/io/qdebug.h47
-rw-r--r--src/corelib/io/qdir.cpp41
-rw-r--r--src/corelib/io/qdir.h1
-rw-r--r--src/corelib/io/qfile.cpp51
-rw-r--r--src/corelib/io/qfile.h1
-rw-r--r--src/corelib/io/qfiledevice_p.h64
-rw-r--r--src/corelib/io/qfileinfo.cpp10
-rw-r--r--src/corelib/io/qfilesystemengine_p.h6
-rw-r--r--src/corelib/io/qfilesystemengine_unix.cpp57
-rw-r--r--src/corelib/io/qfilesystemengine_win.cpp852
-rw-r--r--src/corelib/io/qfilesystemiterator_win.cpp2
-rw-r--r--src/corelib/io/qfsfileengine.cpp11
-rw-r--r--src/corelib/io/qfsfileengine_p.h17
-rw-r--r--src/corelib/io/qfsfileengine_unix.cpp16
-rw-r--r--src/corelib/io/qfsfileengine_win.cpp15
-rw-r--r--src/corelib/io/qiodevice.cpp2
-rw-r--r--src/corelib/io/qiodevicebase.h2
-rw-r--r--src/corelib/io/qlockfile_win.cpp17
-rw-r--r--src/corelib/io/qloggingcategory.h81
-rw-r--r--src/corelib/io/qloggingregistry.cpp38
-rw-r--r--src/corelib/io/qloggingregistry_p.h33
-rw-r--r--src/corelib/io/qprocess.cpp59
-rw-r--r--src/corelib/io/qprocess.h4
-rw-r--r--src/corelib/io/qprocess_p.h2
-rw-r--r--src/corelib/io/qprocess_win.cpp107
-rw-r--r--src/corelib/io/qresource.cpp76
-rw-r--r--src/corelib/io/qresource_p.h22
-rw-r--r--src/corelib/io/qsettings.cpp2
-rw-r--r--src/corelib/io/qstandardpaths_win.cpp9
-rw-r--r--src/corelib/io/qtemporarydir.cpp14
-rw-r--r--src/corelib/io/qtemporaryfile.cpp9
-rw-r--r--src/corelib/io/qtemporaryfile_p.h2
-rw-r--r--src/corelib/io/qurl.cpp14
-rw-r--r--src/corelib/io/qurl.h2
-rw-r--r--src/corelib/io/qurlidna.cpp2
-rw-r--r--src/corelib/io/qwindowspipereader.cpp24
-rw-r--r--src/corelib/io/qwindowspipereader_p.h1
-rw-r--r--src/corelib/itemmodels/qabstractproxymodel.cpp9
-rw-r--r--src/corelib/itemmodels/qabstractproxymodel_p.h70
-rw-r--r--src/corelib/itemmodels/qitemselectionmodel.cpp23
-rw-r--r--src/corelib/itemmodels/qitemselectionmodel.h2
-rw-r--r--src/corelib/itemmodels/qsortfilterproxymodel.cpp3
-rw-r--r--src/corelib/kernel/qapplicationstatic.h102
-rw-r--r--src/corelib/kernel/qapplicationstatic.qdoc98
-rw-r--r--src/corelib/kernel/qbasictimer.cpp2
-rw-r--r--src/corelib/kernel/qbindingstorage.h117
-rw-r--r--src/corelib/kernel/qcfsocketnotifier.cpp2
-rw-r--r--src/corelib/kernel/qcore_mac_p.h2
-rw-r--r--src/corelib/kernel/qcoreapplication.cpp50
-rw-r--r--src/corelib/kernel/qcoreapplication.h4
-rw-r--r--src/corelib/kernel/qcoreapplication_p.h11
-rw-r--r--src/corelib/kernel/qcoreapplication_platform.h2
-rw-r--r--src/corelib/kernel/qcoreevent.cpp4
-rw-r--r--src/corelib/kernel/qdeadlinetimer.cpp2
-rw-r--r--src/corelib/kernel/qeventdispatcher_cf.mm2
-rw-r--r--src/corelib/kernel/qeventdispatcher_wasm.cpp75
-rw-r--r--src/corelib/kernel/qeventdispatcher_wasm_p.h2
-rw-r--r--src/corelib/kernel/qeventloop.cpp5
-rw-r--r--src/corelib/kernel/qeventloop.h3
-rw-r--r--src/corelib/kernel/qfunctions_winrt_p.h27
-rw-r--r--src/corelib/kernel/qjnienvironment.cpp7
-rw-r--r--src/corelib/kernel/qmath.h2
-rw-r--r--src/corelib/kernel/qmetaobject.cpp4
-rw-r--r--src/corelib/kernel/qmetatype.cpp58
-rw-r--r--src/corelib/kernel/qmetatype.h51
-rw-r--r--src/corelib/kernel/qmimedata.cpp2
-rw-r--r--src/corelib/kernel/qobject.cpp45
-rw-r--r--src/corelib/kernel/qobject.h7
-rw-r--r--src/corelib/kernel/qobject_p.h12
-rw-r--r--src/corelib/kernel/qobjectdefs_impl.h37
-rw-r--r--src/corelib/kernel/qproperty.cpp215
-rw-r--r--src/corelib/kernel/qproperty.h66
-rw-r--r--src/corelib/kernel/qproperty_p.h214
-rw-r--r--src/corelib/kernel/qpropertyprivate.h17
-rw-r--r--src/corelib/kernel/qtimer.cpp2
-rw-r--r--src/corelib/kernel/qtmetamacros.h11
-rw-r--r--src/corelib/kernel/qtranslator.cpp2
-rw-r--r--src/corelib/kernel/qvariant.cpp4
-rw-r--r--src/corelib/kernel/qvariant.h11
-rw-r--r--src/corelib/mimetypes/mime/generate.pl1
-rw-r--r--src/corelib/mimetypes/mimetypes_resources.cmake2
-rw-r--r--src/corelib/mimetypes/qmimedatabase.cpp118
-rw-r--r--src/corelib/mimetypes/qmimeglobpattern.cpp108
-rw-r--r--src/corelib/mimetypes/qmimeglobpattern_p.h19
-rw-r--r--src/corelib/mimetypes/qmimeprovider.cpp1
-rw-r--r--src/corelib/platform/android/qandroidextras.cpp26
-rw-r--r--src/corelib/platform/android/qandroidnativeinterface.cpp1
-rw-r--r--src/corelib/platform/wasm/qstdweb.cpp100
-rw-r--r--src/corelib/platform/wasm/qstdweb_p.h14
-rw-r--r--src/corelib/plugin/qcoffpeparser.cpp421
-rw-r--r--src/corelib/plugin/qcoffpeparser_p.h (renamed from src/gui/util/qshadergenerator_p.h)31
-rw-r--r--src/corelib/plugin/qelfparser_p.cpp860
-rw-r--r--src/corelib/plugin/qelfparser_p.h30
-rw-r--r--src/corelib/plugin/qfactoryloader.cpp190
-rw-r--r--src/corelib/plugin/qfactoryloader_p.h48
-rw-r--r--src/corelib/plugin/qlibrary.cpp285
-rw-r--r--src/corelib/plugin/qlibrary_p.h14
-rw-r--r--src/corelib/plugin/qlibrary_unix.cpp2
-rw-r--r--src/corelib/plugin/qlibrary_win.cpp3
-rw-r--r--src/corelib/plugin/qmachparser.cpp61
-rw-r--r--src/corelib/plugin/qmachparser_p.h5
-rw-r--r--src/corelib/plugin/qplugin.h149
-rw-r--r--src/corelib/plugin/qplugin_p.h61
-rw-r--r--src/corelib/plugin/qpluginloader.cpp44
-rw-r--r--src/corelib/serialization/qcborcommon.cpp4
-rw-r--r--src/corelib/serialization/qcbormap.cpp2
-rw-r--r--src/corelib/serialization/qcborstreamreader.cpp2
-rw-r--r--src/corelib/serialization/qcborvalue.cpp2
-rw-r--r--src/corelib/serialization/qdatastream.cpp8
-rw-r--r--src/corelib/serialization/qdatastream.h50
-rw-r--r--src/corelib/serialization/qxmlstream.cpp2
-rw-r--r--src/corelib/serialization/qxmlstream.h2
-rw-r--r--src/corelib/text/qanystringview.h3
-rw-r--r--src/corelib/text/qanystringview.qdoc2
-rw-r--r--src/corelib/text/qbytearray.cpp8
-rw-r--r--src/corelib/text/qbytearraylist.cpp26
-rw-r--r--src/corelib/text/qbytearraylist.h16
-rw-r--r--src/corelib/text/qbytearraymatcher.cpp39
-rw-r--r--src/corelib/text/qbytearraymatcher.h9
-rw-r--r--src/corelib/text/qchar.cpp8
-rw-r--r--src/corelib/text/qchar.h10
-rw-r--r--src/corelib/text/qcollator.cpp51
-rw-r--r--src/corelib/text/qcollator.h3
-rw-r--r--src/corelib/text/qcollator_posix.cpp9
-rw-r--r--src/corelib/text/qlocale.cpp8
-rw-r--r--src/corelib/text/qlocale.h4
-rw-r--r--src/corelib/text/qlocale.qdoc6
-rw-r--r--src/corelib/text/qlocale_data_p.h4844
-rw-r--r--src/corelib/text/qlocale_mac.mm135
-rw-r--r--src/corelib/text/qlocale_p.h5
-rw-r--r--src/corelib/text/qlocale_tools.cpp17
-rw-r--r--src/corelib/text/qlocale_tools_p.h5
-rw-r--r--src/corelib/text/qlocale_win.cpp93
-rw-r--r--src/corelib/text/qregularexpression.cpp14
-rw-r--r--src/corelib/text/qstring.cpp227
-rw-r--r--src/corelib/text/qstring.h23
-rw-r--r--src/corelib/text/qstringbuilder.h23
-rw-r--r--src/corelib/text/qstringconverter.cpp15
-rw-r--r--src/corelib/text/qstringtokenizer.h4
-rw-r--r--src/corelib/text/qstringview.cpp6
-rw-r--r--src/corelib/text/qstringview.h4
-rw-r--r--src/corelib/text/qt_attribution.json12
-rw-r--r--src/corelib/text/qunicodetables.cpp13599
-rw-r--r--src/corelib/text/qunicodetables_p.h4
-rw-r--r--src/corelib/text/qunicodetools.cpp6
-rw-r--r--src/corelib/thread/qfuture.h84
-rw-r--r--src/corelib/thread/qfuture.qdoc250
-rw-r--r--src/corelib/thread/qfuture_impl.h242
-rw-r--r--src/corelib/thread/qfutureinterface.cpp58
-rw-r--r--src/corelib/thread/qfutureinterface.h9
-rw-r--r--src/corelib/thread/qfutureinterface_p.h1
-rw-r--r--src/corelib/thread/qfuturewatcher.cpp4
-rw-r--r--src/corelib/thread/qgenericatomic.h2
-rw-r--r--src/corelib/thread/qlocking_p.h4
-rw-r--r--src/corelib/thread/qpromise.h6
-rw-r--r--src/corelib/thread/qreadwritelock.cpp57
-rw-r--r--src/corelib/thread/qreadwritelock_p.h23
-rw-r--r--src/corelib/thread/qresultstore.h4
-rw-r--r--src/corelib/thread/qsemaphore.cpp13
-rw-r--r--src/corelib/thread/qthread.cpp21
-rw-r--r--src/corelib/thread/qthread.h4
-rw-r--r--src/corelib/thread/qthread_unix.cpp8
-rw-r--r--src/corelib/thread/qthreadpool.cpp146
-rw-r--r--src/corelib/thread/qthreadpool.h3
-rw-r--r--src/corelib/thread/qthreadpool_p.h1
-rw-r--r--src/corelib/thread/qthreadstorage.cpp2
-rw-r--r--src/corelib/thread/qthreadstorage.h4
-rw-r--r--src/corelib/thread/qwaitcondition_p.h26
-rw-r--r--src/corelib/time/qcalendar.cpp2
-rw-r--r--src/corelib/time/qdatetime.cpp51
-rw-r--r--src/corelib/time/qdatetime_p.h4
-rw-r--r--src/corelib/time/qgregoriancalendar.cpp46
-rw-r--r--src/corelib/time/qgregoriancalendar_p.h1
-rw-r--r--src/corelib/time/qhijricalendar_data_p.h433
-rw-r--r--src/corelib/time/qjalalicalendar_data_p.h434
-rw-r--r--src/corelib/time/qromancalendar_data_p.h3988
-rw-r--r--src/corelib/time/qtimezone.cpp5
-rw-r--r--src/corelib/time/qtimezoneprivate.cpp15
-rw-r--r--src/corelib/time/qtimezoneprivate_android.cpp2
-rw-r--r--src/corelib/time/qtimezoneprivate_data_p.h346
-rw-r--r--src/corelib/time/qtimezoneprivate_icu.cpp14
-rw-r--r--src/corelib/time/qtimezoneprivate_tz.cpp4
-rw-r--r--src/corelib/time/qtimezoneprivate_win.cpp59
-rw-r--r--src/corelib/tools/qarraydataops.h25
-rw-r--r--src/corelib/tools/qcontiguouscache.h5
-rw-r--r--src/corelib/tools/qduplicatetracker_p.h7
-rw-r--r--src/corelib/tools/qeasingcurve.cpp2
-rw-r--r--src/corelib/tools/qhash.cpp274
-rw-r--r--src/corelib/tools/qhash.h294
-rw-r--r--src/corelib/tools/qhashfunctions.h11
-rw-r--r--src/corelib/tools/qlist.h164
-rw-r--r--src/corelib/tools/qlist.qdoc2
-rw-r--r--src/corelib/tools/qmap.h38
-rw-r--r--src/corelib/tools/qmap.qdoc2
-rw-r--r--src/corelib/tools/qoffsetstringarray_p.h212
-rw-r--r--src/corelib/tools/qringbuffer.cpp12
-rw-r--r--src/corelib/tools/qringbuffer_p.h19
-rw-r--r--src/corelib/tools/qscopeguard.h2
-rw-r--r--src/corelib/tools/qset.h7
-rw-r--r--src/corelib/tools/qsharedpointer.h12
-rw-r--r--src/corelib/tools/qsharedpointer_impl.h37
-rw-r--r--src/corelib/tools/qstack.h23
-rw-r--r--src/corelib/tools/qvarlengtharray.h248
-rw-r--r--src/corelib/tools/qvarlengtharray.qdoc10
-rw-r--r--src/corelib/tools/qversionnumber.cpp2
-rw-r--r--src/dbus/doc/qtdbus.qdocconf3
-rw-r--r--src/dbus/doc/src/dbus-adaptors.qdoc2
-rw-r--r--src/dbus/doc/src/includes/cmake-find-package-dbus.qdocinc5
-rw-r--r--src/dbus/doc/src/qtdbus-cmake.qdoc36
-rw-r--r--src/dbus/doc/src/qtdbus-index.qdoc1
-rw-r--r--src/dbus/qdbusabstractadaptor.cpp2
-rw-r--r--src/dbus/qdbusargument.cpp2
-rw-r--r--src/dbus/qdbuserror.cpp2
-rw-r--r--src/entrypoint/CMakeLists.txt38
-rw-r--r--src/entrypoint/EntryPointMinGW32Target.cmake.in7
-rw-r--r--src/entrypoint/qtentrypoint_win.cpp2
-rw-r--r--src/gui/CMakeLists.txt26
-rw-r--r--src/gui/accessible/linux/qspiapplicationadaptor.cpp17
-rw-r--r--src/gui/accessible/linux/qspiapplicationadaptor_p.h1
-rw-r--r--src/gui/accessible/qaccessible.cpp8
-rw-r--r--src/gui/configure.cmake4
-rw-r--r--src/gui/doc/qtgui.qdocconf3
-rw-r--r--src/gui/doc/src/coordsys.qdoc4
-rw-r--r--src/gui/doc/src/external-resources.qdoc4
-rw-r--r--src/gui/doc/src/qtgui.qdoc2
-rw-r--r--src/gui/image/qbitmap.cpp2
-rw-r--r--src/gui/image/qicon.cpp6
-rw-r--r--src/gui/image/qiconloader.cpp2
-rw-r--r--src/gui/image/qimage.cpp9
-rw-r--r--src/gui/image/qimage_darwin.mm2
-rw-r--r--src/gui/image/qimageiohandler.cpp2
-rw-r--r--src/gui/image/qimagereader.cpp13
-rw-r--r--src/gui/image/qimagereaderwriterhelpers.cpp11
-rw-r--r--src/gui/image/qpixmap.cpp3
-rw-r--r--src/gui/image/qpixmapcache.cpp59
-rw-r--r--src/gui/image/qplatformpixmap.cpp2
-rw-r--r--src/gui/image/qpnghandler.cpp2
-rw-r--r--src/gui/image/qppmhandler.cpp49
-rw-r--r--src/gui/itemmodels/qfilesystemmodel.cpp4
-rw-r--r--src/gui/itemmodels/qstandarditemmodel.cpp2
-rw-r--r--src/gui/kernel/qaction.cpp4
-rw-r--r--src/gui/kernel/qevent.cpp12
-rw-r--r--src/gui/kernel/qguiapplication.cpp86
-rw-r--r--src/gui/kernel/qguiapplication_p.h10
-rw-r--r--src/gui/kernel/qhighdpiscaling.cpp2
-rw-r--r--src/gui/kernel/qhighdpiscaling_p.h2
-rw-r--r--src/gui/kernel/qinputdevice.cpp19
-rw-r--r--src/gui/kernel/qinputdevice.h1
-rw-r--r--src/gui/kernel/qinputmethod.cpp16
-rw-r--r--src/gui/kernel/qkeysequence.cpp2
-rw-r--r--src/gui/kernel/qoffscreensurface.cpp2
-rw-r--r--src/gui/kernel/qpalette.cpp3
-rw-r--r--src/gui/kernel/qpixelformat.cpp2
-rw-r--r--src/gui/kernel/qplatformdialoghelper.h9
-rw-r--r--src/gui/kernel/qplatformsurface.cpp11
-rw-r--r--src/gui/kernel/qplatformsurface.h2
-rw-r--r--src/gui/kernel/qplatformtheme.cpp6
-rw-r--r--src/gui/kernel/qplatformtheme.h4
-rw-r--r--src/gui/kernel/qshortcutmap.cpp2
-rw-r--r--src/gui/kernel/qwindow.cpp58
-rw-r--r--src/gui/kernel/qwindow_p.h4
-rw-r--r--src/gui/kernel/qwindowsysteminterface.cpp312
-rw-r--r--src/gui/kernel/qwindowsysteminterface_p.h6
-rw-r--r--src/gui/math3d/qgenericmatrix.h4
-rw-r--r--src/gui/math3d/qmatrix4x4.cpp8
-rw-r--r--src/gui/opengl/qopengl.h2
-rw-r--r--src/gui/opengl/qopenglprogrambinarycache.cpp61
-rw-r--r--src/gui/opengl/qopenglprogrambinarycache_p.h4
-rw-r--r--src/gui/painting/qbackingstore.cpp13
-rw-r--r--src/gui/painting/qbrush.cpp2
-rw-r--r--src/gui/painting/qcolor.cpp2
-rw-r--r--src/gui/painting/qcolorspace.cpp2
-rw-r--r--src/gui/painting/qcssutil.cpp2
-rw-r--r--src/gui/painting/qdrawhelper_mips_dsp_asm.S2
-rw-r--r--src/gui/painting/qdrawhelper_ssse3.cpp2
-rw-r--r--src/gui/painting/qdrawingprimitive_sse2_p.h4
-rw-r--r--src/gui/painting/qoutlinemapper.cpp2
-rw-r--r--src/gui/painting/qpagelayout.cpp8
-rw-r--r--src/gui/painting/qpaintengine.cpp2
-rw-r--r--src/gui/painting/qpaintengine_raster.cpp41
-rw-r--r--src/gui/painting/qpaintengine_raster_p.h2
-rw-r--r--src/gui/painting/qpainter.cpp72
-rw-r--r--src/gui/painting/qpainterpath.cpp4
-rw-r--r--src/gui/painting/qpdf.cpp37
-rw-r--r--src/gui/painting/qpdf_p.h1
-rw-r--r--src/gui/painting/qplatformbackingstore.cpp5
-rw-r--r--src/gui/painting/qpolygon.h2
-rw-r--r--src/gui/painting/qrasterbackingstore.cpp2
-rw-r--r--src/gui/painting/qrasterizer.cpp95
-rw-r--r--src/gui/painting/qrgba64.h4
-rw-r--r--src/gui/painting/qstroker.cpp2
-rw-r--r--src/gui/painting/qt_mips_asm_dsp_p.h4
-rw-r--r--src/gui/painting/qtransform.cpp2
-rw-r--r--src/gui/platform/darwin/qmacmime.mm6
-rw-r--r--src/gui/platform/unix/qgenericunixservices.cpp20
-rw-r--r--src/gui/platform/unix/qunixnativeinterface.cpp3
-rw-r--r--src/gui/platform/unix/qxkbcommon.cpp8
-rw-r--r--src/gui/platform/unix/qxkbcommon_p.h2
-rw-r--r--src/gui/platform/wasm/qwasmlocalfileaccess.cpp66
-rw-r--r--src/gui/platform/windows/qwindowsguieventdispatcher.cpp6
-rw-r--r--src/gui/platform/windows/qwindowsnativeinterface.cpp1
-rw-r--r--src/gui/rhi/qrhi.cpp145
-rw-r--r--src/gui/rhi/qrhi_p.h22
-rw-r--r--src/gui/rhi/qrhi_p_p.h1
-rw-r--r--src/gui/rhi/qrhid3d11.cpp87
-rw-r--r--src/gui/rhi/qrhid3d11_p_p.h3
-rw-r--r--src/gui/rhi/qrhigles2.cpp286
-rw-r--r--src/gui/rhi/qrhigles2_p_p.h10
-rw-r--r--src/gui/rhi/qrhimetal.mm73
-rw-r--r--src/gui/rhi/qrhimetal_p_p.h4
-rw-r--r--src/gui/rhi/qrhinull.cpp19
-rw-r--r--src/gui/rhi/qrhinull_p_p.h3
-rw-r--r--src/gui/rhi/qrhiprofiler.cpp4
-rw-r--r--src/gui/rhi/qrhivulkan.cpp83
-rw-r--r--src/gui/rhi/qrhivulkan_p_p.h3
-rw-r--r--src/gui/text/freetype/qfontengine_ft.cpp19
-rw-r--r--src/gui/text/freetype/qfreetypefontdatabase.cpp32
-rw-r--r--src/gui/text/qcssparser.cpp13
-rw-r--r--src/gui/text/qfont.cpp60
-rw-r--r--src/gui/text/qfont_p.h1
-rw-r--r--src/gui/text/qfontdatabase.cpp38
-rw-r--r--src/gui/text/qfontdatabase.h2
-rw-r--r--src/gui/text/qfontengine.cpp21
-rw-r--r--src/gui/text/qfontmetrics.cpp200
-rw-r--r--src/gui/text/qfontmetrics.h7
-rw-r--r--src/gui/text/qfontsubset.cpp4
-rw-r--r--src/gui/text/qharfbuzzng.cpp16
-rw-r--r--src/gui/text/qplatformfontdatabase.cpp4
-rw-r--r--src/gui/text/qtextcursor.cpp4
-rw-r--r--src/gui/text/qtextdocument.cpp12
-rw-r--r--src/gui/text/qtextdocument_p.cpp7
-rw-r--r--src/gui/text/qtextdocumentlayout.cpp18
-rw-r--r--src/gui/text/qtextengine.cpp165
-rw-r--r--src/gui/text/qtextformat.cpp8
-rw-r--r--src/gui/text/qtextformat.h7
-rw-r--r--src/gui/text/qtexthtmlparser.cpp2
-rw-r--r--src/gui/text/qtextlayout.cpp162
-rw-r--r--src/gui/text/qtextmarkdownimporter.cpp5
-rw-r--r--src/gui/text/qtextmarkdownwriter.cpp7
-rw-r--r--src/gui/text/qtextobject.cpp8
-rw-r--r--src/gui/text/qtextoption.cpp2
-rw-r--r--src/gui/text/qzip.cpp2
-rw-r--r--src/gui/text/unix/qfontconfigdatabase.cpp7
-rw-r--r--src/gui/text/windows/qwindowsfontdatabasebase.cpp55
-rw-r--r--src/gui/text/windows/qwindowsfontdatabasebase_p.h2
-rw-r--r--src/gui/text/windows/qwindowsfontengine.cpp18
-rw-r--r--src/gui/util/qgridlayoutengine_p.h2
-rw-r--r--src/gui/util/qlayoutpolicy_p.h30
-rw-r--r--src/gui/util/qshaderformat.cpp145
-rw-r--r--src/gui/util/qshaderformat_p.h123
-rw-r--r--src/gui/util/qshadergenerator.cpp638
-rw-r--r--src/gui/util/qshadergraph.cpp316
-rw-r--r--src/gui/util/qshadergraph_p.h124
-rw-r--r--src/gui/util/qshadergraphloader.cpp269
-rw-r--r--src/gui/util/qshadergraphloader_p.h99
-rw-r--r--src/gui/util/qshaderlanguage.cpp54
-rw-r--r--src/gui/util/qshaderlanguage_p.h164
-rw-r--r--src/gui/util/qshadernode.cpp172
-rw-r--r--src/gui/util/qshadernode_p.h128
-rw-r--r--src/gui/util/qshadernodeport.cpp55
-rw-r--r--src/gui/util/qshadernodesloader.cpp290
-rw-r--r--src/gui/util/qshadernodesloader_p.h96
-rw-r--r--src/network/CMakeLists.txt4
-rw-r--r--src/network/access/http2/http2frames.cpp5
-rw-r--r--src/network/access/http2/http2protocol.cpp9
-rw-r--r--src/network/access/http2/huffman.cpp2
-rw-r--r--src/network/access/qhttp2configuration.cpp7
-rw-r--r--src/network/access/qhttpheaderparser.cpp84
-rw-r--r--src/network/access/qhttpnetworkconnectionchannel.cpp2
-rw-r--r--src/network/access/qhttpnetworkrequest.cpp12
-rw-r--r--src/network/access/qhttpnetworkrequest_p.h4
-rw-r--r--src/network/access/qhttpthreaddelegate.cpp6
-rw-r--r--src/network/access/qnetworkaccessauthenticationmanager.cpp19
-rw-r--r--src/network/access/qnetworkaccessmanager.cpp2
-rw-r--r--src/network/access/qnetworkreplyhttpimpl.cpp12
-rw-r--r--src/network/access/qnetworkreplyimpl.cpp8
-rw-r--r--src/network/access/qnetworkreplywasmimpl.cpp17
-rw-r--r--src/network/access/qnetworkrequest.cpp30
-rw-r--r--src/network/access/qnetworkrequest.h1
-rw-r--r--src/network/android/jar/.gitignore6
-rw-r--r--src/network/android/jar/build.gradle53
-rw-r--r--src/network/android/jar/settings.gradle1
-rw-r--r--src/network/android/jar/src/org/qtproject/qt/android/network/QtNetwork.java1
-rw-r--r--src/network/configure.cmake5
-rw-r--r--src/network/doc/qtnetwork.qdocconf7
-rw-r--r--src/network/doc/src/qt6-changes.qdoc4
-rw-r--r--src/network/doc/src/ssl.qdoc39
-rw-r--r--src/network/kernel/qauthenticator.cpp38
-rw-r--r--src/network/kernel/qhostinfo.cpp20
-rw-r--r--src/network/kernel/qhostinfo_unix.cpp21
-rw-r--r--src/network/kernel/qnetconmonitor_darwin.mm39
-rw-r--r--src/network/kernel/qnetconmonitor_p.h10
-rw-r--r--src/network/kernel/qnetworkinformation.cpp156
-rw-r--r--src/network/kernel/qnetworkinformation.h21
-rw-r--r--src/network/kernel/qnetworkinformation_p.h56
-rw-r--r--src/network/kernel/qnetworkinterface.cpp2
-rw-r--r--src/network/kernel/qnetworkinterface_linux.cpp2
-rw-r--r--src/network/kernel/qnetworkproxy.cpp2
-rw-r--r--src/network/kernel/qnetworkproxy_win.cpp142
-rw-r--r--src/network/qt_cmdline.cmake1
-rw-r--r--src/network/socket/qabstractsocket.cpp2
-rw-r--r--src/network/socket/qhttpsocketengine.cpp2
-rw-r--r--src/network/socket/qlocalserver.cpp2
-rw-r--r--src/network/socket/qlocalsocket.cpp2
-rw-r--r--src/network/socket/qlocalsocket_p.h2
-rw-r--r--src/network/socket/qlocalsocket_win.cpp3
-rw-r--r--src/network/socket/qnativesocketengine.cpp2
-rw-r--r--src/network/socket/qnativesocketengine_win.cpp2
-rw-r--r--src/network/socket/qsocks5socketengine.cpp8
-rw-r--r--src/network/ssl/qdtls.cpp2
-rw-r--r--src/network/ssl/qocspresponse.cpp2
-rw-r--r--src/network/ssl/qsslsocket.cpp2
-rw-r--r--src/network/ssl/qtlsbackend.cpp6
-rw-r--r--src/opengl/doc/qtopengl.qdocconf3
-rw-r--r--src/opengl/qopengltextureblitter.cpp126
-rw-r--r--src/opengl/qopengltextureblitter.h1
-rw-r--r--src/platformsupport/input/evdevtouch/qevdevtouchhandler.cpp2
-rw-r--r--src/plugins/imageformats/ico/qicohandler.cpp2
-rw-r--r--src/plugins/networkinformation/CMakeLists.txt4
-rw-r--r--src/plugins/networkinformation/android/jar/.gitignore6
-rw-r--r--src/plugins/networkinformation/android/jar/build.gradle53
-rw-r--r--src/plugins/networkinformation/android/jar/settings.gradle1
-rw-r--r--src/plugins/networkinformation/android/jar/src/org/qtproject/qt/android/networkinformation/QtAndroidNetworkInformation.java76
-rw-r--r--src/plugins/networkinformation/android/qandroidnetworkinformationbackend.cpp85
-rw-r--r--src/plugins/networkinformation/android/wrapper/androidconnectivitymanager.cpp58
-rw-r--r--src/plugins/networkinformation/android/wrapper/androidconnectivitymanager.h20
-rw-r--r--src/plugins/networkinformation/glib/CMakeLists.txt14
-rw-r--r--src/plugins/networkinformation/glib/qglibnetworkinformationbackend.cpp157
-rw-r--r--src/plugins/networkinformation/networklistmanager/CMakeLists.txt9
-rw-r--r--src/plugins/networkinformation/networklistmanager/qnetworklistmanagerevents.cpp264
-rw-r--r--src/plugins/networkinformation/networklistmanager/qnetworklistmanagerevents.h (renamed from src/gui/util/qshadernodeport_p.h)100
-rw-r--r--src/plugins/networkinformation/networklistmanager/qnetworklistmanagernetworkinformationbackend.cpp211
-rw-r--r--src/plugins/networkinformation/networkmanager/qnetworkmanagernetworkinformationbackend.cpp118
-rw-r--r--src/plugins/networkinformation/networkmanager/qnetworkmanagerservice.cpp112
-rw-r--r--src/plugins/networkinformation/networkmanager/qnetworkmanagerservice.h62
-rw-r--r--src/plugins/networkinformation/scnetworkreachability/qscnetworkreachabilitynetworkinformationbackend.mm59
-rw-r--r--src/plugins/platforms/android/androidcontentfileengine.cpp4
-rw-r--r--src/plugins/platforms/android/androidcontentfileengine.h2
-rw-r--r--src/plugins/platforms/android/androidjniinput.cpp52
-rw-r--r--src/plugins/platforms/android/androidjniinput.h4
-rw-r--r--src/plugins/platforms/android/androidjnimain.cpp18
-rw-r--r--src/plugins/platforms/android/qandroidassetsfileenginehandler.cpp16
-rw-r--r--src/plugins/platforms/android/qandroidinputcontext.cpp115
-rw-r--r--src/plugins/platforms/android/qandroidinputcontext.h4
-rw-r--r--src/plugins/platforms/android/qandroidplatformfiledialoghelper.cpp11
-rw-r--r--src/plugins/platforms/android/qandroidplatformfiledialoghelper.h2
-rw-r--r--src/plugins/platforms/android/qandroidplatformscreen.cpp8
-rw-r--r--src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm5
-rw-r--r--src/plugins/platforms/cocoa/qcocoabackingstore.h9
-rw-r--r--src/plugins/platforms/cocoa/qcocoabackingstore.mm164
-rw-r--r--src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm5
-rw-r--r--src/plugins/platforms/cocoa/qcocoaeventdispatcher.mm2
-rw-r--r--src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm4
-rw-r--r--src/plugins/platforms/cocoa/qcocoafontdialoghelper.mm5
-rw-r--r--src/plugins/platforms/cocoa/qcocoaglcontext.mm9
-rw-r--r--src/plugins/platforms/cocoa/qcocoahelpers.mm2
-rw-r--r--src/plugins/platforms/cocoa/qcocoainputcontext.h1
-rw-r--r--src/plugins/platforms/cocoa/qcocoainputcontext.mm27
-rw-r--r--src/plugins/platforms/cocoa/qcocoaintegration.mm2
-rw-r--r--src/plugins/platforms/cocoa/qcocoamenu.mm2
-rw-r--r--src/plugins/platforms/cocoa/qcocoamenubar.h3
-rw-r--r--src/plugins/platforms/cocoa/qcocoamenubar.mm76
-rw-r--r--src/plugins/platforms/cocoa/qcocoascreen.mm2
-rw-r--r--src/plugins/platforms/cocoa/qcocoatheme.mm4
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindow.h14
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindow.mm71
-rw-r--r--src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.h1
-rw-r--r--src/plugins/platforms/cocoa/qmacclipboard.mm2
-rw-r--r--src/plugins/platforms/cocoa/qnsview.mm2
-rw-r--r--src/plugins/platforms/cocoa/qnsview_keys.mm14
-rw-r--r--src/plugins/platforms/cocoa/qnsview_mouse.mm46
-rw-r--r--src/plugins/platforms/cocoa/qnswindowdelegate.mm8
-rw-r--r--src/plugins/platforms/direct2d/CMakeLists.txt4
-rw-r--r--src/plugins/platforms/directfb/qdirectfbinput.cpp2
-rw-r--r--src/plugins/platforms/eglfs/api/qeglfsdeviceintegration.cpp34
-rw-r--r--src/plugins/platforms/eglfs/api/qeglfsdeviceintegration_p.h4
-rw-r--r--src/plugins/platforms/eglfs/api/qeglfswindow.cpp2
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmseventreader.cpp7
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.cpp9
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen_p.h1
-rw-r--r--src/plugins/platforms/ios/optional/nsphotolibrarysupport/qiosfileengineassetslibrary.h3
-rw-r--r--src/plugins/platforms/ios/optional/nsphotolibrarysupport/qiosfileengineassetslibrary.mm10
-rw-r--r--src/plugins/platforms/ios/qiosfiledialog.mm3
-rw-r--r--src/plugins/platforms/ios/qiosinputcontext.h4
-rw-r--r--src/plugins/platforms/ios/qiosinputcontext.mm22
-rw-r--r--src/plugins/platforms/ios/qiosintegration.mm3
-rw-r--r--src/plugins/platforms/ios/qiostextinputoverlay.mm32
-rw-r--r--src/plugins/platforms/ios/qiostextresponder.h13
-rw-r--r--src/plugins/platforms/ios/qiostextresponder.mm333
-rw-r--r--src/plugins/platforms/ios/qiosviewcontroller.mm10
-rw-r--r--src/plugins/platforms/ios/quiview.mm2
-rw-r--r--src/plugins/platforms/ios/quiview_accessibility.mm5
-rw-r--r--src/plugins/platforms/offscreen/qoffscreenintegration_x11.cpp7
-rw-r--r--src/plugins/platforms/offscreen/qoffscreenintegration_x11.h9
-rw-r--r--src/plugins/platforms/offscreen/qoffscreenwindow.cpp4
-rw-r--r--src/plugins/platforms/qnx/.prev_CMakeLists.txt91
-rw-r--r--src/plugins/platforms/qnx/qqnxeglwindow.cpp2
-rw-r--r--src/plugins/platforms/qnx/qqnxscreeneventhandler.cpp4
-rw-r--r--src/plugins/platforms/qnx/qqnxvirtualkeyboardpps.cpp2
-rw-r--r--src/plugins/platforms/wasm/qtloader.js4
-rw-r--r--src/plugins/platforms/wasm/qwasmcompositor.cpp20
-rw-r--r--src/plugins/platforms/wasm/qwasmcompositor.h1
-rw-r--r--src/plugins/platforms/wasm/qwasmcursor.cpp16
-rw-r--r--src/plugins/platforms/wasm/qwasmeventdispatcher.cpp2
-rw-r--r--src/plugins/platforms/wasm/qwasmeventtranslator.cpp25
-rw-r--r--src/plugins/platforms/wasm/qwasmeventtranslator.h6
-rw-r--r--src/plugins/platforms/wasm/qwasmintegration.cpp6
-rw-r--r--src/plugins/platforms/wasm/qwasmwindow.cpp30
-rw-r--r--src/plugins/platforms/wasm/qwasmwindow.h3
-rw-r--r--src/plugins/platforms/windows/CMakeLists.txt4
-rw-r--r--src/plugins/platforms/windows/openglblacklists/default.json2
-rw-r--r--src/plugins/platforms/windows/qtwindowsglobal.h7
-rw-r--r--src/plugins/platforms/windows/qwin10helpers.cpp43
-rw-r--r--src/plugins/platforms/windows/qwindowsclipboard.cpp11
-rw-r--r--src/plugins/platforms/windows/qwindowscontext.cpp155
-rw-r--r--src/plugins/platforms/windows/qwindowscontext.h82
-rw-r--r--src/plugins/platforms/windows/qwindowsdialoghelpers.cpp45
-rw-r--r--src/plugins/platforms/windows/qwindowsdrag.cpp2
-rw-r--r--src/plugins/platforms/windows/qwindowsglcontext.cpp2
-rw-r--r--src/plugins/platforms/windows/qwindowsinputcontext.cpp5
-rw-r--r--src/plugins/platforms/windows/qwindowsintegration.cpp14
-rw-r--r--src/plugins/platforms/windows/qwindowsmousehandler.cpp11
-rw-r--r--src/plugins/platforms/windows/qwindowsopengltester.cpp12
-rw-r--r--src/plugins/platforms/windows/qwindowspointerhandler.cpp82
-rw-r--r--src/plugins/platforms/windows/qwindowspointerhandler.h3
-rw-r--r--src/plugins/platforms/windows/qwindowsscreen.cpp92
-rw-r--r--src/plugins/platforms/windows/qwindowsscreen.h3
-rw-r--r--src/plugins/platforms/windows/qwindowsservices.cpp2
-rw-r--r--src/plugins/platforms/windows/qwindowssystemtrayicon.cpp14
-rw-r--r--src/plugins/platforms/windows/qwindowstheme.cpp10
-rw-r--r--src/plugins/platforms/windows/qwindowswindow.cpp118
-rw-r--r--src/plugins/platforms/windows/qwindowswindow.h3
-rw-r--r--src/plugins/platforms/windows/uiautomation/qwindowsuiamainprovider.cpp4
-rw-r--r--src/plugins/platforms/xcb/CMakeLists.txt2
-rw-r--r--src/plugins/platforms/xcb/gl_integrations/qxcbglintegrationfactory.cpp17
-rw-r--r--src/plugins/platforms/xcb/gl_integrations/qxcbglintegrationfactory.h2
-rw-r--r--src/plugins/platforms/xcb/nativepainting/qtessellator.cpp2
-rw-r--r--src/plugins/platforms/xcb/qxcbbackingstore.cpp38
-rw-r--r--src/plugins/platforms/xcb/qxcbclipboard.cpp70
-rw-r--r--src/plugins/platforms/xcb/qxcbclipboard.h4
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection.cpp16
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection.h10
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection_basic.cpp12
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection_basic.h1
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection_xi2.cpp265
-rw-r--r--src/plugins/platforms/xcb/qxcbcursor.cpp2
-rw-r--r--src/plugins/platforms/xcb/qxcbdrag.cpp53
-rw-r--r--src/plugins/platforms/xcb/qxcbkeyboard.cpp24
-rw-r--r--src/plugins/platforms/xcb/qxcbkeyboard.h1
-rw-r--r--src/plugins/platforms/xcb/qxcbscreen.cpp10
-rw-r--r--src/plugins/platforms/xcb/qxcbsystemtraytracker.cpp12
-rw-r--r--src/plugins/platforms/xcb/qxcbsystemtraytracker.h2
-rw-r--r--src/plugins/platforms/xcb/qxcbwindow.cpp7
-rw-r--r--src/plugins/platforms/xcb/qxcbwindow.h4
-rw-r--r--src/plugins/platforms/xcb/qxcbxsettings.cpp7
-rw-r--r--src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.cpp40
-rw-r--r--src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.h3
-rw-r--r--src/plugins/platformthemes/gtk3/qgtk3theme.cpp42
-rw-r--r--src/plugins/platformthemes/gtk3/qgtk3theme.h2
-rw-r--r--src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp1
-rw-r--r--src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportaltheme.cpp1
-rw-r--r--src/plugins/sqldrivers/CMakeLists.txt2
-rw-r--r--src/plugins/sqldrivers/ibase/qsql_ibase.cpp2
-rw-r--r--src/plugins/sqldrivers/mysql/qsql_mysql.cpp31
-rw-r--r--src/plugins/sqldrivers/oci/qsql_oci.cpp1
-rw-r--r--src/plugins/sqldrivers/odbc/CMakeLists.txt2
-rw-r--r--src/plugins/sqldrivers/psql/CMakeLists.txt2
-rw-r--r--src/plugins/sqldrivers/qt_cmdline.cmake1
-rw-r--r--src/plugins/styles/android/qandroidstyle.cpp3
-rw-r--r--src/plugins/styles/mac/qmacstyle_mac.mm58
-rw-r--r--src/plugins/styles/windowsvista/qwindowsxpstyle.cpp14
-rw-r--r--src/plugins/tls/openssl/qsslcontext_openssl.cpp4
-rw-r--r--src/plugins/tls/openssl/qssldiffiehellmanparameters_openssl.cpp18
-rw-r--r--src/plugins/tls/openssl/qsslsocket_openssl_symbols.cpp65
-rw-r--r--src/plugins/tls/openssl/qsslsocket_openssl_symbols_p.h24
-rw-r--r--src/plugins/tls/openssl/qtls_openssl.cpp52
-rw-r--r--src/plugins/tls/openssl/qtls_openssl_p.h8
-rw-r--r--src/plugins/tls/openssl/qwindowscarootfetcher.cpp2
-rw-r--r--src/plugins/tls/shared/qx509_generic.cpp2
-rw-r--r--src/printsupport/doc/qtprintsupport.qdocconf3
-rw-r--r--src/printsupport/kernel/qplatformprintplugin.cpp6
-rw-r--r--src/printsupport/platform/macos/qcocoaprintersupport.mm2
-rw-r--r--src/printsupport/platform/windows/qwindowsprintersupport.cpp2
-rw-r--r--src/sql/doc/qtsql.qdocconf3
-rw-r--r--src/sql/doc/snippets/code/doc_src_sql-driver.qdoc99
-rw-r--r--src/sql/doc/src/sql-driver.qdoc4
-rw-r--r--src/testlib/doc/qttestlib.qdocconf3
-rw-r--r--src/testlib/qabstracttestlogger.cpp131
-rw-r--r--src/testlib/qpropertytesthelper_p.h1
-rw-r--r--src/testlib/qtest.h1
-rw-r--r--src/testlib/qtestcase.cpp167
-rw-r--r--src/testlib/qtestcase.h54
-rw-r--r--src/testlib/qtestcase.qdoc77
-rw-r--r--src/testlib/qtestjunitstreamer.cpp23
-rw-r--r--src/testlib/qtestjunitstreamer_p.h6
-rw-r--r--src/testlib/qtestlog.cpp69
-rw-r--r--src/testlib/qtestlog_p.h7
-rw-r--r--src/testlib/qtestmouse.h23
-rw-r--r--src/testlib/qtestresult.cpp1
-rw-r--r--src/testlib/qxmltestlogger.cpp300
-rw-r--r--src/testlib/qxmltestlogger_p.h12
-rw-r--r--src/tools/CMakeLists.txt16
-rw-r--r--src/tools/androiddeployqt/CMakeLists.txt1
-rw-r--r--src/tools/androiddeployqt/doc/src/androiddeployqt.qdoc246
-rw-r--r--src/tools/androiddeployqt/main.cpp296
-rw-r--r--src/tools/androidtestrunner/CMakeLists.txt1
-rw-r--r--src/tools/androidtestrunner/main.cpp81
-rw-r--r--src/tools/bootstrap/CMakeLists.txt26
-rw-r--r--src/tools/cmake_automoc_parser/CMakeLists.txt2
-rw-r--r--src/tools/cmake_automoc_parser/main.cpp85
-rw-r--r--src/tools/configure.cmake32
-rw-r--r--src/tools/macdeployqt/CMakeLists.txt6
-rw-r--r--src/tools/macdeployqt/macdeployqt/CMakeLists.txt16
-rw-r--r--src/tools/macdeployqt/macdeployqt/main.cpp278
-rw-r--r--src/tools/macdeployqt/shared/shared.cpp1604
-rw-r--r--src/tools/macdeployqt/shared/shared.h141
-rw-r--r--src/tools/moc/CMakeLists.txt2
-rw-r--r--src/tools/moc/generator.cpp108
-rw-r--r--src/tools/moc/keywords.cpp365
-rw-r--r--src/tools/moc/moc.cpp18
-rw-r--r--src/tools/moc/token.h3
-rw-r--r--src/tools/moc/util/generate_keywords.cpp1
-rw-r--r--src/tools/moc/util/generate_keywords.pro5
-rw-r--r--src/tools/qdbuscpp2xml/CMakeLists.txt1
-rw-r--r--src/tools/qdbusxml2cpp/CMakeLists.txt1
-rw-r--r--src/tools/qdbusxml2cpp/qdbusxml2cpp.cpp2
-rw-r--r--src/tools/qlalr/CMakeLists.txt1
-rw-r--r--src/tools/qlalr/compress.cpp4
-rw-r--r--src/tools/qtpaths/CMakeLists.txt1
-rw-r--r--src/tools/qvkgen/CMakeLists.txt1
-rw-r--r--src/tools/rcc/CMakeLists.txt1
-rw-r--r--src/tools/rcc/main.cpp2
-rw-r--r--src/tools/tracegen/CMakeLists.txt1
-rw-r--r--src/tools/tracegen/etw.cpp27
-rw-r--r--src/tools/tracegen/lttng.cpp8
-rw-r--r--src/tools/uic/CMakeLists.txt1
-rw-r--r--src/tools/uic/cpp/cppwriteinitialization.cpp55
-rw-r--r--src/tools/uic/customwidgetsinfo.cpp39
-rw-r--r--src/tools/uic/customwidgetsinfo.h5
-rw-r--r--src/tools/uic/python/pythonwriteimports.cpp9
-rw-r--r--src/tools/uic/shared/language.cpp18
-rw-r--r--src/tools/uic/shared/language.h8
-rw-r--r--src/tools/uic/shared/writeincludesbase.cpp4
-rw-r--r--src/tools/windeployqt/CMakeLists.txt32
-rw-r--r--src/tools/windeployqt/elfreader.cpp440
-rw-r--r--src/tools/windeployqt/elfreader.h176
-rw-r--r--src/tools/windeployqt/main.cpp1723
-rw-r--r--src/tools/windeployqt/qmlutils.cpp160
-rw-r--r--src/tools/windeployqt/qmlutils.h65
-rw-r--r--src/tools/windeployqt/utils.cpp1006
-rw-r--r--src/tools/windeployqt/utils.h404
-rw-r--r--src/widgets/dialogs/qdialog.cpp79
-rw-r--r--src/widgets/dialogs/qfiledialog.cpp18
-rw-r--r--src/widgets/dialogs/qfiledialog.h1
-rw-r--r--src/widgets/dialogs/qwizard.cpp2
-rw-r--r--src/widgets/dialogs/qwizard_win.cpp22
-rw-r--r--src/widgets/doc/qtwidgets.qdocconf3
-rw-r--r--src/widgets/doc/src/cmake-macros.qdoc4
-rw-r--r--src/widgets/doc/src/includes/cmake-find-package-widgets.qdocinc5
-rw-r--r--src/widgets/doc/src/qt6-changes.qdoc14
-rw-r--r--src/widgets/doc/src/widgets-and-layouts/gallery.qdoc2
-rw-r--r--src/widgets/doc/src/widgets-and-layouts/stylesheet.qdoc4
-rw-r--r--src/widgets/effects/qgraphicseffect.cpp4
-rw-r--r--src/widgets/graphicsview/qgraphicsanchorlayout_p.cpp2
-rw-r--r--src/widgets/graphicsview/qgraphicsanchorlayout_p.h2
-rw-r--r--src/widgets/graphicsview/qgraphicsitem.cpp28
-rw-r--r--src/widgets/graphicsview/qgraphicslayout.cpp2
-rw-r--r--src/widgets/graphicsview/qgraphicsproxywidget.cpp4
-rw-r--r--src/widgets/graphicsview/qgraphicsscene.cpp26
-rw-r--r--src/widgets/graphicsview/qgraphicsview.cpp10
-rw-r--r--src/widgets/graphicsview/qgraphicswidget.cpp100
-rw-r--r--src/widgets/itemviews/qabstractitemview.cpp162
-rw-r--r--src/widgets/itemviews/qabstractitemview_p.h3
-rw-r--r--src/widgets/itemviews/qlistview.cpp12
-rw-r--r--src/widgets/itemviews/qtableview.cpp34
-rw-r--r--src/widgets/itemviews/qtablewidget.cpp14
-rw-r--r--src/widgets/itemviews/qtablewidget.h8
-rw-r--r--src/widgets/itemviews/qtreeview_p.h2
-rw-r--r--src/widgets/itemviews/qtreewidget.cpp6
-rw-r--r--src/widgets/kernel/qapplication.cpp480
-rw-r--r--src/widgets/kernel/qapplication_p.h2
-rw-r--r--src/widgets/kernel/qboxlayout.cpp4
-rw-r--r--src/widgets/kernel/qgesture.cpp2
-rw-r--r--src/widgets/kernel/qlayoutengine.cpp2
-rw-r--r--src/widgets/kernel/qshortcut_widgets.cpp2
-rw-r--r--src/widgets/kernel/qsizepolicy.cpp3
-rw-r--r--src/widgets/kernel/qsizepolicy.h10
-rw-r--r--src/widgets/kernel/qwidget.cpp66
-rw-r--r--src/widgets/kernel/qwidget_p.h1
-rw-r--r--src/widgets/kernel/qwidgetrepaintmanager.cpp100
-rw-r--r--src/widgets/kernel/qwidgetwindow.cpp60
-rw-r--r--src/widgets/kernel/qwidgetwindow_p.h3
-rw-r--r--src/widgets/styles/qcommonstyle.cpp3
-rw-r--r--src/widgets/styles/qfusionstyle.cpp84
-rw-r--r--src/widgets/styles/qstyle.cpp10
-rw-r--r--src/widgets/styles/qstyle.h1
-rw-r--r--src/widgets/styles/qstyleoption.cpp3
-rw-r--r--src/widgets/styles/qstylesheetstyle.cpp119
-rw-r--r--src/widgets/styles/qstylesheetstyle_default.cpp4
-rw-r--r--src/widgets/util/qcompleter.cpp15
-rw-r--r--src/widgets/util/qflickgesture.cpp2
-rw-r--r--src/widgets/util/qscroller.cpp8
-rw-r--r--src/widgets/util/qscrollerproperties.cpp4
-rw-r--r--src/widgets/util/qsystemtrayicon.cpp2
-rw-r--r--src/widgets/widgets/qabstractscrollarea.cpp88
-rw-r--r--src/widgets/widgets/qabstractslider.cpp2
-rw-r--r--src/widgets/widgets/qabstractspinbox.cpp3
-rw-r--r--src/widgets/widgets/qcalendarwidget.cpp2
-rw-r--r--src/widgets/widgets/qcombobox.cpp4
-rw-r--r--src/widgets/widgets/qdatetimeedit.cpp2
-rw-r--r--src/widgets/widgets/qdial.cpp2
-rw-r--r--src/widgets/widgets/qdialogbuttonbox.cpp2
-rw-r--r--src/widgets/widgets/qdockarealayout.cpp74
-rw-r--r--src/widgets/widgets/qdockarealayout_p.h3
-rw-r--r--src/widgets/widgets/qfontcombobox.cpp127
-rw-r--r--src/widgets/widgets/qfontcombobox.h9
-rw-r--r--src/widgets/widgets/qlabel.cpp4
-rw-r--r--src/widgets/widgets/qlineedit.cpp6
-rw-r--r--src/widgets/widgets/qmainwindow.cpp19
-rw-r--r--src/widgets/widgets/qmainwindowlayout.cpp73
-rw-r--r--src/widgets/widgets/qmainwindowlayout_p.h8
-rw-r--r--src/widgets/widgets/qmdiarea.cpp6
-rw-r--r--src/widgets/widgets/qmenu.cpp12
-rw-r--r--src/widgets/widgets/qmenu.h2
-rw-r--r--src/widgets/widgets/qmenubar.cpp2
-rw-r--r--src/widgets/widgets/qplaintextedit.cpp10
-rw-r--r--src/widgets/widgets/qplaintextedit_p.h1
-rw-r--r--src/widgets/widgets/qpushbutton.cpp2
-rw-r--r--src/widgets/widgets/qscrollarea.cpp18
-rw-r--r--src/widgets/widgets/qscrollbar.cpp2
-rw-r--r--src/widgets/widgets/qslider.cpp15
-rw-r--r--src/widgets/widgets/qspinbox.cpp28
-rw-r--r--src/widgets/widgets/qtabbar.cpp118
-rw-r--r--src/widgets/widgets/qtabbar_p.h1
-rw-r--r--src/widgets/widgets/qtabwidget.cpp4
-rw-r--r--src/widgets/widgets/qtextbrowser.cpp2
-rw-r--r--src/widgets/widgets/qtextedit.cpp4
-rw-r--r--src/widgets/widgets/qtoolbar.cpp2
-rw-r--r--src/widgets/widgets/qwidgetanimator.cpp2
-rw-r--r--src/widgets/widgets/qwidgettextcontrol.cpp45
-rw-r--r--src/widgets/widgets/qwidgettextcontrol_p_p.h4
-rw-r--r--src/xml/doc/qtxml.qdocconf3
-rw-r--r--src/xml/doc/src/qt6-changes.qdoc10
-rw-r--r--src/xml/dom/qdom.cpp30
-rw-r--r--src/xml/dom/qdom.h3
-rw-r--r--src/xml/dom/qdom_p.h2
-rw-r--r--src/xml/dom/qdomhelpers.cpp42
-rw-r--r--src/xml/dom/qdomhelpers_p.h37
-rw-r--r--tests/auto/CMakeLists.txt2
-rw-r--r--tests/auto/cmake/CMakeLists.txt2
-rw-r--r--tests/auto/cmake/test_qt_extract_metatypes/CMakeLists.txt106
-rw-r--r--tests/auto/cmake/test_qt_extract_metatypes/test_qt_extract_metatypes_project/CMakeLists.txt21
-rw-r--r--tests/auto/cmake/test_qt_extract_metatypes/test_qt_extract_metatypes_project/MetaType.cpp29
-rw-r--r--tests/auto/cmake/test_qt_extract_metatypes/test_qt_extract_metatypes_project/main.cpp32
-rw-r--r--tests/auto/cmake/test_qt_extract_metatypes/test_qt_extract_metatypes_project/testdata/.gitattributes1
-rw-r--r--tests/auto/cmake/test_qt_extract_metatypes/test_qt_extract_metatypes_project/testdata/MetaTypeEmpty.h35
-rw-r--r--tests/auto/cmake/test_qt_extract_metatypes/test_qt_extract_metatypes_project/testdata/MetaTypeEmptyWithComment.h36
-rw-r--r--tests/auto/cmake/test_qt_extract_metatypes/test_qt_extract_metatypes_project/testdata/MetaTypeQ_OBJECT.h35
-rw-r--r--tests/auto/cmake/test_qt_extract_metatypes/test_qt_extract_metatypes_project/testdata/MetaTypeQ_OBJECTandQ_PROPERTY.h38
-rw-r--r--tests/auto/cmake/test_qt_extract_metatypes/test_qt_extract_metatypes_project/testdata/qt6metatypetest_metatypesEmpty.json2
-rw-r--r--tests/auto/cmake/test_qt_extract_metatypes/test_qt_extract_metatypes_project/testdata/qt6metatypetest_metatypesQ_OBJECT.json19
-rw-r--r--tests/auto/cmake/test_qt_extract_metatypes/test_qt_extract_metatypes_project/testdata/qt6metatypetest_metatypesQ_OBJECTandQ_PROPERTY.json34
-rw-r--r--tests/auto/corelib/animation/qsequentialanimationgroup/tst_qsequentialanimationgroup.cpp1
-rw-r--r--tests/auto/corelib/global/qfloat16/tst_qfloat16.cpp13
-rw-r--r--tests/auto/corelib/global/qglobal/tst_qglobal.cpp3
-rw-r--r--tests/auto/corelib/global/qnativeinterface/CMakeLists.txt2
-rw-r--r--tests/auto/corelib/global/qnativeinterface/tst_qnativeinterface.cpp1
-rw-r--r--tests/auto/corelib/global/qnumeric/CMakeLists.txt11
-rw-r--r--tests/auto/corelib/global/qoperatingsystemversion/tst_qoperatingsystemversion.cpp11
-rw-r--r--tests/auto/corelib/io/qabstractfileengine/tst_qabstractfileengine.cpp58
-rw-r--r--tests/auto/corelib/io/qdir/testdir/dir.lnk/aaaaa.txt0
-rw-r--r--tests/auto/corelib/io/qdir/testdir/dir.lnk/subdir.lnk/subdir.lnk.txt0
-rw-r--r--tests/auto/corelib/io/qdir/testdir/dir.lnk/subdir/subdir.txt0
-rw-r--r--tests/auto/corelib/io/qdir/tst_qdir.cpp63
-rw-r--r--tests/auto/corelib/io/qfile/tst_qfile.cpp77
-rw-r--r--tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp4
-rw-r--r--tests/auto/corelib/io/qfilesystemwatcher/tst_qfilesystemwatcher.cpp2
-rw-r--r--tests/auto/corelib/io/qprocessenvironment/tst_qprocessenvironment.cpp29
-rw-r--r--tests/auto/corelib/io/qsavefile/tst_qsavefile.cpp2
-rw-r--r--tests/auto/corelib/io/qstandardpaths/tst_qstandardpaths.cpp12
-rw-r--r--tests/auto/corelib/io/qtemporarydir/tst_qtemporarydir.cpp2
-rw-r--r--tests/auto/corelib/io/qtemporaryfile/tst_qtemporaryfile.cpp2
-rw-r--r--tests/auto/corelib/io/qurl/tst_qurl.cpp7
-rw-r--r--tests/auto/corelib/io/qurluts46/testdata/IdnaTestV2.txt358
-rw-r--r--tests/auto/corelib/io/qurluts46/tst_qurluts46.cpp12
-rw-r--r--tests/auto/corelib/itemmodels/CMakeLists.txt3
-rw-r--r--tests/auto/corelib/itemmodels/qidentityproxymodel/tst_qidentityproxymodel.cpp11
-rw-r--r--tests/auto/corelib/itemmodels/qsortfilterproxymodel/CMakeLists.txt15
-rw-r--r--tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp (renamed from tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.cpp)1
-rw-r--r--tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.h (renamed from tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.h)0
-rw-r--r--tests/auto/corelib/itemmodels/qsortfilterproxymodel_recursive/CMakeLists.txt2
-rw-r--r--tests/auto/corelib/itemmodels/qsortfilterproxymodel_regularexpression/CMakeLists.txt9
-rw-r--r--tests/auto/corelib/itemmodels/qsortfilterproxymodel_regularexpression/tst_qsortfilterproxymodel_regularexpression.cpp12
-rw-r--r--tests/auto/corelib/kernel/CMakeLists.txt5
-rw-r--r--tests/auto/corelib/kernel/qapplicationstatic/CMakeLists.txt8
-rw-r--r--tests/auto/corelib/kernel/qapplicationstatic/tst_qapplicationstatic.cpp65
-rw-r--r--tests/auto/corelib/kernel/qjnienvironment/testdata/src/org/qtproject/qt/android/testdata/QtJniEnvironmentTestClass.java10
-rw-r--r--tests/auto/corelib/kernel/qjnienvironment/tst_qjnienvironment.cpp50
-rw-r--r--tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp4
-rw-r--r--tests/auto/corelib/kernel/qmetatype/CMakeLists.txt1
-rw-r--r--tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp86
-rw-r--r--tests/auto/corelib/kernel/qmetatype/tst_qmetatype.h91
-rw-r--r--tests/auto/corelib/kernel/qmetatype/tst_qmetatype3.cpp43
-rw-r--r--tests/auto/corelib/kernel/qobject/tst_qobject.cpp77
-rw-r--r--tests/auto/corelib/kernel/qproperty/tst_qproperty.cpp60
-rw-r--r--tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp1
-rw-r--r--tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp6
-rw-r--r--tests/auto/corelib/plugin/qplugin/invalidplugin/main.cpp1
-rw-r--r--tests/auto/corelib/plugin/qplugin/tst_qplugin.cpp30
-rw-r--r--tests/auto/corelib/plugin/qpluginloader/elftest/corrupt1.elf64.sobin239745 -> 0 bytes
-rw-r--r--tests/auto/corelib/plugin/qpluginloader/elftest/corrupt2.elf64.sobin240097 -> 0 bytes
-rw-r--r--tests/auto/corelib/plugin/qpluginloader/elftest/corrupt3.elf64.sobin240097 -> 0 bytes
-rw-r--r--tests/auto/corelib/plugin/qpluginloader/elftest/garbage1.so4
-rw-r--r--tests/auto/corelib/plugin/qpluginloader/elftest/garbage2.so1
-rw-r--r--tests/auto/corelib/plugin/qpluginloader/elftest/garbage3.so1
-rw-r--r--tests/auto/corelib/plugin/qpluginloader/elftest/garbage4.so1
-rw-r--r--tests/auto/corelib/plugin/qpluginloader/elftest/garbage5.so2
-rw-r--r--tests/auto/corelib/plugin/qpluginloader/fakeplugin.cpp60
-rw-r--r--tests/auto/corelib/plugin/qpluginloader/theplugin/CMakeLists.txt29
-rw-r--r--tests/auto/corelib/plugin/qpluginloader/theplugin/theoldplugin.cpp105
-rw-r--r--tests/auto/corelib/plugin/qpluginloader/theplugin/theoldplugin.h46
-rw-r--r--tests/auto/corelib/plugin/qpluginloader/tst_qpluginloader.cpp670
-rw-r--r--tests/auto/corelib/text/CMakeLists.txt2
-rw-r--r--tests/auto/corelib/text/qanystringview/.gitignore1
-rw-r--r--tests/auto/corelib/text/qanystringview/CMakeLists.txt11
-rw-r--r--tests/auto/corelib/text/qanystringview/tst_qanystringview.cpp634
-rw-r--r--tests/auto/corelib/text/qbytearrayapisymmetry/tst_qbytearrayapisymmetry.cpp2
-rw-r--r--tests/auto/corelib/text/qbytearraylist/tst_qbytearraylist.cpp28
-rw-r--r--tests/auto/corelib/text/qchar/tst_qchar.cpp20
-rw-r--r--tests/auto/corelib/text/qcollator/tst_qcollator.cpp19
-rw-r--r--tests/auto/corelib/text/qlocale/tst_qlocale.cpp29
-rw-r--r--tests/auto/corelib/text/qregularexpression/tst_qregularexpression.cpp43
-rw-r--r--tests/auto/corelib/text/qstring/tst_qstring.cpp29
-rw-r--r--tests/auto/corelib/text/qstringapisymmetry/tst_qstringapisymmetry.cpp19
-rw-r--r--tests/auto/corelib/text/qstringbuilder/qstringbuilder1/stringbuilder.cpp4
-rw-r--r--tests/auto/corelib/text/qstringconverter/tst_qstringconverter.cpp57
-rw-r--r--tests/auto/corelib/text/qstringview/tst_qstringview.cpp12
-rw-r--r--tests/auto/corelib/text/qtextboundaryfinder/data/GraphemeBreakTest.txt6
-rw-r--r--tests/auto/corelib/text/qtextboundaryfinder/data/LineBreakTest.txt60
-rw-r--r--tests/auto/corelib/text/qtextboundaryfinder/data/LineBreakTest.txt.full60
-rw-r--r--tests/auto/corelib/text/qtextboundaryfinder/data/SentenceBreakTest.txt6
-rw-r--r--tests/auto/corelib/text/qtextboundaryfinder/data/WordBreakTest.html6
-rw-r--r--tests/auto/corelib/text/qtextboundaryfinder/data/WordBreakTest.txt6
-rw-r--r--tests/auto/corelib/text/qtextboundaryfinder/data/WordBreakTest.txt.full6
-rw-r--r--tests/auto/corelib/text/qunicodetools/CMakeLists.txt (renamed from tests/auto/gui/util/qshadergraph/CMakeLists.txt)12
-rw-r--r--tests/auto/corelib/text/qunicodetools/tst_qunicodetools.cpp224
-rw-r--r--tests/auto/corelib/thread/qfuture/CMakeLists.txt5
-rw-r--r--tests/auto/corelib/thread/qfuture/tst_qfuture.cpp740
-rw-r--r--tests/auto/corelib/thread/qfuturewatcher/tst_qfuturewatcher.cpp38
-rw-r--r--tests/auto/corelib/thread/qthread/tst_qthread.cpp122
-rw-r--r--tests/auto/corelib/thread/qthreadpool/tst_qthreadpool.cpp144
-rw-r--r--tests/auto/corelib/time/qcalendar/CMakeLists.txt2
-rw-r--r--tests/auto/corelib/time/qcalendar/tst_qcalendar.cpp48
-rw-r--r--tests/auto/corelib/time/qdate/tst_qdate.cpp34
-rw-r--r--tests/auto/corelib/time/qdatetime/tst_qdatetime.cpp23
-rw-r--r--tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp193
-rw-r--r--tests/auto/corelib/tools/collections/tst_collections.cpp80
-rw-r--r--tests/auto/corelib/tools/qarraydata/tst_qarraydata.cpp12
-rw-r--r--tests/auto/corelib/tools/qduplicatetracker/tst_qduplicatetracker.cpp16
-rw-r--r--tests/auto/corelib/tools/qhash/tst_qhash.cpp101
-rw-r--r--tests/auto/corelib/tools/qhashfunctions/tst_qhashfunctions.cpp62
-rw-r--r--tests/auto/corelib/tools/qhashseed/tst_qhashseed.cpp37
-rw-r--r--tests/auto/corelib/tools/qlist/tst_qlist.cpp140
-rw-r--r--tests/auto/corelib/tools/qoffsetstringarray/CMakeLists.txt7
-rw-r--r--tests/auto/corelib/tools/qoffsetstringarray/tst_qoffsetstringarray.cpp28
-rw-r--r--tests/auto/corelib/tools/qscopeguard/tst_qscopeguard.cpp12
-rw-r--r--tests/auto/corelib/tools/qset/tst_qset.cpp4
-rw-r--r--tests/auto/corelib/tools/qsharedpointer/externaltests.cpp2
-rw-r--r--tests/auto/corelib/tools/qsharedpointer/tst_qsharedpointer.cpp2
-rw-r--r--tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp32
-rw-r--r--tests/auto/gui/image/qimage/tst_qimage.cpp7
-rw-r--r--tests/auto/gui/image/qmovie/tst_qmovie.cpp1
-rw-r--r--tests/auto/gui/image/qpixmap/tst_qpixmap.cpp16
-rw-r--r--tests/auto/gui/kernel/CMakeLists.txt7
-rw-r--r--tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp118
-rw-r--r--tests/auto/gui/kernel/qpalette/tst_qpalette.cpp8
-rw-r--r--tests/auto/gui/kernel/qwindow/tst_qwindow.cpp27
-rw-r--r--tests/auto/gui/rhi/qrhi/BLACKLIST3
-rw-r--r--tests/auto/gui/rhi/qrhi/tst_qrhi.cpp348
-rw-r--r--tests/auto/gui/text/qfont/CMakeLists.txt1
-rw-r--r--tests/auto/gui/text/qfont/datastream.515bin0 -> 121 bytes
-rw-r--r--tests/auto/gui/text/qfont/testfont.qrc1
-rw-r--r--tests/auto/gui/text/qfont/tst_qfont.cpp38
-rw-r--r--tests/auto/gui/text/qfontcache/tst_qfontcache.cpp47
-rw-r--r--tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp63
-rw-r--r--tests/auto/gui/text/qfontmetrics/tst_qfontmetrics.cpp37
-rw-r--r--tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp340
-rw-r--r--tests/auto/gui/text/qtextdocumentfragment/tst_qtextdocumentfragment.cpp6
-rw-r--r--tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp112
-rw-r--r--tests/auto/gui/text/qtextmarkdownimporter/tst_qtextmarkdownimporter.cpp66
-rw-r--r--tests/auto/gui/text/qtextmarkdownwriter/data/listsAndCodeBlocks.md7
-rw-r--r--tests/auto/gui/text/qtexttable/tst_qtexttable.cpp89
-rw-r--r--tests/auto/gui/util/CMakeLists.txt5
-rw-r--r--tests/auto/gui/util/qshadergenerator/CMakeLists.txt13
-rw-r--r--tests/auto/gui/util/qshadergenerator/tst_qshadergenerator.cpp1428
-rw-r--r--tests/auto/gui/util/qshadergraph/tst_qshadergraph.cpp815
-rw-r--r--tests/auto/gui/util/qshadergraphloader/CMakeLists.txt13
-rw-r--r--tests/auto/gui/util/qshadergraphloader/tst_qshadergraphloader.cpp627
-rw-r--r--tests/auto/gui/util/qshadernodes/CMakeLists.txt13
-rw-r--r--tests/auto/gui/util/qshadernodes/tst_qshadernodes.cpp548
-rw-r--r--tests/auto/gui/util/qshadernodesloader/CMakeLists.txt13
-rw-r--r--tests/auto/gui/util/qshadernodesloader/tst_qshadernodesloader.cpp327
-rw-r--r--tests/auto/network/access/http2/tst_http2.cpp165
-rw-r--r--tests/auto/network/access/qhttpnetworkreply/tst_qhttpnetworkreply.cpp74
-rw-r--r--tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp2
-rw-r--r--tests/auto/network/kernel/qauthenticator/tst_qauthenticator.cpp31
-rw-r--r--tests/auto/network/kernel/qhostinfo/tst_qhostinfo.cpp2
-rw-r--r--tests/auto/network/kernel/qnetworkinformation/tst_qnetworkinformation.cpp92
-rw-r--r--tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp3
-rw-r--r--tests/auto/network/socket/qsctpsocket/tst_qsctpsocket.cpp2
-rw-r--r--tests/auto/other/CMakeLists.txt1
-rw-r--r--tests/auto/other/qaccessibilitymac/tst_qaccessibilitymac_helpers.mm21
-rw-r--r--tests/auto/other/qfocusevent/tst_qfocusevent.cpp36
-rw-r--r--tests/auto/printsupport/kernel/qprinter/tst_qprinter.cpp2
-rw-r--r--tests/auto/testlib/selftests/benchlibcallgrind/tst_benchlibcallgrind.cpp8
-rw-r--r--tests/auto/testlib/selftests/crashes/tst_crashes.cpp2
-rw-r--r--tests/auto/testlib/selftests/expected_verifyexceptionthrown.junitxml16
-rw-r--r--tests/auto/testlib/selftests/expected_verifyexceptionthrown.lightxml20
-rw-r--r--tests/auto/testlib/selftests/expected_verifyexceptionthrown.tap40
-rw-r--r--tests/auto/testlib/selftests/expected_verifyexceptionthrown.teamcity15
-rw-r--r--tests/auto/testlib/selftests/expected_verifyexceptionthrown.txt15
-rw-r--r--tests/auto/testlib/selftests/expected_verifyexceptionthrown.xml20
-rw-r--r--tests/auto/testlib/selftests/expected_warnings.junitxml60
-rw-r--r--tests/auto/testlib/selftests/expected_warnings.lightxml112
-rw-r--r--tests/auto/testlib/selftests/expected_warnings.tap105
-rw-r--r--tests/auto/testlib/selftests/expected_warnings.teamcity36
-rw-r--r--tests/auto/testlib/selftests/expected_warnings.txt48
-rw-r--r--tests/auto/testlib/selftests/expected_warnings.xml112
-rwxr-xr-xtests/auto/testlib/selftests/generate_expected_output.py8
-rw-r--r--tests/auto/testlib/selftests/verifyexceptionthrown/tst_verifyexceptionthrown.cpp69
-rw-r--r--tests/auto/testlib/selftests/warnings/tst_warnings.cpp103
-rw-r--r--tests/auto/tools/CMakeLists.txt9
-rw-r--r--tests/auto/tools/macdeployqt/CMakeLists.txt10
-rw-r--r--tests/auto/tools/macdeployqt/source_basicapp/basicapp.pro1
-rw-r--r--tests/auto/tools/macdeployqt/source_basicapp/main.cpp44
-rw-r--r--tests/auto/tools/macdeployqt/source_plugin_sqlite/main.cpp36
-rw-r--r--tests/auto/tools/macdeployqt/source_plugin_sqlite/plugin_sqlite.pro2
-rw-r--r--tests/auto/tools/macdeployqt/source_plugin_tls/main.cpp35
-rw-r--r--tests/auto/tools/macdeployqt/source_plugin_tls/plugin_tls.pro2
-rw-r--r--tests/auto/tools/macdeployqt/tst_macdeployqt.cpp316
-rw-r--r--tests/auto/tools/moc/CMakeLists.txt4
-rw-r--r--tests/auto/tools/moc/tst_moc.cpp41
-rw-r--r--tests/auto/tools/uic/baseline/config.ui.py2
-rw-r--r--tests/auto/tools/windeployqt/CMakeLists.txt4
-rw-r--r--tests/auto/tools/windeployqt/test/CMakeLists.txt11
-rw-r--r--tests/auto/tools/windeployqt/testapp/CMakeLists.txt21
-rw-r--r--tests/auto/tools/windeployqt/testapp/main.cpp (renamed from tests/baselineserver/src/main.cpp)41
-rw-r--r--tests/auto/tools/windeployqt/tst_windeployqt.cpp181
-rw-r--r--tests/auto/widgets/dialogs/qdialog/tst_qdialog.cpp52
-rw-r--r--tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp16
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp2
-rw-r--r--tests/auto/widgets/itemviews/qabstractitemview/qtlogo.pngbin0 -> 2991 bytes
-rw-r--r--tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp230
-rw-r--r--tests/auto/widgets/itemviews/qitemdelegate/tst_qitemdelegate.cpp2
-rw-r--r--tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp2
-rw-r--r--tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp56
-rw-r--r--tests/auto/widgets/itemviews/qtablewidget/tst_qtablewidget.cpp85
-rw-r--r--tests/auto/widgets/kernel/CMakeLists.txt1
-rw-r--r--tests/auto/widgets/kernel/qaction/tst_qaction.cpp74
-rw-r--r--tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp4
-rw-r--r--tests/auto/widgets/kernel/qwidget/BLACKLIST9
-rw-r--r--tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp886
-rw-r--r--tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp16
-rw-r--r--tests/auto/widgets/kernel/qwidgetrepaintmanager/CMakeLists.txt10
-rw-r--r--tests/auto/widgets/kernel/qwidgetrepaintmanager/tst_qwidgetrepaintmanager.cpp367
-rw-r--r--tests/auto/widgets/styles/qmacstyle/tst_qmacstyle.cpp8
-rw-r--r--tests/auto/widgets/util/qsystemtrayicon/tst_qsystemtrayicon.cpp2
-rw-r--r--tests/auto/widgets/widgets/qabstractscrollarea/tst_qabstractscrollarea.cpp39
-rw-r--r--tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp4
-rw-r--r--tests/auto/widgets/widgets/qfontcombobox/tst_qfontcombobox.cpp45
-rw-r--r--tests/auto/widgets/widgets/qmainwindow/tst_qmainwindow.cpp105
-rw-r--r--tests/auto/widgets/widgets/qmdiarea/tst_qmdiarea.cpp57
-rw-r--r--tests/auto/widgets/widgets/qpushbutton/tst_qpushbutton.cpp31
-rw-r--r--tests/auto/widgets/widgets/qscrollarea/tst_qscrollarea.cpp58
-rw-r--r--tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp63
-rw-r--r--tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp329
-rw-r--r--tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp94
-rw-r--r--tests/auto/xml/dom/qdom/tst_qdom.cpp18
-rw-r--r--tests/baseline/CMakeLists.txt7
-rw-r--r--tests/baseline/painting/.gitignore (renamed from tests/auto/other/lancelot/.gitignore)0
-rw-r--r--tests/baseline/painting/CMakeLists.txt (renamed from tests/auto/other/lancelot/CMakeLists.txt)27
-rw-r--r--tests/baseline/painting/images.qrc (renamed from tests/auto/other/lancelot/images.qrc)0
-rw-r--r--tests/baseline/painting/images/alpha.png (renamed from tests/auto/other/lancelot/images/alpha.png)bin2422 -> 2422 bytes
-rw-r--r--tests/baseline/painting/images/alpha2x2.png (renamed from tests/auto/other/lancelot/images/alpha2x2.png)bin78 -> 78 bytes
-rw-r--r--tests/baseline/painting/images/bitmap.png (renamed from tests/auto/other/lancelot/images/bitmap.png)bin254 -> 254 bytes
-rw-r--r--tests/baseline/painting/images/border.png (renamed from tests/auto/other/lancelot/images/border.png)bin182 -> 182 bytes
-rw-r--r--tests/baseline/painting/images/borderimage.png (renamed from tests/auto/other/lancelot/images/borderimage.png)bin826 -> 826 bytes
-rw-r--r--tests/baseline/painting/images/dome_argb32.png (renamed from tests/auto/other/lancelot/images/dome_argb32.png)bin18234 -> 18234 bytes
-rw-r--r--tests/baseline/painting/images/dome_indexed.png (renamed from tests/auto/other/lancelot/images/dome_indexed.png)bin7946 -> 7946 bytes
-rw-r--r--tests/baseline/painting/images/dome_indexed_mask.png (renamed from tests/auto/other/lancelot/images/dome_indexed_mask.png)bin5411 -> 5411 bytes
-rw-r--r--tests/baseline/painting/images/dome_mono.png (renamed from tests/auto/other/lancelot/images/dome_mono.png)bin1391 -> 1391 bytes
-rw-r--r--tests/baseline/painting/images/dome_mono_128.png (renamed from tests/auto/other/lancelot/images/dome_mono_128.png)bin2649 -> 2649 bytes
-rw-r--r--tests/baseline/painting/images/dome_mono_palette.png (renamed from tests/auto/other/lancelot/images/dome_mono_palette.png)bin1404 -> 1404 bytes
-rw-r--r--tests/baseline/painting/images/dome_rgb32.png (renamed from tests/auto/other/lancelot/images/dome_rgb32.png)bin17890 -> 17890 bytes
-rw-r--r--tests/baseline/painting/images/dot.png (renamed from tests/auto/other/lancelot/images/dot.png)bin287 -> 287 bytes
-rw-r--r--tests/baseline/painting/images/face.png (renamed from tests/auto/other/lancelot/images/face.png)bin2414 -> 2414 bytes
-rw-r--r--tests/baseline/painting/images/gam030.png (renamed from tests/auto/other/lancelot/images/gam030.png)bin213 -> 213 bytes
-rw-r--r--tests/baseline/painting/images/gam045.png (renamed from tests/auto/other/lancelot/images/gam045.png)bin216 -> 216 bytes
-rw-r--r--tests/baseline/painting/images/gam056.png (renamed from tests/auto/other/lancelot/images/gam056.png)bin216 -> 216 bytes
-rw-r--r--tests/baseline/painting/images/gam100.png (renamed from tests/auto/other/lancelot/images/gam100.png)bin205 -> 205 bytes
-rw-r--r--tests/baseline/painting/images/gam200.png (renamed from tests/auto/other/lancelot/images/gam200.png)bin187 -> 187 bytes
-rw-r--r--tests/baseline/painting/images/image.png (renamed from tests/auto/other/lancelot/images/image.png)bin169554 -> 169554 bytes
-rw-r--r--tests/baseline/painting/images/mask.png (renamed from tests/auto/other/lancelot/images/mask.png)bin274 -> 274 bytes
-rw-r--r--tests/baseline/painting/images/mask_100.png (renamed from tests/auto/other/lancelot/images/mask_100.png)bin319 -> 319 bytes
-rw-r--r--tests/baseline/painting/images/masked.png (renamed from tests/auto/other/lancelot/images/masked.png)bin788 -> 788 bytes
-rw-r--r--tests/baseline/painting/images/sign.png (renamed from tests/auto/other/lancelot/images/sign.png)bin10647 -> 10647 bytes
-rw-r--r--tests/baseline/painting/images/solid.png (renamed from tests/auto/other/lancelot/images/solid.png)bin607 -> 607 bytes
-rw-r--r--tests/baseline/painting/images/solid2x2.png (renamed from tests/auto/other/lancelot/images/solid2x2.png)bin75 -> 75 bytes
-rw-r--r--tests/baseline/painting/images/struct-image-01.jpg (renamed from tests/auto/other/lancelot/images/struct-image-01.jpg)bin4751 -> 4751 bytes
-rw-r--r--tests/baseline/painting/images/struct-image-01.png (renamed from tests/auto/other/lancelot/images/struct-image-01.png)bin63238 -> 63238 bytes
-rw-r--r--tests/baseline/painting/images/zebra.png (renamed from tests/auto/other/lancelot/images/zebra.png)bin426 -> 426 bytes
-rw-r--r--tests/baseline/painting/paintcommands.cpp (renamed from tests/auto/other/lancelot/paintcommands.cpp)18
-rw-r--r--tests/baseline/painting/paintcommands.h (renamed from tests/auto/other/lancelot/paintcommands.h)1
-rw-r--r--tests/baseline/painting/scripts/aliasing.qps (renamed from tests/auto/other/lancelot/scripts/aliasing.qps)0
-rw-r--r--tests/baseline/painting/scripts/arcs.qps (renamed from tests/auto/other/lancelot/scripts/arcs.qps)0
-rw-r--r--tests/baseline/painting/scripts/arcs2.qps (renamed from tests/auto/other/lancelot/scripts/arcs2.qps)0
-rw-r--r--tests/baseline/painting/scripts/background.qps (renamed from tests/auto/other/lancelot/scripts/background.qps)0
-rw-r--r--tests/baseline/painting/scripts/background_brush.qps (renamed from tests/auto/other/lancelot/scripts/background_brush.qps)0
-rw-r--r--tests/baseline/painting/scripts/beziers.qps (renamed from tests/auto/other/lancelot/scripts/beziers.qps)0
-rw-r--r--tests/baseline/painting/scripts/bitmaps.qps (renamed from tests/auto/other/lancelot/scripts/bitmaps.qps)0
-rw-r--r--tests/baseline/painting/scripts/borderimage.qps (renamed from tests/auto/other/lancelot/scripts/borderimage.qps)0
-rw-r--r--tests/baseline/painting/scripts/brush_pens.qps (renamed from tests/auto/other/lancelot/scripts/brush_pens.qps)0
-rw-r--r--tests/baseline/painting/scripts/brushes.qps (renamed from tests/auto/other/lancelot/scripts/brushes.qps)0
-rw-r--r--tests/baseline/painting/scripts/clippath_antialiasing.qps76
-rw-r--r--tests/baseline/painting/scripts/clippaths.qps (renamed from tests/auto/other/lancelot/scripts/clippaths.qps)0
-rw-r--r--tests/baseline/painting/scripts/clipping.qps (renamed from tests/auto/other/lancelot/scripts/clipping.qps)0
-rw-r--r--tests/baseline/painting/scripts/clipping_state.qps (renamed from tests/auto/other/lancelot/scripts/clipping_state.qps)0
-rw-r--r--tests/baseline/painting/scripts/cliprects.qps (renamed from tests/auto/other/lancelot/scripts/cliprects.qps)0
-rw-r--r--tests/baseline/painting/scripts/conical_gradients.qps (renamed from tests/auto/other/lancelot/scripts/conical_gradients.qps)0
-rw-r--r--tests/baseline/painting/scripts/conical_gradients_perspectives.qps (renamed from tests/auto/other/lancelot/scripts/conical_gradients_perspectives.qps)0
-rw-r--r--tests/baseline/painting/scripts/cosmetic.qps55
-rw-r--r--tests/baseline/painting/scripts/dashes.qps (renamed from tests/auto/other/lancelot/scripts/dashes.qps)0
-rw-r--r--tests/baseline/painting/scripts/degeneratebeziers.qps (renamed from tests/auto/other/lancelot/scripts/degeneratebeziers.qps)0
-rw-r--r--tests/baseline/painting/scripts/deviceclipping.qps (renamed from tests/auto/other/lancelot/scripts/deviceclipping.qps)0
-rw-r--r--tests/baseline/painting/scripts/drawpoints.qps (renamed from tests/auto/other/lancelot/scripts/drawpoints.qps)0
-rw-r--r--tests/baseline/painting/scripts/ellipses.qps (renamed from tests/auto/other/lancelot/scripts/ellipses.qps)0
-rw-r--r--tests/baseline/painting/scripts/fillrect.qps (renamed from tests/auto/other/lancelot/scripts/fillrect.qps)0
-rw-r--r--tests/baseline/painting/scripts/fillrect_aa.qps (renamed from tests/auto/other/lancelot/scripts/fillrect_aa.qps)0
-rw-r--r--tests/baseline/painting/scripts/filltest.qps (renamed from tests/auto/other/lancelot/scripts/filltest.qps)0
-rw-r--r--tests/baseline/painting/scripts/glyphruns.qps (renamed from tests/auto/other/lancelot/scripts/glyphruns.qps)0
-rw-r--r--tests/baseline/painting/scripts/gradients.qps (renamed from tests/auto/other/lancelot/scripts/gradients.qps)0
-rw-r--r--tests/baseline/painting/scripts/gradientxform_device.qps (renamed from tests/auto/other/lancelot/scripts/gradientxform_device.qps)0
-rw-r--r--tests/baseline/painting/scripts/gradientxform_logical.qps (renamed from tests/auto/other/lancelot/scripts/gradientxform_logical.qps)0
-rw-r--r--tests/baseline/painting/scripts/gradientxform_object.qps (renamed from tests/auto/other/lancelot/scripts/gradientxform_object.qps)0
-rw-r--r--tests/baseline/painting/scripts/hinting.qps (renamed from tests/auto/other/lancelot/scripts/hinting.qps)0
-rw-r--r--tests/baseline/painting/scripts/image_dpr.qps (renamed from tests/auto/other/lancelot/scripts/image_dpr.qps)0
-rw-r--r--tests/baseline/painting/scripts/image_formats.qps (renamed from tests/auto/other/lancelot/scripts/image_formats.qps)0
-rw-r--r--tests/baseline/painting/scripts/images.qps (renamed from tests/auto/other/lancelot/scripts/images.qps)0
-rw-r--r--tests/baseline/painting/scripts/images2.qps (renamed from tests/auto/other/lancelot/scripts/images2.qps)0
-rw-r--r--tests/baseline/painting/scripts/join_cap_styles.qps (renamed from tests/auto/other/lancelot/scripts/join_cap_styles.qps)0
-rw-r--r--tests/baseline/painting/scripts/join_cap_styles_duplicate_control_points.qps (renamed from tests/auto/other/lancelot/scripts/join_cap_styles_duplicate_control_points.qps)0
-rw-r--r--tests/baseline/painting/scripts/linear_gradients.qps (renamed from tests/auto/other/lancelot/scripts/linear_gradients.qps)0
-rw-r--r--tests/baseline/painting/scripts/linear_gradients_perspectives.qps (renamed from tests/auto/other/lancelot/scripts/linear_gradients_perspectives.qps)0
-rw-r--r--tests/baseline/painting/scripts/linear_resolving_gradients.qps (renamed from tests/auto/other/lancelot/scripts/linear_resolving_gradients.qps)0
-rw-r--r--tests/baseline/painting/scripts/lineconsistency.qps (renamed from tests/auto/other/lancelot/scripts/lineconsistency.qps)0
-rw-r--r--tests/baseline/painting/scripts/linedashes.qps (renamed from tests/auto/other/lancelot/scripts/linedashes.qps)0
-rw-r--r--tests/baseline/painting/scripts/linedashes2.qps (renamed from tests/auto/other/lancelot/scripts/linedashes2.qps)0
-rw-r--r--tests/baseline/painting/scripts/linedashes2_aa.qps (renamed from tests/auto/other/lancelot/scripts/linedashes2_aa.qps)0
-rw-r--r--tests/baseline/painting/scripts/lines.qps (renamed from tests/auto/other/lancelot/scripts/lines.qps)0
-rw-r--r--tests/baseline/painting/scripts/lines2.qps (renamed from tests/auto/other/lancelot/scripts/lines2.qps)0
-rw-r--r--tests/baseline/painting/scripts/lines3.qps (renamed from tests/auto/other/lancelot/scripts/lines3.qps)0
-rw-r--r--tests/baseline/painting/scripts/pathfill.qps (renamed from tests/auto/other/lancelot/scripts/pathfill.qps)0
-rw-r--r--tests/baseline/painting/scripts/paths.qps (renamed from tests/auto/other/lancelot/scripts/paths.qps)0
-rw-r--r--tests/baseline/painting/scripts/paths_aa.qps (renamed from tests/auto/other/lancelot/scripts/paths_aa.qps)0
-rw-r--r--tests/baseline/painting/scripts/pens.qps (renamed from tests/auto/other/lancelot/scripts/pens.qps)0
-rw-r--r--tests/baseline/painting/scripts/pens_aa.qps (renamed from tests/auto/other/lancelot/scripts/pens_aa.qps)0
-rw-r--r--tests/baseline/painting/scripts/pens_cosmetic.qps (renamed from tests/auto/other/lancelot/scripts/pens_cosmetic.qps)0
-rw-r--r--tests/baseline/painting/scripts/perspectives.qps (renamed from tests/auto/other/lancelot/scripts/perspectives.qps)0
-rw-r--r--tests/baseline/painting/scripts/perspectives2.qps (renamed from tests/auto/other/lancelot/scripts/perspectives2.qps)0
-rw-r--r--tests/baseline/painting/scripts/pixmap_rotation.qps (renamed from tests/auto/other/lancelot/scripts/pixmap_rotation.qps)0
-rw-r--r--tests/baseline/painting/scripts/pixmap_rotation2.qps (renamed from tests/auto/other/lancelot/scripts/pixmap_rotation2.qps)0
-rw-r--r--tests/baseline/painting/scripts/pixmap_scaling.qps (renamed from tests/auto/other/lancelot/scripts/pixmap_scaling.qps)0
-rw-r--r--tests/baseline/painting/scripts/pixmap_subpixel.qps (renamed from tests/auto/other/lancelot/scripts/pixmap_subpixel.qps)0
-rw-r--r--tests/baseline/painting/scripts/pixmaps.qps (renamed from tests/auto/other/lancelot/scripts/pixmaps.qps)0
-rw-r--r--tests/baseline/painting/scripts/porter_duff.qps (renamed from tests/auto/other/lancelot/scripts/porter_duff.qps)0
-rw-r--r--tests/baseline/painting/scripts/porter_duff2.qps (renamed from tests/auto/other/lancelot/scripts/porter_duff2.qps)0
-rw-r--r--tests/baseline/painting/scripts/primitives.qps (renamed from tests/auto/other/lancelot/scripts/primitives.qps)0
-rw-r--r--tests/baseline/painting/scripts/radial_gradients.qps (renamed from tests/auto/other/lancelot/scripts/radial_gradients.qps)0
-rw-r--r--tests/baseline/painting/scripts/radial_gradients_perspectives.qps (renamed from tests/auto/other/lancelot/scripts/radial_gradients_perspectives.qps)0
-rw-r--r--tests/baseline/painting/scripts/rasterops.qps (renamed from tests/auto/other/lancelot/scripts/rasterops.qps)0
-rw-r--r--tests/baseline/painting/scripts/richtext.qps (renamed from tests/auto/other/lancelot/scripts/richtext.qps)0
-rw-r--r--tests/baseline/painting/scripts/sizes.qps (renamed from tests/auto/other/lancelot/scripts/sizes.qps)0
-rw-r--r--tests/baseline/painting/scripts/smallcaps_path.qps9
-rw-r--r--tests/baseline/painting/scripts/statictext.qps (renamed from tests/auto/other/lancelot/scripts/statictext.qps)0
-rw-r--r--tests/baseline/painting/scripts/text.qps (renamed from tests/auto/other/lancelot/scripts/text.qps)0
-rw-r--r--tests/baseline/painting/scripts/text_perspectives.qps (renamed from tests/auto/other/lancelot/scripts/text_perspectives.qps)0
-rw-r--r--tests/baseline/painting/scripts/thinlines.qps (renamed from tests/auto/other/lancelot/scripts/thinlines.qps)0
-rw-r--r--tests/baseline/painting/scripts/tiled_pixmap.qps (renamed from tests/auto/other/lancelot/scripts/tiled_pixmap.qps)0
-rw-r--r--tests/baseline/painting/scripts/tinydashes.qps (renamed from tests/auto/other/lancelot/scripts/tinydashes.qps)0
-rw-r--r--tests/baseline/painting/tst_baseline_painting.cpp (renamed from tests/auto/other/lancelot/tst_lancelot.cpp)55
-rw-r--r--tests/baseline/shared/baselineprotocol.cpp (renamed from tests/baselineserver/shared/baselineprotocol.cpp)59
-rw-r--r--tests/baseline/shared/baselineprotocol.h (renamed from tests/baselineserver/shared/baselineprotocol.h)5
-rw-r--r--tests/baseline/shared/baselineprotocol.pri (renamed from tests/baselineserver/shared/baselineprotocol.pri)0
-rw-r--r--tests/baseline/shared/lookup3.cpp (renamed from tests/baselineserver/shared/lookup3.cpp)26
-rw-r--r--tests/baseline/shared/qbaselinetest.cpp (renamed from tests/baselineserver/shared/qbaselinetest.cpp)16
-rw-r--r--tests/baseline/shared/qbaselinetest.h (renamed from tests/baselineserver/shared/qbaselinetest.h)2
-rw-r--r--tests/baseline/shared/qbaselinetest.pri (renamed from tests/baselineserver/shared/qbaselinetest.pri)7
-rw-r--r--tests/baseline/shared/qwidgetbaselinetest.cpp189
-rw-r--r--tests/baseline/shared/qwidgetbaselinetest.h65
-rw-r--r--tests/baseline/stylesheet/CMakeLists.txt29
-rw-r--r--tests/baseline/stylesheet/icons.qrc9
-rw-r--r--tests/baseline/stylesheet/icons/align-center.pngbin0 -> 1495 bytes
-rw-r--r--tests/baseline/stylesheet/icons/align-left.pngbin0 -> 1496 bytes
-rw-r--r--tests/baseline/stylesheet/icons/align-right.pngbin0 -> 1595 bytes
-rw-r--r--tests/baseline/stylesheet/icons/arrow-up.pngbin0 -> 5935 bytes
-rw-r--r--tests/baseline/stylesheet/qss/default.qss0
-rw-r--r--tests/baseline/stylesheet/qss/qscrollarea/no_border.qss1
-rw-r--r--tests/baseline/stylesheet/qss/qscrollarea/styled_scrollbars.qss72
-rw-r--r--tests/baseline/stylesheet/qss/qtoolbutton/no_border.qss1
-rw-r--r--tests/baseline/stylesheet/qss/qtoolbutton/styled.qss38
-rw-r--r--tests/baseline/stylesheet/qss/qtoolbutton/styled_no_border.qss42
-rw-r--r--tests/baseline/stylesheet/stylesheet.pro10
-rw-r--r--tests/baseline/stylesheet/tst_baseline_stylesheet.cpp185
-rw-r--r--tests/baseline/widgets/CMakeLists.txt13
-rw-r--r--tests/baseline/widgets/tst_baseline_widgets.cpp152
-rw-r--r--tests/baselineserver/.gitignore2
-rwxr-xr-xtests/baselineserver/bin/runserver13
-rw-r--r--tests/baselineserver/src/baselineserver.cpp853
-rw-r--r--tests/baselineserver/src/baselineserver.h151
-rw-r--r--tests/baselineserver/src/baselineserver.pro24
-rw-r--r--tests/baselineserver/src/baselineserver.qrc5
-rw-r--r--tests/baselineserver/src/report.cpp503
-rw-r--r--tests/baselineserver/src/report.h98
-rw-r--r--tests/baselineserver/src/templates/view.html84
-rw-r--r--tests/benchmarks/corelib/io/qdir/10000/tst_bench_qdir_10000.cpp2
-rw-r--r--tests/benchmarks/corelib/io/qdiriterator/qfilesystemiterator.cpp2
-rw-r--r--tests/benchmarks/corelib/io/qfile/tst_bench_qfile.cpp10
-rw-r--r--tests/benchmarks/corelib/mimetypes/qmimedatabase/files/N.tar.gzbin0 -> 115 bytes
-rw-r--r--tests/benchmarks/corelib/mimetypes/qmimedatabase/files/X1
-rw-r--r--tests/benchmarks/corelib/mimetypes/qmimedatabase/files/t.c1
-rw-r--r--tests/benchmarks/corelib/mimetypes/qmimedatabase/files/u.txt4
-rw-r--r--tests/benchmarks/corelib/mimetypes/qmimedatabase/files/y1
-rw-r--r--tests/benchmarks/corelib/mimetypes/qmimedatabase/files/zbin0 -> 132 bytes
-rw-r--r--tests/benchmarks/corelib/mimetypes/qmimedatabase/tst_bench_qmimedatabase.cpp77
-rw-r--r--tests/benchmarks/corelib/thread/qmutex/tst_bench_qmutex.cpp6
-rw-r--r--tests/benchmarks/corelib/thread/qreadwritelock/tst_bench_qreadwritelock.cpp68
-rw-r--r--tests/benchmarks/corelib/thread/qwaitcondition/tst_bench_qwaitcondition.cpp96
-rw-r--r--tests/benchmarks/gui/painting/lancebench/CMakeLists.txt10
-rw-r--r--tests/benchmarks/gui/painting/lancebench/tst_lancebench.cpp2
-rw-r--r--tests/benchmarks/widgets/graphicsview/qgraphicsview/benchapps/chipTest/chip.debugbin863805 -> 0 bytes
-rw-r--r--tests/manual/lance/CMakeLists.txt64
-rw-r--r--tests/manual/lance/lance.pro2
-rw-r--r--tests/manual/qnetworkinformation/CMakeLists.txt2
-rw-r--r--tests/manual/qnetworkinformation/mainwindow.h101
-rw-r--r--tests/manual/qnetworkinformation/tst_qnetworkinformation.cpp93
-rw-r--r--tests/manual/rhi/CMakeLists.txt1
-rw-r--r--tests/manual/rhi/shared/buildshaders.bat2
-rw-r--r--tests/manual/rhi/shared/examplefw.h14
-rw-r--r--tests/manual/rhi/shared/texture_arr.frag19
-rw-r--r--tests/manual/rhi/shared/texture_arr.frag.qsbbin0 -> 1448 bytes
-rw-r--r--tests/manual/rhi/shared/texture_arr.vert20
-rw-r--r--tests/manual/rhi/shared/texture_arr.vert.qsbbin0 -> 1404 bytes
-rw-r--r--tests/manual/rhi/texturearray/CMakeLists.txt26
-rw-r--r--tests/manual/rhi/texturearray/texturearray.cpp198
-rw-r--r--tests/manual/rhi/triquadcube/triquadcube.cpp2
-rw-r--r--tests/manual/wasm/eventloop/CMakeLists.txt1
-rw-r--r--tests/manual/wasm/eventloop/asyncify_exec/CMakeLists.txt6
-rw-r--r--tests/manual/wasm/eventloop/asyncify_exec/main.cpp78
-rw-r--r--tests/manual/windowactivation/main.cpp150
-rw-r--r--tests/manual/windowactivation/windowactivation.pro6
-rw-r--r--tests/shared/filesystem.h2
-rwxr-xr-xutil/android/android_emulator_launcher.sh4
-rwxr-xr-xutil/cmake/configurejson2cmake.py8
-rwxr-xr-xutil/cmake/pro2cmake.py151
-rwxr-xr-xutil/harfbuzz/update-harfbuzz63
-rwxr-xr-xutil/locale_database/cldr2qlocalexml.py2
-rwxr-xr-xutil/locale_database/cldr2qtimezone.py1
-rw-r--r--util/locale_database/enumdata.py2
-rw-r--r--util/unicode/README23
-rw-r--r--util/unicode/data/ArabicShaping.txt80
-rw-r--r--util/unicode/data/BidiMirroring.txt26
-rw-r--r--util/unicode/data/Blocks.txt22
-rw-r--r--util/unicode/data/CaseFolding.txt46
-rw-r--r--util/unicode/data/DerivedAge.txt95
-rw-r--r--util/unicode/data/DerivedNormalizationProps.txt144
-rw-r--r--util/unicode/data/GraphemeBreakProperty.txt33
-rw-r--r--util/unicode/data/IdnaMappingTable.txt307
-rw-r--r--util/unicode/data/LineBreak.txt169
-rw-r--r--util/unicode/data/NormalizationCorrections.txt6
-rw-r--r--util/unicode/data/Scripts.txt213
-rw-r--r--util/unicode/data/SentenceBreakProperty.txt130
-rw-r--r--util/unicode/data/SpecialCasing.txt6
-rw-r--r--util/unicode/data/UnicodeData.txt837
-rw-r--r--util/unicode/data/WordBreakProperty.txt96
-rw-r--r--util/unicode/data/emoji-data.txt96
-rw-r--r--util/unicode/main.cpp12
-rwxr-xr-xutil/unicode/update_ucd.sh78
-rw-r--r--util/wasm/qtwasmserver/Pipfile12
-rwxr-xr-xutil/wasm/qtwasmserver/qtwasmserver.py149
1581 files changed, 68310 insertions, 47071 deletions
diff --git a/.github/workflows/ninja-build.yml b/.github/workflows/ninja-build.yml
index 0b74aa7716..cdb6e7df10 100644
--- a/.github/workflows/ninja-build.yml
+++ b/.github/workflows/ninja-build.yml
@@ -38,7 +38,7 @@ jobs:
# NOTE: system libb2 is not detected because version < 0.98.1 lacks pkg-config module
# NOTE: system libharfbuzz is not detected because system has old version
deps: libgl-dev libglu-dev 'libxcb*-dev' libx11-xcb-dev libxkbcommon-x11-dev libpcre2-dev libz-dev libfreetype6-dev libpng-dev libjpeg-dev libsqlite3-dev libharfbuzz-dev libb2-dev libdouble-conversion-dev
- tools: ninja-build ccache
+ tools: ninja-build ccache gcc-10
install_cmd: sudo apt-get -y install
configure_flags: -xcb -system-sqlite -system-pcre -system-zlib -system-freetype -system-libpng -system-libjpeg -system-harfbuzz -system-libb2 -system-doubleconversion
- name: macos-10.15
@@ -65,7 +65,10 @@ jobs:
- name: prepare Linux
if: runner.os == 'Linux'
- run: sudo apt-get update
+ run: |
+ sudo apt-get update
+ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100
+ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 100
- name: prepare macOS
if: runner.os == 'macOS'
run: echo noop
@@ -124,7 +127,7 @@ jobs:
run: mkdir build
- name: configure
working-directory: build
- run: "../source/configure -cmake -opensource -confirm-license -ccache -no-pch
+ run: "../source/configure -opensource -confirm-license -ccache -no-pch
-debug -nomake tests -nomake examples
-prefix '${{ runner.temp }}'/install_dir
${{ matrix.configure_flags }}"
diff --git a/.gitignore b/.gitignore
index 6126a58ddf..a8b18d0f19 100644
--- a/.gitignore
+++ b/.gitignore
@@ -91,7 +91,7 @@ __pycache__
/bin/qglinfo
/bin/qgltf
/bin/qhelpconverter
-/bin/qhelpgenerator
+/libexec/qhelpgenerator
/bin/qlalr
/bin/qml
/bin/qmleasing
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f453505ee8..c272ab6f05 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -117,7 +117,7 @@ if(NOT QT_BUILD_STANDALONE_TESTS)
# Needed when building qtbase for android.
if(ANDROID)
include(src/corelib/Qt6AndroidMacros.cmake)
- _qt_internal_create_global_apk_target()
+ _qt_internal_create_global_android_targets()
endif()
if(WASM)
diff --git a/LICENSE.FDL b/LICENSE.FDL
index 938bb8da9e..857214dd84 100644
--- a/LICENSE.FDL
+++ b/LICENSE.FDL
@@ -1,9 +1,10 @@
+
GNU Free Documentation License
Version 1.3, 3 November 2008
Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
- <http://fsf.org/>
+ <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -376,7 +377,7 @@ The Free Software Foundation may publish new, revised versions of the
GNU Free Documentation License from time to time. Such new versions
will be similar in spirit to the present version, but may differ in
detail to address new problems or concerns. See
-http://www.gnu.org/copyleft/.
+https://www.gnu.org/licenses/.
Each version of the License is given a distinguishing version number.
If the Document specifies that a particular numbered version of this
@@ -400,19 +401,19 @@ public wiki that anybody can edit is an example of such a server. A
"Massive Multiauthor Collaboration" (or "MMC") contained in the site
means any set of copyrightable works thus published on the MMC site.
-"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
-license published by Creative Commons Corporation, a not-for-profit
-corporation with a principal place of business in San Francisco,
-California, as well as future copyleft versions of that license
+"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
+license published by Creative Commons Corporation, a not-for-profit
+corporation with a principal place of business in San Francisco,
+California, as well as future copyleft versions of that license
published by that same organization.
-"Incorporate" means to publish or republish a Document, in whole or in
+"Incorporate" means to publish or republish a Document, in whole or in
part, as part of another Document.
-An MMC is "eligible for relicensing" if it is licensed under this
-License, and if all works that were first published under this License
-somewhere other than this MMC, and subsequently incorporated in whole or
-in part into the MMC, (1) had no cover texts or invariant sections, and
+An MMC is "eligible for relicensing" if it is licensed under this
+License, and if all works that were first published under this License
+somewhere other than this MMC, and subsequently incorporated in whole or
+in part into the MMC, (1) had no cover texts or invariant sections, and
(2) were thus incorporated prior to November 1, 2008.
The operator of an MMC Site may republish an MMC contained in the site
diff --git a/LICENSE.LGPLv3 b/LICENSE.LGPLv3
deleted file mode 100644
index 1fe5d9d9d2..0000000000
--- a/LICENSE.LGPLv3
+++ /dev/null
@@ -1,175 +0,0 @@
- GNU LESSER GENERAL PUBLIC LICENSE
-
- The Qt Toolkit is Copyright (C) 2016 The Qt Company Ltd.
- Contact: http://www.qt.io/licensing/
-
- You may use, distribute and copy the Qt Toolkit under the terms of
- GNU Lesser General Public License version 3, which is displayed below.
- This license makes reference to the version 3 of the GNU General
- Public License, which you can find in the LICENSE.GPL3 file.
-
--------------------------------------------------------------------------
-
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright © 2007 Free Software Foundation, Inc. <http://fsf.org/>
-Everyone is permitted to copy and distribute verbatim copies of this
-licensedocument, but changing it is not allowed.
-
-This version of the GNU Lesser General Public License incorporates
-the terms and conditions of version 3 of the GNU General Public
-License, supplemented by the additional permissions listed below.
-
-0. Additional Definitions.
-
- As used herein, “this License” refers to version 3 of the GNU Lesser
-General Public License, and the “GNU GPL” refers to version 3 of the
-GNU General Public License.
-
- “The Library” refers to a covered work governed by this License,
-other than an Application or a Combined Work as defined below.
-
- An “Application” is any work that makes use of an interface provided
-by the Library, but which is not otherwise based on the Library.
-Defining a subclass of a class defined by the Library is deemed a mode
-of using an interface provided by the Library.
-
- A “Combined Work” is a work produced by combining or linking an
-Application with the Library. The particular version of the Library
-with which the Combined Work was made is also called the “Linked
-Version”.
-
- The “Minimal Corresponding Source” for a Combined Work means the
-Corresponding Source for the Combined Work, excluding any source code
-for portions of the Combined Work that, considered in isolation, are
-based on the Application, and not on the Linked Version.
-
- The “Corresponding Application Code” for a Combined Work means the
-object code and/or source code for the Application, including any data
-and utility programs needed for reproducing the Combined Work from the
-Application, but excluding the System Libraries of the Combined Work.
-
-1. Exception to Section 3 of the GNU GPL.
-
- You may convey a covered work under sections 3 and 4 of this License
-without being bound by section 3 of the GNU GPL.
-
-2. Conveying Modified Versions.
-
- If you modify a copy of the Library, and, in your modifications, a
-facility refers to a function or data to be supplied by an Application
-that uses the facility (other than as an argument passed when the
-facility is invoked), then you may convey a copy of the modified
-version:
-
- a) under this License, provided that you make a good faith effort
- to ensure that, in the event an Application does not supply the
- function or data, the facility still operates, and performs
- whatever part of its purpose remains meaningful, or
-
- b) under the GNU GPL, with none of the additional permissions of
- this License applicable to that copy.
-
-3. Object Code Incorporating Material from Library Header Files.
-
- The object code form of an Application may incorporate material from
-a header file that is part of the Library. You may convey such object
-code under terms of your choice, provided that, if the incorporated
-material is not limited to numerical parameters, data structure
-layouts and accessors, or small macros, inline functions and templates
-(ten or fewer lines in length), you do both of the following:
-
- a) Give prominent notice with each copy of the object code that
- the Library is used in it and that the Library and its use are
- covered by this License.
-
- b) Accompany the object code with a copy of the GNU GPL and this
- license document.
-
-4. Combined Works.
-
- You may convey a Combined Work under terms of your choice that, taken
-together, effectively do not restrict modification of the portions of
-the Library contained in the Combined Work and reverse engineering for
-debugging such modifications, if you also do each of the following:
-
- a) Give prominent notice with each copy of the Combined Work that
- the Library is used in it and that the Library and its use are
- covered by this License.
-
- b) Accompany the Combined Work with a copy of the GNU GPL and this
- license document.
-
- c) For a Combined Work that displays copyright notices during
- execution, include the copyright notice for the Library among
- these notices, as well as a reference directing the user to the
- copies of the GNU GPL and this license document.
-
- d) Do one of the following:
-
- 0) Convey the Minimal Corresponding Source under the terms of
- this License, and the Corresponding Application Code in a form
- suitable for, and under terms that permit, the user to
- recombine or relink the Application with a modified version of
- the Linked Version to produce a modified Combined Work, in the
- manner specified by section 6 of the GNU GPL for conveying
- Corresponding Source.
-
- 1) Use a suitable shared library mechanism for linking with
- the Library. A suitable mechanism is one that (a) uses at run
- time a copy of the Library already present on the user's
- computer system, and (b) will operate properly with a modified
- version of the Library that is interface-compatible with the
- Linked Version.
-
- e) Provide Installation Information, but only if you would
- otherwise be required to provide such information under section 6
- of the GNU GPL, and only to the extent that such information is
- necessary to install and execute a modified version of the
- Combined Work produced by recombining or relinking the Application
- with a modified version of the Linked Version. (If you use option
- 4d0, the Installation Information must accompany the Minimal
- Corresponding Source and Corresponding Application Code. If you
- use option 4d1, you must provide the Installation Information in
- the manner specified by section 6 of the GNU GPL for conveying
- Corresponding Source.)
-
-5. Combined Libraries.
-
- You may place library facilities that are a work based on the Library
-side by side in a single library together with other library
-facilities that are not Applications and are not covered by this
-License, and convey such a combined library under terms of your
-choice, if you do both of the following:
-
- a) Accompany the combined library with a copy of the same work
- based on the Library, uncombined with any other library
- facilities, conveyed under the terms of this License.
-
- b) Give prominent notice with the combined library that part of
- it is a work based on the Library, and explaining where to find
- the accompanying uncombined form of the same work.
-
-6. Revised Versions of the GNU Lesser General Public License.
-
- The Free Software Foundation may publish revised and/or new versions
-of the GNU Lesser General Public License from time to time. Such new
-versions will be similar in spirit to the present version, but may
-differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Library
-as you received it specifies that a certain numbered version of the
-GNU Lesser General Public License “or any later version” applies to
-it, you have the option of following the terms and conditions either
-of that published version or of any later version published by the
-Free Software Foundation. If the Library as you received it does not
-specify a version number of the GNU Lesser General Public License,
-you may choose any version of the GNU Lesser General Public License
-ever published by the Free Software Foundation.
-
-If the Library as you received it specifies that a proxy can decide
-whether future versions of the GNU Lesser General Public License shall
-apply, that proxy's public statement of acceptance of any version is
-permanent authorization for you to choose that version for the Library.
-
diff --git a/LICENSE.QT-LICENSE-AGREEMENT b/LICENSE.QT-LICENSE-AGREEMENT
index 19a20ea42a..8b80e563b5 100644
--- a/LICENSE.QT-LICENSE-AGREEMENT
+++ b/LICENSE.QT-LICENSE-AGREEMENT
@@ -1,5 +1,5 @@
QT LICENSE AGREEMENT
-Agreement version 4.2.1
+Agreement version 4.3
This Qt License Agreement ("Agreement") is a legal agreement for the licensing
of Licensed Software (as defined below) between The Qt Company (as defined
@@ -19,26 +19,27 @@ WHEREAS:
NOW, THEREFORE, THE PARTIES HEREBY AGREE AS FOLLOWS:
1. DEFINITIONS
-"Affiliate" of a Party shall mean an entity (i) which is directly or indirectly
-controlling such Party; (ii) which is under the same direct or indirect
-ownership or control as such Party; or (iii) which is directly or indirectly
-owned or controlled by such Party. For these purposes, an entity shall be
-treated as being controlled by another if that other entity has fifty percent
-(50 %) or more of the votes in such entity, is able to direct its affairs
-and/or to control the composition of its board of directors or equivalent body.
+
+"Affiliate" of a Party shall mean an entity (i) which is directly
+or indirectly controlling such Party; (ii) which is under the same direct or
+indirect ownership or control as such Party; or (iii) which is directly or
+indirectly owned or controlled by such Party. For these purposes, an entity
+shall be treated as being controlled by another if that other entity has fifty
+percent (50 %) or more of the votes in such entity, is able to direct its
+affairs and/or to control the composition of its board of directors or
+equivalent body.
"Add-on Products" shall mean The Qt Company's specific add-on software products
-(for example Qt Safe Renderer, Qt for Automation, Qt Application Manager),
-which are not licensed as part of The Qt Company's standard offering, but shall
-be included into the scope of Licensed Software only if so specifically agreed
+(for example Qt Safe Renderer, Qt for Automation, Qt Application Manager), which
+are not licensed as part of The Qt Company's standard offering, but shall be
+included into the scope of Licensed Software only if so specifically agreed
between the Parties.
"Applications" shall mean Licensee's software products created using the
Licensed Software, which may include the Redistributables, or part thereof.
-"Contractor(s)" shall mean third party consultants, distributors and
-contractors performing services to the Licensee under applicable contractual
-arrangement.
+"Contractor(s)" shall mean third party consultants, distributors and contractors
+performing services to the Licensee under applicable contractual arrangement.
"Customer(s)" shall mean Licensee's end users to whom Licensee, directly or
indirectly, distributes copies of the Redistributables.
@@ -54,41 +55,39 @@ in the License Certificate, on which the Redistributables can be distributed
pursuant to the terms and conditions of this Agreement.
"Designated User(s)" shall mean the employee(s) of Licensee or Licensee's
-Affiliates acting within the scope of their employment or Licensee's
-Contractors acting within the scope of their services for Licensee and on
-behalf of Licensee. Designated Users shall be named in the License Certificate.
+Affiliates acting within the scope of their employment or Licensee's Contractors
+acting within the scope of their services for Licensee and on behalf of
+Licensee. Designated Users shall be named in the License Certificate.
"Development License" shall mean the license needed by the Licensee for each
Designated User to use the Licensed Software under the license grant described
-in Section 3.1 of this Agreement. Development Licenses are available
-separately for Qt for Application Development and Qt for Device Creation
-products, each product having its designated scope and purpose of use.
-Distribution Licenses are always connected to Qt for Device Creation
-product only.
+in Section 3.1 of this Agreement. Development Licenses are available per
+respective Licensed Software products, each product having its designated scope
+and purpose of use. Distribution Licenses are always connected to Qt for Device
+Creation product and Qt for MCUs product only.
"Development Platforms" shall mean those operating systems specified in the
License Certificate, in which the Licensed Software can be used under the
-Development License, but not distributed in any form or used for any other
-purpose.
+Development License, but not distributed in any form or used for any other purpose.
"Devices" shall mean hardware devices or products that 1) are manufactured
-and/or distributed by the Licensee or its Affiliates or Contractors, and
-(2)(i) incorporate or integrate the Redistributables or parts thereof; or (ii)
-where the main user interface or substantial functionality of such unit , when
-used by a Customer, is provided by Application(s) or otherwise depends on the
-Licensed Software, regardless of whether the Redistributables are distributed
-together with the hardware or not. Devices covered with this Agreement shall
-be specified in Appendix 2 or in a quote.
+and/or distributed by the Licensee or its Affiliates or Contractors, and (2)(i)
+incorporate or integrate the Redistributables or parts thereof; or (ii) where
+the main user interface or substantial functionality of such unit , when used by
+a Customer, is provided by Application(s) or otherwise depends on the Licensed
+Software, regardless of whether the Redistributables are distributed together
+with the hardware or not. Devices covered with this Agreement shall be specified
+in Appendix 2 or in a quote.
"Distribution License(s)" shall mean the license required for any kind of sale,
trade, exchange, loan, lease, rental or other distribution by or on behalf of
Licensee to a third party of Redistributables in connection with Devices
pursuant to license grant described in Section 3.3 of this Agreement.
-"Distribution License Packs" shall mean set of prepaid Distribution Licenses
-for distribution of Redistributables, as defined in The Qt Company's standard
-price list, quote, Purchase Order confirmation or in an appendix hereto, as
-the case may be.
+"Distribution License Packs" shall mean set of prepaid Distribution Licenses for
+distribution of Redistributables, as defined in The Qt Company's standard price
+list, quote, Purchase Order confirmation or in an appendix hereto, as the case
+may be.
"Intellectual Property Rights" shall mean patents (including utility models),
design patents, and designs (whether or not capable of registration), chip
@@ -101,10 +100,10 @@ well as any trade secrets.
each Designated User respectively upon them downloading the Licensed Software,
which will be available under respective Designated User's Qt Account at
account.qt.io. License Certificates will specify the Designated User, the
-Development Platforms, Deployment Platforms and the License Term. Such terms
-are considered part of the licenses granted hereunder and shall be updated
-from time to time to reflect any agreed changes to the foregoing terms
-relating to Designated User's rights to the Licensed Software.
+Development Platforms, Deployment Platforms and the License Term. Such terms are
+considered part of the licenses granted hereunder and shall be updated from time
+to time to reflect any agreed changes to the foregoing terms relating to
+Designated User's rights to the Licensed Software.
"License Fee" shall mean the fee charged to the Licensee for rights granted
under the terms of this Agreement.
@@ -115,39 +114,39 @@ entitled to use the Licensed Software, as set forth in the respective License
Certificate.
"Licensed Software" shall mean either
- (i) Qt for Application Development or
- (ii) Qt for Device Creation, and/or
- (iii) Qt 3D Studio, and/or
- (iv) Qt Design Studio, and/or
- (v) Qt for MCUs, and/or
- (vi) selected Add-on Products, if any,
+ (i) Qt for Application Development or
+ (ii) Qt for Device Creation, and/or
+ (iii) Qt 3D Studio, and/or
+ (iv) Qt Design Studio, and/or
+ (v) Qt for MCUs, and/or
+ (vi) selected Add-on Products, if any,
depending on which product(s) the Licensee has purchased under this Agreement,
as well as corresponding online or electronic documentation, associated media
and printed materials, including the source code (where applicable), example
programs and the documentation, licensed to the Licensee under this Agreement.
-Licensed Software does not include Third Party Software (as defined in Section
-4) or Open Source Qt. The Qt Company may, in the course of its development
-activities, at its free and absolute discretion and without any obligation to
-send or publish any notifications to the Licensee or in general, make changes,
-additions or deletions in the components and functionalities of the Licensed
-Software, provided that no such changes, additions or deletions will affect
-the already released version of the Licensed Software, but only upcoming
-version(s).
+Licensed Software does not include Third Party Software (as defined in
+Section 4) or Open Source Qt. The Qt Company may, in the course of its
+development activities, at its free and absolute discretion and without any
+obligation to send or publish any notifications to the Licensee or in general,
+make changes, additions or deletions in the components and functionalities of
+the Licensed Software, provided that no such changes, additions or deletions
+will affect the already released version of the Licensed Software, but only
+upcoming version(s).
"Licensee" shall mean the individual or legal entity that is party to this
Agreement, as identified on the signature page hereof.
"Licensee's Records" shall mean books and records that are likely to contain
-information bearing on Licensee's compliance with this Agreement, Licensee's
-use of Open Source Qt and/or the payments due to The Qt Company under this
-Agreement, including, but not limited to user information, assembly logs,
-sales records and distribution records.
+information bearing on Licensee's compliance with this Agreement, Licensee's use
+of Open Source Qt and/or the payments due to The Qt Company under this
+Agreement, including, but not limited to user information, assembly logs, sales
+records and distribution records.
"Modified Software" shall have the meaning as set forth in Section 2.3.
-"Online Services" shall mean any services or access to systems made available
-by The Qt Company to the Licensee over the Internet relating to the Licensed
+"Online Services" shall mean any services or access to systems made available by
+The Qt Company to the Licensee over the Internet relating to the Licensed
Software or for the purpose of use by the Licensee of the Licensed Software or
Support. Use of any such Online Services is discretionary for the Licensee and
some of them may be subject to additional fees.
@@ -196,12 +195,12 @@ and refer also to Redistributables.
"Renewal Term" shall mean an extension of previous License Term as agreed
between the Parties.
-"Submitted Modified Software" shall have the meaning as set forth in
-Section 2.3.
+"Submitted Modified Software" shall have the meaning as set forth in Section
+2.3.
"Support" shall mean standard developer support that is provided by The Qt
-Company to assist Designated Users in using the Licensed Software in
-accordance with The Qt Company's standard support terms available at
+Company to assist Designated Users in using the Licensed Software in accordance
+with The Qt Company's standard support terms available at
https://www.qt.io/terms-conditions/ and as further defined in Section 8
hereunder.
@@ -210,39 +209,39 @@ hereunder.
"Term" shall have the meaning set forth in Section 12.
"The Qt Company" shall mean:
- (i) in the event Licensee is an individual residing in the United
- States or a legal entity incorporated in the United States or
- having its headquarters in the United States, The Qt Company Inc.,
- a Delaware corporation with its office at 2350 Mission College
- Blvd., Suite 1020, Santa Clara, CA 95054, USA.; or
- (ii) in the event the Licensee is an individual residing outside of the
- United States or a legal entity incorporated outside of the United
- States or having its registered office outside of the United
- States, The Qt Company Ltd., a Finnish company with its registered
- office at Bertel Jungin aukio D3A, 02600 Espoo, Finland.
+ (i) in the event Licensee is an individual residing in the United States
+ or a legal entity incorporated in the United States or having its
+ headquarters in the United States, The Qt Company Inc., a
+ Delaware corporation with its office at 2350 Mission College Blvd.,
+ Suite 1020, Santa Clara, CA 95054, USA.; or
+ (ii) in the event the Licensee is an individual residing outside of the
+ United States or a legal entity incorporated outside of the United
+ States or having its registered office outside of the United States,
+ The Qt Company Ltd., a Finnish company with its registered office
+ at Bertel Jungin aukio D3A, 02600 Espoo, Finland.
"Third-Party Software" shall have the meaning set forth in Section 4.
"Updates" shall mean a release or version of the Licensed Software containing
-bug fixes, error corrections and other changes that are generally made
-available to users of the Licensed Software that have contracted for Support.
-Updates are generally depicted as a change to the digits following the decimal
-in the Licensed Software version number. The Qt Company shall make Updates
-available to the Licensee under the Support. Updates shall be considered as
-part of the Licensed Software hereunder.
+bug fixes, error corrections and other changes that are generally made available
+to users of the Licensed Software that have contracted for Support. Updates are
+generally depicted as a change to the digits following the decimal in the
+Licensed Software version number. The Qt Company shall make Updates available to
+the Licensee under the Support. Updates shall be considered as part of the
+Licensed Software hereunder.
"Upgrades" shall mean a release or version of the Licensed Software containing
enhancements and new features and are generally depicted as a change to the
first digit of the Licensed Software version number. In the event Upgrades are
-provided to the Licensee under this Agreement, they shall be considered as
-part of the Licensed Software hereunder.
-
+provided to the Licensee under this Agreement, they shall be considered as part
+of the Licensed Software hereunder.
2. OWNERSHIP
+
2.1. Ownership of The Qt Company
-The Licensed Software is protected by copyright laws and international
-copyright treaties, as well as other intellectual property laws and
-treaties. The Licensed Software is licensed, not sold.
+The Licensed Software is protected by copyright laws and international copyright
+treaties, as well as other intellectual property laws and treaties. The Licensed
+Software is licensed, not sold.
All of The Qt Company's Intellectual Property Rights are and shall remain the
exclusive property of The Qt Company or its licensors respectively.
@@ -251,43 +250,47 @@ exclusive property of The Qt Company or its licensors respectively.
All the Licensee's Intellectual Property Rights are and shall remain the
exclusive property of the Licensee or its licensors respectively.
-All Intellectual Property Rights to the Modified Software, Applications and
-Devices shall remain with the Licensee and no rights thereto shall be granted
-by the Licensee to The Qt Company under this Agreement (except as set forth in
-Section 2.3 below).
+All Intellectual Property Rights to the Modified Software, Applications and Devices
+shall remain with the Licensee and no rights thereto shall be granted by the
+Licensee to The Qt Company under this Agreement (except as set forth in Section
+2.3 below).
2.3. Modified Software
Licensee may create bug-fixes, error corrections, patches or modifications to
the Licensed Software ("Modified Software"). Such Modified Software may break
-the source or binary compatibility with the Licensed Software (including
-without limitation through changing the application programming interfaces
-("API") or by adding, changing or deleting any variable, method, or class
-signature in the Licensed Software and/or any inter-process protocols,
-services or standards in the Licensed Software libraries). To the extent that
-Licensee's Modified Software so breaks source or binary compatibility with the
-Licensed Software, Licensee acknowledges that The Qt Company's ability to
-provide Support may be prevented or limited and Licensee's ability to make use
-of Updates may be restricted.
+the source or binary compatibility with the Licensed Software (including without
+limitation through changing the application programming interfaces ("API") or by
+adding, changing or deleting any variable, method, or class signature in the
+Licensed Software and/or any inter-process protocols, services or standards in
+the Licensed Software libraries). To the extent that Licensee's Modified
+Software so breaks source or binary compatibility with the Licensed Software,
+Licensee acknowledges that The Qt Company's ability to provide Support may be
+prevented or limited and Licensee's ability to make use of Updates may be restricted.
Licensee may, at its sole and absolute discretion, choose to submit Modified
Software to The Qt Company ("Submitted Modified Software") in connection with
-Licensee's Support request, service request or otherwise. In the event
-Licensee does so, then, Licensee hereby grants The Qt Company a sublicensable,
+Licensee's Support request, service request or otherwise. In the event Licensee
+does so, then, Licensee hereby grants The Qt Company a sublicensable,
assignable, irrevocable, perpetual, worldwide, non-exclusive, royalty-free and
-fully paid-up license, under all of Licensee's Intellectual Property Rights,
-to reproduce, adapt, translate, modify, and prepare derivative works of,
-publicly display, publicly perform, sublicense, make available and distribute
-such Submitted Modified Software as The Qt Company sees fit at its free and
-absolute discretion.
+fully paid-up license, under all of Licensee's Intellectual Property Rights, to
+reproduce, adapt, translate, modify, and prepare derivative works of, publicly
+display, publicly perform, sublicense, make available and distribute such
+Submitted Modified Software as The Qt Company sees fit at its free and absolute
+discretion.
3. LICENSES GRANTED
+
3.1. Development with Licensed Software
Subject to the terms of this Agreement, The Qt Company grants to Licensee a
-worldwide, non-exclusive, non-transferable license, valid for the License
-Term, to use, modify and copy the Licensed Software by Designated Users on the
+worldwide, non-exclusive, non-transferable license, valid for the License Term,
+to use, modify and copy the Licensed Software by Designated Users on the
Development Platforms for the sole purposes of designing, developing,
-demonstrating and testing Application(s) and/or Devices, and to provide
-thereto related support and other related services to end-user Customers.
+demonstrating and testing Application(s) and/or Devices, and to provide thereto
+related support and other related services to end-user Customers. Each
+Application and/or Device can only include, incorporate or integrate code
+generated under this Agreement by such Designated Users who are duly licensed
+for the applicable Development Platform(s) and Deployment Platform(s) (i.e have
+a valid license for the appropriate Licensed Software product).
Licensee may install copies of the Licensed Software on five (5) computers per
Designated User, provided that only the Designated Users who have a valid
@@ -299,50 +302,54 @@ that any Designated User may be replaced only once during any six-month period.
Upon expiry of the initially agreed License Term, the respective License Terms
shall be automatically extended to one or more Renewal Term(s), unless and
-until either Party notifies the other Party in writing that it does not wish
-to continue the License Term, such notification to be provided to the other
-Party no less than ninety (90) days before expiry of the respective License
-Term. Unless otherwise agreed between the Parties, Renewal Term shall be of
-equal length with the initial License Term.
+until either Party notifies the other Party in writing, or any other method
+acceptable to The Qt Company, that it does not wish to continue the License
+Term, such notification to be provided to the other Party no less than thirty
+(30) days before expiry of the respective License Term.
+
+Unless otherwise agreed between the Parties, Renewal Term shall be of equal
+length with the initial License Term.
Any such Renewal Term shall be subject to License Fees agreed between the
-Parties or, if no advance agreement exists, subject to The Qt Company's
-standard pricing applicable at the commencement date of any such Renewal Term.
+Parties or, if no advance agreement exists, subject to The Qt Company's standard
+pricing applicable at the commencement date of any such Renewal Term.
-Any price or other term specified for a Renewal Term shall be valid only for
-the specified time.
+Any price or other term specified for a Renewal Term shall be valid only for the
+specified time.
-The Qt Company may request the Licensee to place a purchase order corresponding
-to a quote by The Qt Company for the relevant Renewal Term.
+The Qt Company may either request the Licensee to place a purchase order
+corresponding to a quote by The Qt Company, or uses Licensees stored Credit
+Card information in the QtAccount to automatically charge the Licensee for the
+relevant Renewal Term.
In the event Licensee does not prevent auto-renewal pursuant the above, but a
Renewal Term is nevertheless not duly ordered within 30 days from the date of
-the respective quote from The Qt Company and/or the respective License Fee
-paid by due date specified in The Qt Company's respective invoice, The Qt
+the respective notification from The Qt Company and/or the respective License
+Fee paid by due date specified in The Qt Company's respective invoice, The Qt
Company shall apply a reinstatement fee equal to ten percent (10 %) of the
total value of the License Fees of the Development Licenses for the expired
term to be added to the License Fee of the respective Renewal Term.
In the event Licensee chooses not to renew a Development License for a Renewal
-Term by notifying The Qt Company thereof no less than ninety (90) days before
+Term by notifying The Qt Company thereof no less than thirty (30) days before
expiry of the respective License Term, Licensee may still reinstate such
expired Development Licenses for a Renewal Term subject to applicable renewal
Term License Fees until thirty (30) days from the expiry of the initially
agreed License Term or preceding Renewal Term. After such thirty (30) day
-period a Development License shall be subject to applicable License Fees for a
-new Development License and not any Renewal Term License Fees.
+period a Development License shall be subject to applicable License Fees for
+a new Development License and not any Renewal Term License Fees.
3.2. Distribution of Applications
-Subject to the terms of this Agreement, The Qt Company grants to Licensee a
-worldwide, non-exclusive, non-transferable, revocable (for cause pursuant to
+Subject to the terms of this Agreement, The Qt Company grants to Licensee
+a worldwide, non-exclusive, non-transferable, revocable (for cause pursuant to
this Agreement) right and license, valid for the Term, to
- (i) distribute, by itself or through its Contractors, Redistributables
- as installed, incorporated or integrated into Applications for
- execution on the Deployment Platforms, and
- (ii) grant sublicenses to Redistributables, as distributed hereunder,
- for Customers solely for Customer's internal use and to the extent
- necessary in order for the Customers to use the Applications for
- their respective intended purposes.
+ (i) distribute, by itself or through its Contractors, Redistributables as
+ installed, incorporated or integrated into Applications for execution
+ on the Deployment Platforms, and
+ (ii) grant sublicenses to Redistributables, as distributed hereunder, for
+ Customers solely for Customer's internal use and to the extent
+ necessary in order for the Customers to use the Applications for their
+ respective intended purposes.
Right to distribute the Redistributables as part of an Application as provided
herein is not royalty-bearing but is conditional upon the Licensee not having
@@ -353,102 +360,97 @@ time of distribution of any Redistributables to Customers.
Subject to the terms of this Agreement, The Qt Company grants to Licensee a
worldwide, non-exclusive, non-transferable, revocable (for cause pursuant to
this Agreement) right and license, valid for the Term, to
- (i) distribute, by itself or through one or more tiers of Contractors,
- Redistributables as installed, incorporated or integrated, or
- intended to be installed, incorporated or integrated into Devices
- for execution on the Deployment Platforms, and
- (ii) grant sublicenses to Redistributables, as distributed hereunder,
- for Customers solely for Customer's internal use and to the extent
- necessary in order for the Customers to use the Devices for their
- respective intended purposes.
+ (i) distribute, by itself or through one or more tiers of Contractors,
+ Redistributables as installed, incorporated or integrated, or intended
+ to be installed, incorporated or integrated into Devices for execution
+ on the Deployment Platforms, and
+ (ii) grant sublicenses to Redistributables, as distributed hereunder, for
+ Customers solely for Customer's internal use and to the extent
+ necessary in order for the Customers to use the Devices for their
+ respective intended purposes.
Right to distribute the Redistributables with Devices as provided herein is
conditional upon the Licensee (i) not having any unpaid License Fees for
-Development Licenses owed to The Qt Company, and (ii) having purchased and
-paid corresponding Distribution Licenses at the time of distribution of any
+Development Licenses owed to The Qt Company, and (ii) having purchased and paid
+corresponding Distribution Licenses at the time of distribution of any
Redistributables to Customers.
3.4. Further Requirements
The licenses granted above in this Section 3 by The Qt Company to Licensee are
conditional and subject to Licensee's compliance with the following terms:
- (i) Licensee shall not remove or alter any copyright, trademark or
- other proprietary rights notice(s) contained in any portion of the
- Licensed Software;
- (ii) Applications must add primary and substantial functionality to the
- Licensed Software so as not to compete with the Licensed Software;
- (iii) Applications may not pass on functionality which in any way makes
- it possible for others to create software with the Licensed
- Software; provided however that Licensee may use the Licensed
- Software's scripting and QML ("Qt Quick") functionality solely in
- order to enable scripting, themes and styles that augment the
- functionality and appearance of the Application(s) without adding
- primary and substantial functionality to the Application(s);
- (iv) Licensee shall not use Licensed Software in any manner or for any
- purpose that infringes, misappropriates or otherwise violates any
- Intellectual property or right of any third party, or that
- violates any applicable law;
- (v) Licensee shall not use The Qt Company's or any of its suppliers'
- names, logos, or trademarks to market Applications, except that
- Licensee may use "Built with Qt" logo to indicate that
- Application(s) was developed using the Licensed Software;
- (vi) Licensee shall not distribute, sublicense or disclose source code
- of Licensed Software to any third party (provided however that
- Licensee may appoint employee(s) of Contractors as Designated
- Users to use Licensed Software pursuant to this Agreement). Such
- right may be available for the Licensee subject to a separate
- software development kit ("SDK") license agreement to be concluded
- with The Qt Company;
- (vii) Licensee shall not grant the Customers a right to (i) make copies
- of the Redistributables except when and to the extent required to
- use the Applications and/or Devices for their intended purpose,
- (ii) modify the Redistributables or create derivative works
- thereof, (iii) decompile, disassemble or otherwise reverse
- engineer Redistributables, or (iv) redistribute any copy or
- portion of the Redistributables to any third party, except as part
- of the onward sale of the Device on which the Redistributables are
- installed;
- (viii) Licensee shall not and shall cause that its Affiliates or
- Contractors shall not use Licensed Software in any Prohibited
- Combination, unless Licensee has received an advance written
- permission from The Qt Company to do so. Absent such written
- permission, any and all distribution by the Licensee during the
- Term of a hardware device or product a) which incorporate or
- integrate any part of Licensed Software or Open Source Qt; or b)
- where the main user interface or substantial functionality is
- provided by software built with Licensed Software or Open Source
- Qt or otherwise depends on the Licensed Software or Open Source
- Qt, shall be considered to be Device distribution under this
- Agreement and shall be dependent on Licensee's compliance thereof
- (including but not limited to obligation to pay applicable License
- Fees for such distribution). Notwithstanding what is provided
- above in this sub-section (viii), Licensee is entitled to use and
- combine Qt 3D Studio and/or Qt Design Studio with Open Source Qt
- ("Permitted Combination") for its internal evaluation purposes,
- provided that Licensee shall in no way transfer, publish, disclose,
- display or otherwise make available any software or work resulting
- from such Permitted Combination;
- (ix) Licensee shall cause all of its Affiliates and Contractors
- entitled to make use of the licenses granted under this Agreement,
- to be contractually bound to comply with the relevant terms of
- this Agreement and not to use the Licensed Software beyond the
- terms hereof and for any purposes other than operating within the
- scope of their services for Licensee. Licensee shall be responsible
- for any and all actions and omissions of its Affiliates and
- Contractors relating to the Licensed Software and use thereof
- (including but not limited to payment of all applicable License
- Fees);
- (x) Except when and to the extent explicitly provided in this Section
- 3, Licensee shall not transfer, publish, disclose, display or
- otherwise make available the Licensed Software; and
- (xi) Licensee shall not attempt or enlist a third party to conduct or
- attempt to conduct any of the above.
-
-Above terms shall not be applicable if and to the extent they conflict with
-any mandatory provisions of any applicable laws.
+ (i) Licensee shall not remove or alter any copyright, trademark or other
+ proprietary rights notice(s) contained in any portion of the Licensed
+ Software;
+ (ii) Applications must add primary and substantial functionality to the
+ Licensed Software so as not to compete with the Licensed Software;
+ (iii) Applications may not pass on functionality which in any way makes it
+ possible for others to create software with the Licensed Software;
+ provided however that Licensee may use the Licensed Software's
+ scripting and QML ("Qt Quick") functionality solely in order to
+ enable scripting, themes and styles that augment the functionality
+ and appearance of the Application(s) without adding primary and
+ substantial functionality to the Application(s);
+ (iv) Licensee shall not use Licensed Software in any manner or for any
+ purpose that infringes, misappropriates or otherwise violates any
+ Intellectual property or right of any third party, or that violates
+ any applicable law;
+ (v) Licensee shall not use The Qt Company's or any of its suppliers'
+ names, logos, or trademarks to market Applications, except that
+ Licensee may use "Built with Qt" logo to indicate that
+ Application(s) was developed using the Licensed Software;
+ (vi) Licensee shall not distribute, sublicense or disclose source code
+ of Licensed Software to any third party (provided however that
+ Licensee may appoint employee(s) of Contractors as Designated
+ Users to use Licensed Software pursuant to this Agreement). Such
+ right may be available for the Licensee subject to a separate
+ software development kit ("SDK") license agreement to be concluded
+ with The Qt Company;
+ (vii) Licensee shall not grant the Customers a right to (i) make copies of
+ the Redistributables except when and to the extent required to use the
+ Applications and/or Devices for their intended purpose, (ii) modify
+ the Redistributables or create derivative works thereof, (iii)
+ decompile, disassemble or otherwise reverse engineer Redistributables,
+ or (iv) redistribute any copy or portion of the Redistributables to
+ any third party, except as part of the onward sale of the Device on
+ which the Redistributables are installed;
+ (viii) Licensee shall not and shall cause that its Affiliates or
+ Contractors shall not use Licensed Software in any Prohibited
+ Combination, unless Licensee has received an advance written
+ permission from The Qt Company to do so. Absent such written
+ permission, any and all distribution by the Licensee during the Term
+ of a hardware device or product a) which incorporate or integrate any
+ part of Licensed Software or Open Source Qt; or b) where the main
+ user interface or substantial functionality is provided by software
+ built with Licensed Software or Open Source Qt or otherwise depends
+ on the Licensed Software or Open Source Qt, shall be considered to be
+ Device distribution under this Agreement and shall be dependent on
+ Licensee's compliance thereof (including but not limited to
+ obligation to pay applicable License Fees for such distribution).
+ Notwithstanding what is provided above in this sub-section (viii),
+ Licensee is entitled to use and combine Licensed Software with any
+ Permitted Software;
+ (ix) Licensee shall cause all of its Affiliates and Contractors entitled
+ to make use of the licenses granted under this Agreement, to be
+ contractually bound to comply with the relevant terms of this
+ Agreement and not to use the Licensed Software beyond the terms
+ hereof and for any purposes other than operating within the scope
+ of their services for Licensee. Licensee shall be responsible for
+ any and all actions and omissions of its Affiliates and Contractors
+ relating to the Licensed Software and use thereof (including but not
+ limited to payment of all applicable License Fees);
+ (x) Except when and to the extent explicitly provided in this Section 3,
+ Licensee shall not transfer, publish, disclose, display or otherwise
+ make available the Licensed Software; and
+ (xi) Licensee shall not attempt or enlist a third party to conduct or
+ attempt to conduct any of the above.
+
+Above terms shall not be applicable if and to the extent they conflict with any
+mandatory provisions of any applicable laws.
Any use of Licensed Software beyond the provisions of this Agreement is
strictly prohibited and requires an additional license from The Qt Company.
4. THIRD-PARTY SOFTWARE
+
The Licensed Software may provide links to third party libraries or code
(collectively "Third-Party Software") to implement various functions.
Third-Party Software does not comprise part of the Licensed Software. In some
@@ -460,15 +462,16 @@ use or distribution of Third-Party Software is in all respects subject to
applicable license terms of applicable third-party right holders.
5. PRE-RELEASE CODE
+
The Licensed Software may contain pre-release code and functionality, or sample
-code marked or otherwise stated with appropriate designation such as
-"Technology Preview", "Alpha", "Beta", "Sample" etc. ("Pre-Release Code").
+code marked or otherwise stated with appropriate designation such as "Technology
+Preview", "Alpha", "Beta", "Sample" etc. ("Pre-Release Code").
-Such Pre-Release Code may be present complimentary for the Licensee, in order
-to provide experimental support or information for new platforms or preliminary
+Such Pre-Release Code may be present complimentary for the Licensee, in order to
+provide experimental support or information for new platforms or preliminary
versions of one or more new functionalities or for other similar reasons. The
Pre-Release Code may not be at the level of performance and compatibility of a
-final, generally available, product offering. The Pre-Release Code may not
+final, generally available, product offering. The Pre-Release Code may not
operate correctly, may contain errors and may be substantially modified by The
Qt Company prior to the first commercial product release, if any. The Qt
Company is under no obligation to make Pre-Release Code commercially available,
@@ -476,15 +479,16 @@ or provide any Support or Updates relating thereto. The Qt Company assumes no
liability whatsoever regarding any Pre-Release Code, but any use thereof is
exclusively at Licensee's own risk and expense.
-For clarity, unless Licensed Software specifies different license terms for the
-respective Pre-Release Code, the Licensee is entitled to use such pre-release
-code pursuant to Section 3, just like other Licensed Software, provided however
-that in the event Add-on Products are included and available as such
-Pre-Release Code, Licensee's right to use such Add-on Products is nevertheless
-subject to and conditional upon conclusion of separate agreement with The Qt
-Company.
+For clarity, unless Licensed Software specifies different license terms for
+the respective Pre-Release Code, the Licensee is entitled to use such
+pre-release code pursuant to Section 3, just like other Licensed Software,
+provided however that in the event Add-on Products are included and available
+as such Pre-Release Code, Licensee's right to use such Add-on Products is
+nevertheless subject to and conditional upon conclusion of separate agreement
+with The Qt Company.
6. LIMITED WARRANTY AND WARRANTY DISCLAIMER
+
The Qt Company hereby represents and warrants that it has the power and
authority to grant the rights and licenses granted to Licensee under this
Agreement.
@@ -493,20 +497,21 @@ Except as set forth above, the Licensed Software is licensed to Licensee
"as is" and Licensee's exclusive remedy and The Qt Company's entire liability
for errors in the Licensed Software shall be limited, at The Qt Company's
option, to correction of the error, replacement of the Licensed Software or
-return of the applicable fees paid for the defective Licensed Software for the
-time period during which the License is not able to utilize the Licensed
+return of the applicable fees paid for the defective Licensed Software for
+the time period during which the License is not able to utilize the Licensed
Software under the terms of this Agreement.
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THE QT COMPANY ON BEHALF OF
ITSELF AND ITS LICENSORS, SUPPLIERS AND AFFILIATES, DISCLAIMS ALL OTHER
WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, ANY IMPLIED
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND
-NON-INFRINGEMENT WITH REGARD TO THE LICENSED SOFTWARE. THE QT COMPANY DOES NOT
-WARRANT THAT THE LICENSED SOFTWARE WILL SATISFY LICENSEE'S REQUIREMENTS OR THAT
-IT WILL OPERATE WITHOUT DEFECT OR ERROR OR THAT THE OPERATION THEREOF WILL BE
-UNINTERRUPTED.
+NON-INFRINGEMENT WITH REGARD TO THE LICENSED SOFTWARE. THE QT COMPANY DOES
+NOT WARRANT THAT THE LICENSED SOFTWARE WILL SATISFY LICENSEE'S REQUIREMENTS OR
+THAT IT WILL OPERATE WITHOUT DEFECT OR ERROR OR THAT THE OPERATION THEREOF
+WILL BE UNINTERRUPTED.
7. INDEMNIFICATION AND LIMITATION OF LIABILITY
+
7.1. Limitation of Liability
EXCEPT FOR (I) CASES OF GROSS NEGLIGENCE OR INTENTIONAL MISCONDUCT, AND (II)
BREACH OF CONFIDENTIALITY, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, IN NO
@@ -517,10 +522,10 @@ HOWSOEVER ARISING UNDER OR IN CONNECTION WITH THIS AGREEMENT.
EXCEPT FOR (I) CASES OF GROSS NEGLIGENCE OR INTENTIONAL MISCONDUCT, AND (II)
BREACH OF CONFIDENTIALITY, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, IN NO
-EVENT SHALL EITHER PARTY'S TOTAL AGGREGATE LIABILITY UNDER THIS AGREEMENT
-EXCEED THE AGGREGATE LICENSE FEES PAID OR PAYABLE TO THE QT COMPANY FROM
-LICENSEE DURING THE PERIOD OF TWELVE (12) MONTHS IMMEDIATELY PRECEDING THE
-EVENT RESULTING IN SUCH LIABILITY.
+EVENT SHALL EITHER PARTY'S TOTAL AGGREGATE LIABILITY UNDER THIS AGREEMENT EXCEED
+THE AGGREGATE LICENSE FEES PAID OR PAYABLE TO THE QT COMPANY FROM LICENSEE
+DURING THE PERIOD OF TWELVE (12) MONTHS IMMEDIATELY PRECEDING THE EVENT
+RESULTING IN SUCH LIABILITY.
THE PROVISIONS OF THIS SECTION 7 ALLOCATE THE RISKS UNDER THIS AGREEMENT
BETWEEN THE QT COMPANY AND LICENSEE AND THE PARTIES HAVE RELIED UPON THE
@@ -532,6 +537,7 @@ ALWAYS BE LIABLE TO PAY THE APPLICABLE LICENSE FEES CORRESPONDING TO ITS ACTUAL
USE OF LICENSED SOFTWARE.
8. SUPPORT, UPDATES AND ONLINE SERVICES
+
Upon due payment of the agreed License Fees the Licensee will be eligible to
receive Support and Updates and to use the Online Services during the License
Term, provided, however, that in the event the License Term is longer than 36
@@ -550,30 +556,32 @@ Unless otherwise agreed, The Qt Company shall not be responsible for providing
any service or support to Customers.
9. CONFIDENTIALITY
+
Each Party acknowledges that during the Term of this Agreement each Party may
receive information about the other Party's business, business methods,
business plans, customers, business relations, technology, and other
-information, including the terms of this Agreement, that is confidential and of
-great value to the other Party, and the value of which would be significantly
-reduced if disclosed to third parties ("Confidential Information").
-Accordingly, when a Party (the "Receiving Party") receives Confidential
-Information from the other Party (the "Disclosing Party"), the Receiving Party
-shall only disclose such information to employees and Contractors on a need to
-know basis, and shall cause its employees and employees of its Affiliates to:
-(i) maintain any and all Confidential Information in confidence; (ii) not
-disclose the Confidential Information to a third party without the Disclosing
-Party's prior written approval; and (iii) not, directly or indirectly, use the
-Confidential Information for any purpose other than for exercising its rights
-and fulfilling its responsibilities pursuant to this Agreement. Each Party
-shall take reasonable measures to protect the Confidential Information of the
-other Party, which measures shall not be less than the measures taken by such
-Party to protect its own confidential and proprietary information.
+information, including the terms of this Agreement, that is confidential and
+of great value to the other Party, and the value of which would be
+significantly reduced if disclosed to third parties ("Confidential
+Information"). Accordingly, when a Party (the "Receiving Party") receives
+Confidential Information from the other Party (the "Disclosing Party"), the
+Receiving Party shall only disclose such information to employees and
+Contractors on a need to know basis, and shall cause its employees and
+employees of its Affiliates to: (i) maintain any and all Confidential
+Information in confidence; (ii) not disclose the Confidential Information to
+a third party without the Disclosing Party's prior written approval; and (iii)
+not, directly or indirectly, use the Confidential Information for any purpose
+other than for exercising its rights and fulfilling its responsibilities
+pursuant to this Agreement. Each Party shall take reasonable measures to
+protect the Confidential Information of the other Party, which measures shall
+not be less than the measures taken by such Party to protect its own
+confidential and proprietary information.
Obligation of confidentiality shall not apply to information that (i) is or
becomes generally known to the public through no act or omission of the
-Receiving Party; (ii) was in the Receiving Party's lawful possession prior to
-the disclosure hereunder and was not subject to limitations on disclosure or
-use; (iii) is developed independently by employees or Contractors of the
+Receiving Party; (ii) was in the Receiving Party's lawful possession prior
+to the disclosure hereunder and was not subject to limitations on disclosure
+or use; (iii) is developed independently by employees or Contractors of the
Receiving Party or other persons working for the Receiving Party who have not
had access to the Confidential Information of the Disclosing Party, as proven
by the written records of the Receiving Party; (iv) is lawfully disclosed to
@@ -587,10 +595,11 @@ Information to the minimum extent necessary.
The obligations under this Section 9 shall continue to remain in force for a
period of five (5) years after the last disclosure, and, with respect to trade
-secrets, for so long as such trade secrets are protected under applicable trade
-secret laws.
+secrets, for so long as such trade secrets are protected under applicable
+trade secret laws.
10. FEES, DELIVERY AND PAYMENT
+
10.1. License Fees
License Fees are described in The Qt Company's standard price list, quote or
Purchase Order confirmation or in an appendix hereto, as the case may be.
@@ -600,30 +609,32 @@ for any reason whatsoever.
10.2. Ordering Licenses
Licensee may purchase Development Licenses and Distribution Licenses pursuant
-to agreed pricing terms or, if no specific pricing terms have been agreed upon,
-at The Qt Company's standard pricing terms applicable at the time of purchase.
-Unless specifically otherwise provided, any pricing terms referenced in this
-Agreement shall be valid for twelve (12) months from the date of this Agreement.
+to agreed pricing terms or, if no specific pricing terms have been agreed
+upon, at The Qt Company's standard pricing terms applicable at the time of
+purchase. Unless specifically otherwise provided, any pricing terms
+referenced in this Agreement shall be valid for twelve (12) months from the
+date of this Agreement.
Licensee shall submit all purchase orders for Development Licenses and
-Distribution Licenses to The Qt Company by email or any other method acceptable
-to The Qt Company (each such order is referred to herein as a "Purchase Order")
-for confirmation, whereupon the Purchase Order shall become binding between the
-Parties.
+Distribution Licenses to The Qt Company by email or any other method
+acceptable to The Qt Company (each such order is referred to herein as a
+"Purchase Order") for confirmation, whereupon the Purchase Order shall
+become binding between the Parties.
10.3. Distribution License Packs
Unless otherwise agreed, Distribution Licenses shall be purchased by way of
Distribution License Packs.
-Upon due payment of the ordered Distribution License Pack(s), the Licensee will
-have an account of Distribution Licenses available for distributing the
-Redistributables in accordance with this Agreement.
+Upon due payment of the ordered Distribution License Pack(s), the Licensee
+will have an account of Distribution Licenses available for distributing
+the Redistributables in accordance with this Agreement.
Each time Licensee distributes a copy of Redistributables, then one
-Distribution License is used, and Licensee's account of available Distribution
-Licenses is decreased accordingly.Licensee may distribute copies of the
-Redistributables so long as Licensee has Distribution Licenses remaining on
-its account.
+Distribution License is used, and Licensee's account of available
+Distribution Licenses is decreased accordingly.
+
+Licensee may distribute copies of the Redistributables so long as Licensee
+has Distribution Licenses remaining on its account.
10.4. Payment Terms
License Fees and any other charges under this Agreement shall be paid by
@@ -639,104 +650,114 @@ balances that remain past due.
10.5. Taxes
All License Fees and other charges payable hereunder are gross amounts but
-exclusive of any value added tax, use tax, sales tax, withholding tax and other
-taxes, duties or tariffs ("Taxes") levied directly for the sale, delivery or
-use of Licensed Software hereunder pursuant to any applicable law. Such
-applicable Taxes shall be paid by Licensee to The Qt Company, or, where
-applicable, in lieu of payment of such Taxes to The Qt Company, Licensee shall
-provide an exemption certificate to The Qt Company and any applicable authority.
+exclusive of any value added tax, use tax, sales tax, withholding tax and
+other taxes, duties or tariffs ("Taxes") levied directly for the sale,
+delivery or use of Licensed Software hereunder pursuant to any applicable
+law. Such applicable Taxes shall be paid by Licensee to The Qt Company, or,
+where applicable, in lieu of payment of such Taxes to The Qt Company,
+Licensee shall provide an exemption certificate to The Qt Company and any
+applicable authority.
11. RECORD-KEEPING AND REPORTING OBLIGATIONS; AUDIT RIGHTS
+
11.1. Licensee's Record-keeping
-Licensee shall at all times during the Term of this Agreement and for a period
-of seven (7) years thereafter maintain Licensee's Records in an accurate and
-up-to-date form. Licensee's Records shall be adequate to reasonably enable The
-Qt Company to determine Licensee's compliance with the provisions of this
-Agreement. The records shall conform to general good accounting practices.
-
-Licensee shall, within thirty (30) days from receiving The Qt Company's request
-to that effect, deliver to The Qt Company a report based on Licensee's Records,
-such report to contain information, in sufficient detail, on (i) number and
-identity of users working with Licensed Software or Open Source Qt, (ii) copies
-of Redistributables distributed by Licensee during the most recent calendar
-quarter and/or any other term specified by The Qt Company, (iii) number of
-undistributed copies of Redistributables and corresponding number of unused
-Distribution Licenses remaining on Licensee's account, and (iv) any other
-information as The Qt Company may reasonably require from time to time.
+Licensee shall at all times during the Term of this Agreement and for a
+period of seven (7) years thereafter maintain Licensee's Records in an
+accurate and up-to-date form. Licensee's Records shall be adequate to
+reasonably enable The Qt Company to determine Licensee's compliance with
+the provisions of this Agreement. The records shall conform to general
+good accounting practices.
+
+Licensee shall, within thirty (30) days from receiving The Qt Company's
+request to that effect, deliver to The Qt Company a report based on
+Licensee's Records, such report to contain information, in sufficient
+detail, on (i) number and identity of users working with Licensed Software
+or Open Source Qt, (ii) copies of Redistributables distributed by Licensee
+during the most recent calendar quarter and/or any other term specified by
+The Qt Company, (iii) number of undistributed copies of Redistributables
+and corresponding number of unused Distribution Licenses remaining on
+Licensee's account, and (iv) any other information as The Qt Company may
+reasonably require from time to time.
11.2. The Qt Company's Audit Rights
-The Qt Company or an independent auditor acting on behalf of The Qt Company's,
-may, upon at least five (5) business days' prior written notice and at its
-expense, audit Licensee with respect to the Licensee's use of the Licensed
-Software, but not more frequently than once during each 6-month period. Such
-audit may be conducted by mail, electronic means or through an in-person visit
-to Licensee's place of business. Any such in-person audit shall be conducted
-during regular business hours at Licensee's facilities and shall not
-unreasonably interfere with Licensee's business activities. The Qt Company or
-the independent auditor acting on behalf of The Qt Company shall be entitled to
-inspect Licensee's Records and conduct necessary interviews of Licensee's
-relevant employees and Contractors. All such Licensee's Records and use thereof
-shall be subject to an obligation of confidentiality under this Agreement.
-
-If an audit reveals that Licensee is using the Licensed Software beyond scope
-of the licenses Licensee has paid for, Licensee agrees to pay The Qt Company
-any amounts owed for such unauthorized use within 30 days from receipt of the
-corresponding invoice from The Qt Company. In addition, in the event the audit
-reveals a material violation of the terms of this Agreement (without
-limitation, either (i) underpayment of more than 10 % of License Fees or 10,000
-euros (whichever is more) or (ii) distribution of products, which include or
-result from Prohibited Combination, shall be deemed a material violation for
-purposes of this section), then the Licensee shall pay The Qt Company's
-reasonable cost of conducting such audit.
+The Qt Company or an independent auditor acting on behalf of The Qt
+Company's, may, upon at least five (5) business days' prior written
+notice and at its expense, audit Licensee with respect to the Licensee's
+use of the Licensed Software, but not more frequently than once during
+each 6-month period. Such audit may be conducted by mail, electronic means
+or through an in-person visit to Licensee's place of business. Any such
+in-person audit shall be conducted during regular business hours at
+Licensee's facilities and shall not unreasonably interfere with Licensee's
+business activities. The Qt Company or the independent auditor acting on
+behalf of The Qt Company shall be entitled to inspect Licensee's Records
+and conduct necessary interviews of Licensee's relevant employees and
+Contractors. All such Licensee's Records and use thereof shall be subject
+to an obligation of confidentiality under this Agreement.
+
+If an audit reveals that Licensee is using the Licensed Software beyond
+scope of the licenses Licensee has paid for, Licensee agrees to pay The Qt
+Company any amounts owed for such unauthorized use within 30 days from
+receipt of the corresponding invoice from The Qt Company.
+
+In addition, in the event the audit reveals a material violation of the
+terms of this Agreement (without limitation, either (i) underpayment of
+more than 10 % of License Fees or 10,000 euros (whichever is more) or
+(ii) distribution of products, which include or result from Prohibited
+Combination, shall be deemed a material violation for purposes of this
+section), then the Licensee shall pay The Qt Company's reasonable cost of
+conducting such audit.
12. TERM AND TERMINATION
12.1. Agreement Term
-This Agreement shall enter into force upon due acceptance by both Parties and
-remain in force for as long as there is any Development License(s) purchased
-under this Agreement in force ("Term"), unless and until terminated pursuant to
-the terms of this Section 12.
+This Agreement shall enter into force upon due acceptance by both
+Parties and remain in force for as long as there is any Development
+License(s) purchased under this Agreement in force ("Term"), unless and
+until terminated pursuant to the terms of this Section 12.
12.2. Termination and suspension of rights
-Either Party shall have the right to terminate this Agreement upon thirty (30)
-days prior written notice if the other Party commits a material breach of any
-obligation of this Agreement and fails to remedy such breach within such notice
-period.
+Either Party shall have the right to terminate this Agreement upon thirty
+(30) days prior written notice if the other Party commits a material
+breach of any obligation of this Agreement and fails to remedy such breach
+within such notice period.
Instead of termination, The Qt Company shall have the right to suspend or
-withhold grants of all rights to the Licensed Software hereunder, including but
-not limited to the Development Licenses, Distribution License, and Support,
-should Licensee fail to make payment in timely fashion or otherwise violates or
-is reasonably suspected to violate its obligations or terms of this Agreement,
-and where such violation or breach is not cured within five (5) business days
-following The Qt Company's written notice thereof.
+withhold grants of all rights to the Licensed Software hereunder,
+including but not limited to the Development Licenses, Distribution
+License, and Support, should Licensee fail to make payment in timely
+fashion or otherwise violates or is reasonably suspected to violate its
+obligations or terms of this Agreement, and where such violation or breach
+is not cured within five (5) business days following The Qt Company's
+written notice thereof.
12.3. Mutual Right to Terminate
-Either Party shall have the right to terminate this Agreement immediately upon
-written notice in the event that the other Party becomes insolvent, files for
-any form of bankruptcy, makes any assignment for the benefit of creditors, has
-a receiver, administrative receiver or officer appointed over the whole or a
-substantial part of its assets, ceases to conduct business, or an act
-equivalent to any of the above occurs under the laws of the jurisdiction of the
-other Party.
-
-12.4. Parties´ Rights and Duties upon Termination
-Upon expiry or termination of the Agreement, Licensee shall cease and shall
-cause all Designated Users (including those of its Affiliates' and
+Either Party shall have the right to terminate this Agreement immediately
+upon written notice in the event that the other Party becomes insolvent,
+files for any form of bankruptcy, makes any assignment for the benefit of
+creditors, has a receiver, administrative receiver or officer appointed
+over the whole or a substantial part of its assets, ceases to conduct
+business, or an act equivalent to any of the above occurs under the laws
+of the jurisdiction of the other Party.
+
+12.4. Parties' Rights and Duties upon Termination
+Upon expiry or termination of the Agreement, Licensee shall cease and
+shall cause all Designated Users (including those of its Affiliates' and
Contractors') to cease using the Licensed Software and distribution of the
Redistributables under this Agreement.
Notwithstanding the above, in the event the Agreement expires or is terminated:
- (i) as a result of The Qt Company choosing not to renew the Development
- License(s) as set forth in Section 3.1, then all valid licenses
- possessed by the Licensee at such date shall be extended to be
- valid in perpetuity under the terms of this Agreement and Licensee
- is entitled to purchase additional licenses as set forth in
- Section 10.2; or
- (ii) for reason other than by The Qt Company pursuant to item (i) above
- or pursuant to Section 12.2, then the Licensee is entitled, for a
- period of six (6) months after the effective date of termination,
- to continue distribution of Devices under the Distribution Licenses
- paid but unused at such effective date of termination.
+ (i) as a result of The Qt Company choosing not to renew the Development
+ License(s) as set forth in Section 3.1, and where such decision of
+ non-renewal is not due to any ongoing breach or alleged breach (as
+ reasonably determined by The Qt Company) by Licensee of the terms of this
+ Agreement or any applicable license terms of Open Source Qt, then all valid
+ licenses possessed by the Licensee at such date shall be extended to be
+ valid in perpetuity under the terms of this Agreement and Licensee is
+ entitled to purchase additional licenses as set forth in Section 10.2; or
+ (ii) for reason other than by The Qt Company pursuant to item (i) above
+ or pursuant to Section 12.2, then the Licensee is entitled, for a
+ period of six (6) months after the effective date of termination,
+ to continue distribution of Devices under the Distribution Licenses
+ paid but unused at such effective date of termination.
Upon any such termination the Licensee shall destroy or return to The Qt
Company all copies of the Licensed Software and all related materials and will
@@ -749,65 +770,66 @@ relieve Licensee of its obligation to pay any License Fees accrued or payable
to The Qt Company prior to the effective date of termination, and Licensee
shall immediately pay to The Qt Company all such fees upon the effective date
of termination. Termination of this Agreement shall not affect any rights of
-Customers to continue use of Applications and Devices (and therein incorporated
-Redistributables).
+Customers to continue use of Applications and Devices (and therein
+incorporated Redistributables).
12.5. Extension in case of bankruptcy
-In the event The Qt Company is declared bankrupt under a final, non-cancellable
-decision by relevant court of law, and this Agreement is not, at the date of
-expiry of the Development License(s) pursuant to Section 3.1, assigned to
-party, who has assumed The Qt Company's position as a legitimate licensor of
-Licensed Software under this Agreement, then all valid licenses possessed by
-the Licensee at such date of expiry, and which the Licensee has not notified
-for expiry, shall be extended to be valid in perpetuity under the terms of this
-Agreement.
+In the event The Qt Company is declared bankrupt under a final,
+non-cancellable decision by relevant court of law, and this Agreement is not,
+at the date of expiry of the Development License(s) pursuant to Section 3.1,
+assigned to party, who has assumed The Qt Company's position as a legitimate
+licensor of Licensed Software under this Agreement, then all valid licenses
+possessed by the Licensee at such date of expiry, and which the Licensee has
+not notified for expiry, shall be extended to be valid in perpetuity under the
+terms of this Agreement.
13. GOVERNING LAW AND LEGAL VENUE
+
In the event this Agreement is in the name of The Qt Company Inc., a Delaware
Corporation, then:
- (i) this Agreement shall be construed and interpreted in accordance
- with the laws of the State of California, USA, excluding its choice
- of law provisions;
- (ii) the United Nations Convention on Contracts for the International
- Sale of Goods will not apply to this Agreement; and
- (iii) any dispute, claim or controversy arising out of or relating to
- this Agreement or the breach, termination, enforcement,
- interpretation or validity thereof, including the determination of
- the scope or applicability of this Agreement to arbitrate, shall
- be determined by arbitration in San Francisco, USA, before one
- arbitrator. The arbitration shall be administered by JAMS pursuant
- to JAMS' Streamlined Arbitration Rules and Procedures. Judgment on
- the Award may be entered in any court having jurisdiction. This
- Section shall not preclude parties from seeking provisional
- remedies in aid of arbitration from a court of appropriate
- jurisdiction.
+ (i) this Agreement shall be construed and interpreted in accordance with
+ the laws of the State of California, USA, excluding its choice of
+ law provisions;
+ (ii) the United Nations Convention on Contracts for the International
+ Sale of Goods will not apply to this Agreement; and
+ (iii) any dispute, claim or controversy arising out of or relating to this
+ Agreement or the breach, termination, enforcement, interpretation or
+ validity thereof, including the determination of the scope or
+ applicability of this Agreement to arbitrate, shall be determined by
+ arbitration in San Francisco, USA, before one arbitrator. The
+ arbitration shall be administered by JAMS pursuant to JAMS'
+ Streamlined Arbitration Rules and Procedures. Judgment on the Award
+ may be entered in any court having jurisdiction. This Section shall
+ not preclude parties from seeking provisional remedies in aid of
+ arbitration from a court of appropriate jurisdiction.
In the event this Agreement is in the name of The Qt Company Ltd., a Finnish
Company, then:
- (i) this Agreement shall be construed and interpreted in accordance
- with the laws of Finland, excluding its choice of law provisions;
- (ii) the United Nations Convention on Contracts for the International
- Sale of Goods will not apply to this Agreement; and
- (iii) any disputes, controversy or claim arising out of or relating to
- this Agreement, or the breach, termination or validity thereof
- shall be finally settled by arbitration in accordance with the
- Arbitration Rules of Finland Chamber of Commerce. The arbitration
- tribunal shall consist of one (1), or if either Party so requires,
- of three (3), arbitrators. The award shall be final and binding and
- enforceable in any court of competent jurisdiction. The arbitration
- shall be held in Helsinki, Finland and the process shall be
- conducted in the English language. This Section shall not preclude
- parties from seeking provisional remedies in aid of arbitration
- from a court of appropriate jurisdiction.
+ (i) this Agreement shall be construed and interpreted in accordance with
+ the laws of Finland, excluding its choice of law provisions;
+ (ii) the United Nations Convention on Contracts for the International
+ Sale of Goods will not apply to this Agreement; and
+ (iii) any disputes, controversy or claim arising out of or relating to
+ this Agreement, or the breach, termination or validity thereof shall
+ be finally settled by arbitration in accordance with the Arbitration
+ Rules of Finland Chamber of Commerce. The arbitration tribunal shall
+ consist of one (1), or if either Party so requires, of three (3),
+ arbitrators. The award shall be final and binding and enforceable in
+ any court of competent jurisdiction. The arbitration shall be held
+ in Helsinki, Finland and the process shall be conducted in the
+ English language. This Section shall not preclude parties from
+ seeking provisional remedies in aid of arbitration from a court of
+ appropriate jurisdiction.
14. GENERAL PROVISIONS
+
14.1. No Assignment
Except in the case of a merger or sale of substantially all of its corporate
-assets, Licensee shall not be entitled to assign or transfer all or any of its
-rights, benefits and obligations under this Agreement without the prior written
-consent of The Qt Company, which shall not be unreasonably withheld or delayed.
-The Qt Company shall be entitled to freely assign or transfer any of its
-rights, benefits or obligations under this Agreement.
+assets, Licensee shall not be entitled to assign or transfer all or any of
+its rights, benefits and obligations under this Agreement without the prior
+written consent of The Qt Company, which shall not be unreasonably withheld
+or delayed. The Qt Company shall be entitled to freely assign or transfer any
+of its rights, benefits or obligations under this Agreement.
14.2. No Third-Party Representations
Licensee shall make no representations or warranties concerning the Licensed
@@ -821,511 +843,473 @@ survive termination of this Agreement shall so be deemed to survive. Such
sections include especially the following: 1, 2, 6, 7, 9, 11, 12.4, 13 and 14.
14.4. Entire Agreement
-This Agreement, the exhibits hereto, the License Certificate and any applicable
-Purchase Order accepted by The Qt Company constitute the complete agreement
-between the Parties and supersedes all prior or contemporaneous discussions,
-representations, and proposals, written or oral, with respect to the subject
-matters discussed herein.
+This Agreement, the exhibits hereto, the License Certificate and any
+applicable Purchase Order accepted by The Qt Company constitute the complete
+agreement between the Parties and supersedes all prior or contemporaneous
+discussions, representations, and proposals, written or oral, with respect
+to the subject matters discussed herein.
In the event of any conflict or inconsistency between this Agreement and any
-Purchase Order, the terms of this Agreement will prevail over the terms of the
-Purchase Order with respect to such conflict or inconsistency.
+Purchase Order, the terms of this Agreement will prevail over the terms of
+the Purchase Order with respect to such conflict or inconsistency.
-Parties specifically acknowledge and agree that this Agreement prevails over
-any click-to-accept or similar agreements the Designated Users may need to
-accept online upon download of the Licensed Software, as may be required by
-The Qt Company's applicable processes relating to Licensed Software.
+Parties specifically acknowledge and agree that this Agreement prevails
+over any click-to-accept or similar agreements the Designated Users may
+need to accept online upon download of the Licensed Software, as may be
+required by The Qt Company's applicable processes relating to Licensed
+Software.
14.5. Modifications
No modification of this Agreement shall be effective unless contained in a
writing executed by an authorized representative of each Party. No term or
condition contained in Licensee's Purchase Order ("Deviating Terms") shall
apply unless The Qt Company has expressly agreed such Deviating Terms in
-writing. Unless and to the extent expressly agreed by The Qt Company, any such
-Deviating Terms shall be deemed void and with no legal effect. For clarity,
-delivery of the Licensed Software following the receipt of the Purchase Order
-including Deviating Terms shall not constitute acceptance of such Deviating
-Terms."
+writing. Unless and to the extent expressly agreed by The Qt Company, any
+such Deviating Terms shall be deemed void and with no legal effect. For
+clarity, delivery of the Licensed Software following the receipt of the
+Purchase Order including Deviating Terms shall not constitute acceptance of
+such Deviating Terms."
14.6. Force Majeure
-Except for the payment obligations hereunder, neither Party shall be liable to
-the other for any delay or non-performance of its obligations hereunder in the
-event and to the extent that such delay or non-performance is due to an event
-of act of God, terrorist attack or other similar unforeseeable catastrophic
-event that prevents either Party for fulfilling its obligations under this
-Agreement and which such Party cannot avoid or circumvent ("Force Majeure
-Event"). If the Force Majeure Event results in a delay or non-performance of a
-Party for a period of three (3) months or longer, then either Party shall have
-the right to terminate this Agreement with immediate effect without any
-liability (except for the obligations of payment arising prior to the event of
-Force Majeure) towards the other Party.
+Except for the payment obligations hereunder, neither Party shall be liable
+to the other for any delay or non-performance of its obligations hereunder
+in the event and to the extent that such delay or non-performance is due to
+an event of act of God, terrorist attack or other similar unforeseeable
+catastrophic event that prevents either Party for fulfilling its
+obligations under this Agreement and which such Party cannot avoid or
+circumvent ("Force Majeure Event"). If the Force Majeure Event results in
+a delay or non-performance of a Party for a period of three (3) months or
+longer, then either Party shall have the right to terminate this Agreement
+with immediate effect without any liability (except for the obligations of
+payment arising prior to the event of Force Majeure) towards the other
+Party.
14.7. Notices
-Any notice given by one Party to the other shall be deemed properly given and
-deemed received if specifically acknowledged by the receiving Party in writing
-or when successfully delivered to the recipient by hand, fax, or special
-courier during normal business hours on a business day to the addresses
-specified for each Party on the signature page. Each communication and document
-made or delivered by one Party to the other Party pursuant to this Agreement
-shall be in the English language.
+Any notice given by one Party to the other shall be deemed properly given
+and deemed received if specifically acknowledged by the receiving Party in
+writing or when successfully delivered to the recipient by hand, fax, or
+special courier during normal business hours on a business day to the
+addresses specified for each Party on the signature page. Each
+communication and document made or delivered by one Party to the other
+Party pursuant to this Agreement shall be in the English language.
14.8. Export Control
Licensee acknowledges that the Redistributables, as incorporated in
-Applications or Devices, may be subject to export control restrictions under
-the applicable laws of respective countries. Licensee shall fully comply with
-all applicable export license restrictions and requirements as well as with all
-laws and regulations relating to the Redistributables and exercise of licenses
-hereunder and shall procure all necessary governmental authorizations,
-including without limitation, all necessary licenses, approvals, permissions or
-consents, where necessary for the re-exportation of the Redistributables,
-Applications and/or Devices.
+Applications or Devices, may be subject to export control restrictions
+under the applicable laws of respective countries. Licensee shall fully
+comply with all applicable export license restrictions and requirements
+as well as with all laws and regulations relating to the Redistributables
+and exercise of licenses hereunder and shall procure all necessary
+governmental authorizations, including without limitation, all necessary
+licenses, approvals, permissions or consents, where necessary for the
+re-exportation of the Redistributables, Applications and/or Devices.
14.9. No Implied License
-There are no implied licenses or other implied rights granted under this
-Agreement, and all rights, save for those expressly granted hereunder, shall
-remain with The Qt Company and its licensors. In addition, no licenses or
-immunities are granted to the combination of the Licensed Software with any
-other software or hardware not delivered by The Qt Company under this Agreement.
+There are no implied licenses or other implied rights granted under
+this Agreement, and all rights, save for those expressly granted hereunder,
+shall remain with The Qt Company and its licensors. In addition, no licenses
+or immunities are granted to the combination of the Licensed Software with
+any other software or hardware not delivered by The Qt Company under this
+Agreement.
14.10. Attorney Fees
-The prevailing Party in any action to enforce this Agreement shall be entitled
-to recover its attorney's fees and costs in connection with such action.
+The prevailing Party in any action to enforce this Agreement shall be
+entitled to recover its attorney's fees and costs in connection with such
+action.
14.11. Privacy
-Licensee acknowledges and agrees that for the purpose of this Agreement, The Qt
-Company may collect, use, transfer and disclose personal data pertaining to
-Designated Users as well as any other employees and directors of the Licensee
-and its Contractors relevant for carrying out the intent of this Agreement.
-Such personal data may be collected from the Licensee or directly from the
-relevant individuals. The Parties acknowledge that with regard to such personal
-data processed hereunder, The Qt Company shall be regarded as the Data
-Controller under the applicable Data Protection Legislation. The Qt Company
-shall process any such personal data in accordance with its privacy policies
-and practices, which will comply with all applicable requirements of the Data
-Protection Legislation.
+Licensee acknowledges and agrees that for the purpose of this Agreement,
+The Qt Company may collect, use, transfer and disclose personal data
+pertaining to Designated Users as well as any other employees and directors
+of the Licensee and its Contractors relevant for carrying out the intent of
+this Agreement. Such personal data may be collected from the Licensee or
+directly from the relevant individuals. The Parties acknowledge that with
+regard to such personal data processed hereunder, The Qt Company shall be
+regarded as the Data Controller under the applicable Data Protection
+Legislation. The Qt Company shall process any such personal data in
+accordance with its privacy policies and practices, which will comply with
+all applicable requirements of the Data Protection Legislation.
14.12. Severability
-If any provision of this Agreement shall be adjudged by any court of competent
-jurisdiction to be unenforceable or invalid, that provision shall be limited or
-eliminated to the minimum extent necessary so that this Agreement shall
-otherwise remain in full force and effect and enforceable.
-
-
+If any provision of this Agreement shall be adjudged by any court of
+competent jurisdiction to be unenforceable or invalid, that provision shall
+be limited or eliminated to the minimum extent necessary so that this
+Agreement shall otherwise remain in full force and effect and enforceable.
APPENDICES
-The Agreement includes Appendix 1, and possibly one or more of the appendices
-3-5, depending on the product(s) purchased by the Licensee, what is stated in
-the quote or invoice, and/or what is stated in the Licensee's License
-Certificate.
+The Agreement includes Appendix 1, and possibly one or more of the
+appendices 3-5, depending on the product(s) purchased by the Licensee,
+what is stated in the quote or invoice, and/or what is stated in the
+Licensee's License Certificate.
APPENDIX 1
-The modules and/or tools that are included in the respective product - Qt for
-Application Development (QtAD), Qt for Device Creation (QtDC), Qt for MCUs
-(QtMCU), Qt 3D Studio (Qt3DS) and Qt Design Studio (QtDS) - are marked with 'X'
-in the below table.
-
-Parts of the product that are permitted for distribution in object-code form
-only ("Redistributables") are marked with 'R' in the below table.
-
-Modules/Tools | QtAD | QtDC | QtMCU | Qt3DS | QtDS
--------------------------------------------------------------------------------
-Qt Core | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt GUI | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Multimedia | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Multimedia Widgets | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Network | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt QML | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Quick | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Quick Controls 2 | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Quick Dialogs | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Quick Layouts | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Quick Test | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt SQL | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Test | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Widgets | X,R | X,R | | |
--------------------------------------------------------------------------------
-Active Qt | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt 3D | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Android Extras | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Bluetooth | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Canvas 3D | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Concurrent | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt D-Bus | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Gamepad | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Graphical Effects | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Help | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Image Formats | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Location | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Mac Extras | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Network Authorization | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt NFC | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Platform Headers | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Positioning | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Print Support | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Purchasing | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt for Python | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Quick Controls | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Quick Extras | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Quick Widgets | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt SCXML | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Sensors | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Serial Bus | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Serial Port | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Speech | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt SVG | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt UI Tools | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt WebChannel | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt WebEngine | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt WebSockets | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt WebView | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Windows Extras | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt X11 Extras | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt XML | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt XML Patterns | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Wayland Compositor | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Charts | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Data Visualization | X,R | X,R | | |
--------------------------------------------------------------------------------
-Qt Virtual Keyboard | X,R | X,R | | |
--------------------------------------------------------------------------------
-Boot 2 Qt stack | | X,R | | |
--------------------------------------------------------------------------------
-Qt OTA | | X,R | | |
--------------------------------------------------------------------------------
-Device Utilities | | X,R | | |
--------------------------------------------------------------------------------
-Qt Debugging Bridge (QDB) Daemon | | X,R | | |
--------------------------------------------------------------------------------
-Qt Quick Ultralite Controls | | | X,R | |
--------------------------------------------------------------------------------
-Qt Quick Ultralite | | | X,R | |
--------------------------------------------------------------------------------
-Qt Creator | X | X | X | |
--------------------------------------------------------------------------------
-Qt Designer (Qt Widget Designer) | X | X | | |
--------------------------------------------------------------------------------
-Qt Quick Designer (Qt Creator plugin) | X | X | X | |
--------------------------------------------------------------------------------
-Qt Linguist | X | X | X | |
--------------------------------------------------------------------------------
-Qt Assistant | X | X | X | |
--------------------------------------------------------------------------------
-lupdate | X | X | X | |
--------------------------------------------------------------------------------
-lrelease | X | X | X | |
--------------------------------------------------------------------------------
-qmake | X | X | | |
--------------------------------------------------------------------------------
-uic | X | X | | |
--------------------------------------------------------------------------------
-rcc | X | X | | |
--------------------------------------------------------------------------------
-qlalr | X | X | | |
--------------------------------------------------------------------------------
-qdoc | X | X | | |
--------------------------------------------------------------------------------
-qmlscene | X | X | | |
--------------------------------------------------------------------------------
-qmlviewer | X | X | | |
--------------------------------------------------------------------------------
-Target toolchains | | X | X | |
--------------------------------------------------------------------------------
-Qt Debugging Bridge (QDB) Host Tools | | X | | |
--------------------------------------------------------------------------------
-qtconfig-gui | | X | | |
--------------------------------------------------------------------------------
-Qt Emulator | | X | | |
--------------------------------------------------------------------------------
-qmlinterfacegenerator | | | X | |
--------------------------------------------------------------------------------
-qmltocpp | | | X | |
--------------------------------------------------------------------------------
-qulfontcompiler | | | X | |
--------------------------------------------------------------------------------
-Qt53DStudioRuntime2 | | | | X,R |
--------------------------------------------------------------------------------
-Qt 3D Studio | | | | X |
--------------------------------------------------------------------------------
-Qt Design Studio | | | | | X
--------------------------------------------------------------------------------
+
+The modules and/or tools that are included in the respective product - Qt
+for Application Development (QtAD), Qt for Device Creation (QtDC), Qt for
+MCUs (QtMCU), Qt 3D Studio (Qt3DS) and Qt Design Studio (QtDS) - are
+marked with 'X' in the below table. The modules and tools are ported to Qt 6
+in stages and are subject to availability.
+
+Parts of the product that are permitted for distribution in object-code
+form only ("Redistributables") are marked with 'R' in the below table.
+
++-----------------------------------------------------------------------+
+| Modules / Tools | QtAD | QtDC | QtMCU | Qt3DS | QtDS |
++-----------------------------------------------------------------------+
+| Qt Core | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt GUI | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Multimedia | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Multimedia Widgets | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Network | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt PDF | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt QML | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Quick | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Quick Controls 2 | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Quick Dialogs | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Quick Layouts | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Quick Test | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt SQL | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Test | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Widgets | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Active Qt | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt 3D | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Android Extras | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Bluetooth | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Canvas 3D | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Concurrent | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt D-Bus | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Gamepad | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Graphical Effects | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Help | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Image Formats | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Location | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Mac Extras | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Network Authorization | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt NFC | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Platform Headers | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Positioning | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Print Support | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Purchasing | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt for Python | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Quick Controls | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Quick Extras | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Quick Widgets | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt SCXML | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Sensors | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Serial Bus | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Serial Port | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Speech | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt SVG | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt UI Tools | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt WebChannel | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt WebEngine | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt WebSockets | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt WebView | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Windows Extras | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt X11 Extras | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt XML | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt XML Patterns | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Wayland Compositor | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Charts | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Data Visualization | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Virtual Keyboard | X, R | X, R | | | |
++-----------------------------------------------------------------------+
+| Boot 2 Qt stack | | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt OTA | | X, R | | | |
++-----------------------------------------------------------------------+
+| Device Utilities | | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Debugging Bridge (QDB) Daemon | | X, R | | | |
++-----------------------------------------------------------------------+
+| Qt Quick Ultralite Controls | | | X, R | | |
++-----------------------------------------------------------------------+
+| Qt Quick Ultralite | | | X, R | | |
++-----------------------------------------------------------------------+
+| Qt Creator | X | X | X | | |
++-----------------------------------------------------------------------+
+| Qt Designer (Qt Widget Designer) | X | X | | | |
++-----------------------------------------------------------------------+
+| Qt Quick Designer (Qt Creator | X, R | X, R | X, R | | |
+| plugin) | | | | | |
++-----------------------------------------------------------------------+
+| Qt Linguist | X, R | X, R | X, R | | |
++-----------------------------------------------------------------------+
+| Qt Assistant | X, R | X, R | X, R | | |
++-----------------------------------------------------------------------+
+| Lupdate | X, R | X, R | X, R | | |
++-----------------------------------------------------------------------+
+| Lrelease | X, R | X, R | X, R | | |
++-----------------------------------------------------------------------+
+| Qmake | X | X | | | |
++-----------------------------------------------------------------------+
+| Uic | X | X | | | |
++-----------------------------------------------------------------------+
+| Rcc | X | X | | | |
++-----------------------------------------------------------------------+
+| Qlalr | X | X | | | |
++-----------------------------------------------------------------------+
+| Qdoc | X | X | | | |
++-----------------------------------------------------------------------+
+| Qmlscene | X | X | | | |
++-----------------------------------------------------------------------+
+| Qmlviewer | X | X | | | |
++-----------------------------------------------------------------------+
+| Target toolchains | | X | X | | |
++-----------------------------------------------------------------------+
+| Qt Debugging Bridge (QDB) Host | | X | | | |
+| Tools | | | | | |
++-----------------------------------------------------------------------+
+| qtconfig-gui | | X | | | |
++-----------------------------------------------------------------------+
+| Qt Emulator | | X | | | |
++-----------------------------------------------------------------------+
+| Qmlinterfacegenerator | | | X | | |
++-----------------------------------------------------------------------+
+| Qmltocpp | | | X | | |
++-----------------------------------------------------------------------+
+| qulfontcompiler | | | X | | |
++-----------------------------------------------------------------------+
+| Qt53DStudioRuntime2 | | | | X, R | |
++-----------------------------------------------------------------------+
+| Qt 3D Studio | | | | X | |
++-----------------------------------------------------------------------+
+| Qt Design Studio | | | | | X |
++-----------------------------------------------------------------------+
APPENDIX 3: ADDITIONS TO LICENSED SOFTWARE
+
In addition to what is provided under the definition of the Licensed Software,
Parties agree that Licensed Software shall also include the Add-On Products of
-The Qt Company, as mentioned in this Appendix, if included in the
-quote / invoice.
+The Qt Company, as mentioned in this Appendix, if included in the quote /
+invoice.
The Modules and/or Tools of the Licensed Software that are included with each
-Add-On Product respectively are marked with 'X' in the below table. Parts of
-the respective Add-On Product that are permitted for distribution in
+Add-On Product respectively are marked with 'X' in the below table. The modules
+are ported to Qt 6 in stages and are subject to availability.
+
+Parts of the respective Add-On Product that are permitted for distribution in
object-code form only ("Redistributables") are marked with 'R' in the below
table.
--------------------------------------------------------------------------------
- | Add-On Product(s)
-Modules / |------------------------------------------------------------------
-Tools of |Qt for |Qt |Qt Safe |Qt |Qt |Qt
-Licensed |Automation |Automotive |Renderer |Application|Gammaray |Deployment
-Software | |Suite | |Manager | |Platform
- | | | | | |Package
--------------------------------------------------------------------------------
-Qt MQTT | X,R | | | | |
--------------------------------------------------------------------------------
-Qt KNX | X,R | | | | |
--------------------------------------------------------------------------------
-Qt OPC UA | X,R | | | | |
--------------------------------------------------------------------------------
-Qt CoAP | X,R | | | | |
--------------------------------------------------------------------------------
-Qt Safe | | X,R | X,R | | |
-Renderer | | | | | |
--------------------------------------------------------------------------------
-Qt | | | | | |
-Application | | X,R | | X,R | |
-Manager | | | | | |
--------------------------------------------------------------------------------
-Qt IVI | | X,R | | | |
--------------------------------------------------------------------------------
-Reference UI| | X,R | | | |
--------------------------------------------------------------------------------
-Qt GENIVI | | X,R | | | |
-Extras | | | | | |
--------------------------------------------------------------------------------
-QML Live | | X | | | |
--------------------------------------------------------------------------------
-Qt Creator | | X | | | |
-Deployment | | | | | |
--------------------------------------------------------------------------------
-Qt Creator | | | | | |
-Plugin for | | | | | |
-Qt | | X | | X | |
-Application | | | | | |
-Manager | | | | | |
--------------------------------------------------------------------------------
-Qt | | | | | |
-Automotive | | | | | |
-Suite | | X | | | |
-Deployment | | | | | |
-Server | | | | | |
--------------------------------------------------------------------------------
-Qt Design | | X | | | |
-Studio | | | | | |
--------------------------------------------------------------------------------
-Qt 3D Studio| | X | | | |
--------------------------------------------------------------------------------
-GammaRay | | X | | | X |
--------------------------------------------------------------------------------
-Platform | | | | | |
-adaptations | | | | | |
-for | | | | | | X
-specified | | | | | |
-Deployment | | | | | |
-Platforms | | | | | |
--------------------------------------------------------------------------------
-Qt for | | | | | |
-Device | | X | | | |
-Creation | | | | | |
--------------------------------------------------------------------------------
++------------------------------------------------------------------------------------------------+
+| | Add-On Product(s) |
+| +--------------------------------------------------------------------------+
+| Modules / Tools of | Qt for | Qt | Qt | Qt | Qt | Qt |
+| Licensed Software | Automation | Automotive | Safe | Application | GammaRay | Deployment |
+| | / Qt M2M | Suite | Renderer | Manager | | Platform |
+| | Protocols | | | | | Package |
++------------------------------------------------------------------------------------------------+
+| Qt MQTT | X, R | | | | | |
++------------------------------------------------------------------------------------------------+
+| Qt KNX | X, R | | | | | |
++------------------------------------------------------------------------------------------------+
+| Qt OPC UA | X, R | | | | | |
++------------------------------------------------------------------------------------------------+
+| Qt CoAP | X, R | | | | | |
++------------------------------------------------------------------------------------------------+
+| Qt Safe Renderer | | X, R | X, R | | | |
++------------------------------------------------------------------------------------------------+
+| Qt Application | | X, R | | X, R | | |
+| Manager | | | | | | |
++------------------------------------------------------------------------------------------------+
+| Qt IVI | | X, R | | | | |
++------------------------------------------------------------------------------------------------+
+| Reference UI | | X, R | | | | |
++------------------------------------------------------------------------------------------------+
+| Qt GENIVI Extras | | X, R | | | | |
++------------------------------------------------------------------------------------------------+
+| QML Live | | X | | | | |
++------------------------------------------------------------------------------------------------+
+| Qt Creator | | X | | | | |
+| Deployment | | | | | | |
++------------------------------------------------------------------------------------------------+
+| Qt Creator Plugin | | X | | X | | |
+| for Qt Application Manager | | | | | |
++------------------------------------------------------------------------------------------------+
+| Qt Automotive Suite | | X | | | | |
+| Deployment Server | | | | | | |
++------------------------------------------------------------------------------------------------+
+| Qt Design Studio | | X | | | | |
++------------------------------------------------------------------------------------------------+
+| Qt 3D Studio | | X | | | | |
++------------------------------------------------------------------------------------------------+
+| GammaRay | | X | | | X | |
++------------------------------------------------------------------------------------------------+
+| Platform adaptations| | | | | | X |
+| for specified | | | | | |
+| Deployment Platforms | | | | | |
++------------------------------------------------------------------------------------------------+
+| Qt for Device | | X | | | | |
+| Creation | | | | | | |
++------------------------------------------------------------------------------------------------+
+
All the above Redistributables are subject to applicable provisions and
limitations including but not limited to what is defined in section 3 of the
Agreement.
-
APPENDIX 4: SMALL BUSINESS AND STARTUP
-The provisions of this Appendix 4 are applicable for Start-up Companies and for
-the Evaluation Term.For the purpose of this Appendix 4, the following
-additional definitions shall be applicable:
-
-"Trial Term" shall mean a period of twelve (12) months.
-
-"Start-up Company" means a company with a maximum annual revenue, including
-funding, equivalent to 100,000 USD (in applicable currency) during a respective
-calendar year, as evidenced by duly audited records of the Licensee and
-approved by The Qt Company.
-
-During the Trial Term, Section 3 shall apply with following modifications
-("Trial Term Modifications"):
- (i) Licenses granted under Sections 3.1 and 3.2 shall be free of any
- charge. For clarity, License for distribution of Devices pursuant
- to Section 3.3 is subject to applicable License Fee for necessary
- Distribution Licenses;
- (ii) Development License under Section 3.1 is limited to a maximum of
- three (3) Designated Users; and
- (iii) Support is available subject to availability, as judged by The Qt
- Company at its free and absolute discretion, provided that support
- will be limited to a maximum of ten (10) tickets during the Trial
- Term.
-
-Upon expiry of the Trial Term:
- (a) This Appendix 4 is terminated, Trial Term Modifications cease to
- remain in force, Licensee's Development Licenses shall be
- automatically converted into licenses subject to a License Fee (in
- the amount specified in the quote or in Appendix 2 and payable with
- a 30-day payment term) and Licensee's rights and obligations under
- this Agreement shall continue to remain in force under the standard
- provisions of the Agreement, unless the Licensee notifies The Qt
- Company in writing no less than ninety (90) days before such expiry
- date that Licensee does not agree to such continuance, in which
- event the Agreement, and all rights of the Licensee thereunder,
- shall expire; provided however that
- (b) in the event the Licensee still qualifies as a Start-up Company,
- the Licensee has an option ("Option"), instead of what is stated in
- item a) above, to renew the Trial Term. Renewal is limited to one
- time, and the total duration of Trial Term is thus 24 months after
- the effective date. Licensee shall notify The Qt Company in
- writing, no less than ninety (90) days before the expiry date, if
- Licensee wish to exercise the Option.
+The provisions of this Appendix 4 are applicable for companies with an annual
+revenue, including funding, equivalent to maximum of 250,000 USD (in
+applicable currency) during the latest full calendar year, as evidenced by
+duly audited records of the Licensee and approved by The Qt Company
+("Start-up Company").
+
+Start-up Companies are qualified for a discounted License Fee for maximum of
+four (4) Development Licenses ("Start-up Development License") unless
+otherwise agreed between the parties.
+
+Start-up Development License entitles the respective Designated User for
+Support only for installation related issues.
+
+Upon expiry of the respective License Term, the Start-up Development
+Licenses shall be automatically extended, pursuant to Section 3.1 of the
+Agreement, for a Renewal Term either as new Start-up Development Licenses
+(if the Licensee still qualifies as a Start-up Company), or as normal
+Development Licenses (if the Licensee no longer qualifies as a Start-up
+company).
APPENDIX 5: NON-COMMERCIAL USE
-The provisions of this Appendix 5 are applicable for non-commercial use of the
-Licensed Software by the Licensee.
+The provisions of this Appendix 5 are applicable for non-commercial use of
+the Licensed Software by the Licensee.
For the purpose of this Appendix 5, the following additional definitions
-(replacing the relevant definition of the Agreement, where applicable) shall be
-applicable:
+(replacing the relevant definition of the Agreement, where applicable)
+shall be applicable:
"Demo Units" shall mean (i) hardware development platform, which incorporates
-the Licensed Software along with Licensee's software and/or hardware, and (ii)
-prototype versions of Applications or Devices.
+the Licensed Software along with Licensee's software and/or hardware, and
+(ii) prototype versions of Applications or Devices.
"Designated User(s)" shall mean the employees and students of the Licensee.
"Licensee Products" shall mean Applications and/or Devices.
-"Permitted Purpose" shall mean (i) Licensee's internal evaluation and testing
-of Licensed Software, (ii) building Demo Units as well as (iii) educational
-use.
-
-"Term" shall mean a period of twelve (12) months or any such other period as
-may be agreed between the Parties.
-
-For the purpose of this Appendix 5, the following changes shall be agreed with
-respect to relevant Sections of the Agreement:
- I. Recital (A) shall be replaced in its entirety to read as follows:
-
- "(A) Licensee wishes to use the Licensed Software for the Permitted
- Purpose."
-
- II. Section 3.1 shall be replaced in its entirety to read as follows:
-
- "The Qt Company grants to Licensee a personal, non-exclusive,
- non-transferable, revocable, royalty-free license, valid for the
- Term, to use, modify and copy the Licensed Software solely for the
- Permitted Purpose.
-
- Licensee may install copies of the Licensed Software on an
- unlimited number of computers provided that only Designated Users
- may use the Licensed Software.
-
- Licensee may demonstrate the Demo Units, provided that such
- demonstrations must be conducted by Licensee, and the Demo Units
- must remain in Licensee's possession and under Licensee's control
- at all times.
-
- For clarity, this Agreement does not (i) entitle Licensee to use
- Licensed Software to create Applications or Devices (other than
- prototypes thereof) or (ii) carry any distribution rights to
- Licensee, but such rights are subject to and conditional upon
- conclusion of a separate license agreement with The Qt Company."
-
- III. Sections 3.2, 3.3, 8 and 10 shall be deleted.
-
- IV. Section 3.4 shall be replaced in its entirety to read as follows:
-
- "Licensee shall not:
- - remove or alter any copyright, trademark or other proprietary
- rights notice contained in any portion of the Licensed
- Software;
-
- - transfer, publish, sublicense, disclose, display or otherwise
- make the Licensed Software available to any third party
- (except that Licensee may demonstrate the Demo Units pursuant
- to Section 3.1);
-
- - in any way combine, incorporate or integrate Licensed
- Software with, or use Licensed Software for creation of, any
- software created with or incorporating Open Source Qt;
-
- Licensee shall cause all Designated Users who make use of the
- licenses granted under this Agreement, to be contractually bound to
- comply with the relevant terms of this Agreement and not to use the
- Licensed Software beyond the terms hereof. Licensee shall be
- responsible for any and all actions and omissions of its Designated
- Users relating to the Licensed Software and use thereof.
-
- Any use of Licensed Software beyond the provisions of this
- Agreement is strictly prohibited and requires an additional license
- from The Qt Company."
-
- V. Section 12 shall be replaced in its entirety to read as follows:
-
- "This Agreement shall enter into force upon due acceptance by both
- Parties and remain in force for the Term, unless and until
- terminated pursuant to the terms of Section 12.
-
- Upon termination of the Agreement, Licensee shall cease using the
- Licensed Software. All other copies of Licensed Software in the
- possession or control of Licensee must be erased or destroyed. An
- officer of Licensee must, upon request, promptly deliver to The Qt
- Company a written confirmation that this has occurred."
-
-Except for the modifications specified above, this Appendix carries no change
-to the terms of the Agreement which shall remain in full force.
-
+"Permitted Purpose" shall mean (i) Licensee's internal evaluation and
+testing of Licensed Software, (ii) building Demo Units as well as (iii)
+educational use.
+
+"Term" shall mean a period of twelve (12) months or any such other period
+as may be agreed between the Parties.
+
+For the purpose of this Appendix 5, the following changes shall be agreed
+with respect to relevant Sections of the Agreement:
+
+ I. Recital (A) shall be replaced in its entirety to read as follows:
+ "(A) Licensee wishes to use the Licensed Software for the Permitted
+ Purpose."
+ II. Section 3.1 shall be replaced in its entirety to read as follows:
+ "The Qt Company grants to Licensee a personal, non-exclusive,
+ non-transferable, revocable, royalty-free license, valid for the
+ Term, to use, modify and copy the Licensed Software solely for the
+ Permitted Purpose.
+ Licensee may install copies of the Licensed Software on five (5)
+ computers per Designated User, provided that only the Designated
+ Users who have a valid Development License may use the Licensed
+ Software.
+ Licensee may demonstrate the Demo Units, provided that such
+ demonstrations must be conducted by Licensee, and the Demo Units
+ must remain in Licensee's possession and under Licensee's control
+ at all times.
+ For clarity, this Agreement does not (i) entitle Licensee to use
+ Licensed Software to create Applications or Devices (other than
+ prototypes thereof) or (ii) carry any distribution rights to
+ Licensee, but such rights are subject to and conditional upon
+ conclusion of a separate license agreement with The Qt Company."
+ III. Sections 3.2, 3.3, 8 and 10 shall be deleted.
+ IV. Section 3.4 shall be replaced in its entirety to read as follows:
+ "Licensee shall not:
+ - remove or alter any copyright, trademark or other proprietary
+ rights notice contained in any portion of the Licensed Software;
+ - transfer, publish, sublicense, disclose, display or otherwise
+ make the Licensed Software available to any third party (except
+ that Licensee may demonstrate the Demo Units pursuant to Section
+ 3.1);
+ - in any way combine, incorporate or integrate Licensed Software
+ with, or use Licensed Software for creation of, any software
+ created with or incorporating Open Source Qt;
+
+ Licensee shall cause all Designated Users who make use of the
+ licenses granted under this Agreement, to be contractually bound
+ to comply with the relevant terms of this Agreement and not to use
+ the Licensed Software beyond the terms hereof. Licensee shall be
+ responsible for any and all actions and omissions of its
+ Designated Users relating to the Licensed Software and use
+ thereof.
+
+ Any use of Licensed Software beyond the provisions of this
+ Agreement is strictly prohibited and requires an additional license
+ from The Qt Company."
+ V. Section 12 shall be replaced in its entirety to read as follows:
+ "This Agreement shall enter into force upon due acceptance by both
+ Parties and remain in force for the Term, unless and until
+ terminated pursuant to the terms of Section 12.
+
+ Upon termination of the Agreement, Licensee shall cease using the
+ Licensed Software. All other copies of Licensed Software in the
+ possession or control of Licensee must be erased or destroyed.
+ An officer of Licensee must, upon request, promptly deliver to
+ The Qt Company a written confirmation that this has occurred."
+
+Except for the modifications specified above, this Appendix carries no
+change to the terms of the Agreement which shall remain in full force.
diff --git a/bin/qmake-and-qtpaths-wrapper.bat.in b/bin/qmake-and-qtpaths-wrapper.bat.in
new file mode 100644
index 0000000000..8225170fc9
--- /dev/null
+++ b/bin/qmake-and-qtpaths-wrapper.bat.in
@@ -0,0 +1,2 @@
+@echo off
+@host_qt_bindir@\@tool_name@.exe -qtconf "%~dp0\target_qt.conf" %*
diff --git a/bin/qmake-wrapper-for-target.in b/bin/qmake-and-qtpaths-wrapper.in
index 265ce760de..f26355af8d 100644..100755
--- a/bin/qmake-wrapper-for-target.in
+++ b/bin/qmake-and-qtpaths-wrapper.in
@@ -4,4 +4,4 @@
script_dir_path=`dirname $0`
script_dir_path=`(cd "$script_dir_path"; /bin/pwd)`
-@host_qt_bindir@/qmake -qtconf "$script_dir_path/target_qt.conf" $*
+@host_qt_bindir@/@tool_name@ -qtconf "$script_dir_path/target_qt.conf" $*
diff --git a/bin/qmake-wrapper-for-target.bat.in b/bin/qmake-wrapper-for-target.bat.in
deleted file mode 100644
index 8df27eaa44..0000000000
--- a/bin/qmake-wrapper-for-target.bat.in
+++ /dev/null
@@ -1,2 +0,0 @@
-@echo off
-@host_qt_bindir@\qmake.exe -qtconf "%~dp0\target_qt.conf" %*
diff --git a/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake b/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake
index 8f873c1b45..1d47a748ea 100644
--- a/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake
+++ b/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake
@@ -71,6 +71,30 @@ find_library(GTHREAD2_LIBRARIES
HINTS ${PC_GTHREAD2_LIBDIR}
)
+pkg_check_modules(PC_GOBJECT QUIET gobject-2.0)
+
+find_path(GOBJECT_INCLUDE_DIRS
+ NAMES glib-object.h
+ HINTS ${PC_GOBJECT_INCLUDEDIR}
+ PATH_SUFFIXES glib-2.0)
+
+find_library(GOBJECT_LIBRARIES
+ NAMES gobject-2.0
+ HINTS ${PC_GOBJECT_LIBDIR}
+)
+
+pkg_check_modules(PC_GIO QUIET gio-2.0)
+
+find_path(GIO_INCLUDE_DIRS
+ NAMES gio/gio.h
+ HINTS ${PC_GIO_INCLUDEDIR}
+ PATH_SUFFIXES glib-2.0)
+
+find_library(GIO_LIBRARIES
+ NAMES gio-2.0
+ HINTS ${PC_GIO_LIBDIR}
+)
+
# search the glibconfig.h include dir under the same root where the library is found
get_filename_component(glib2LibDir "${GLIB2_LIBRARIES}" PATH)
@@ -82,6 +106,8 @@ find_path(GLIB2_INTERNAL_INCLUDE_DIR glibconfig.h
# for now it is optional
if(GLIB2_INTERNAL_INCLUDE_DIR)
list(APPEND GLIB2_INCLUDE_DIRS "${GLIB2_INTERNAL_INCLUDE_DIR}")
+ list(APPEND GOBJECT_INCLUDE_DIRS "${GLIB2_INTERNAL_INCLUDE_DIR}")
+ list(APPEND GIO_INCLUDE_DIRS "${GLIB2_INTERNAL_INCLUDE_DIR}")
endif()
# Deprecated synonyms
@@ -90,6 +116,8 @@ set(GLIB2_LIBRARY "${GLIB2_LIBRARIES}")
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(GLIB2 DEFAULT_MSG GLIB2_LIBRARIES GTHREAD2_LIBRARIES GLIB2_INCLUDE_DIRS)
+find_package_handle_standard_args(GOBJECT DEFAULT_MSG GOBJECT_LIBRARIES GOBJECT_INCLUDE_DIRS)
+find_package_handle_standard_args(GIO DEFAULT_MSG GIO_LIBRARIES GIO_INCLUDE_DIRS)
if(GLIB2_FOUND AND NOT TARGET GLIB2::GLIB2)
add_library(GLIB2::GLIB2 UNKNOWN IMPORTED)
@@ -99,8 +127,26 @@ if(GLIB2_FOUND AND NOT TARGET GLIB2::GLIB2)
INTERFACE_INCLUDE_DIRECTORIES "${GLIB2_INCLUDE_DIRS}")
endif()
+if(GOBJECT_FOUND AND NOT TARGET GLIB2::GOBJECT)
+ add_library(GLIB2::GOBJECT UNKNOWN IMPORTED)
+ set_target_properties(GLIB2::GOBJECT PROPERTIES
+ IMPORTED_LOCATION "${GOBJECT_LIBRARIES}"
+ INTERFACE_INCLUDE_DIRECTORIES "${GOBJECT_INCLUDE_DIRS}")
+endif()
+
+if(GIO_FOUND AND NOT TARGET GLIB2::GIO)
+ add_library(GLIB2::GIO UNKNOWN IMPORTED)
+ set_target_properties(GLIB2::GIO PROPERTIES
+ IMPORTED_LOCATION "${GIO_LIBRARIES}"
+ INTERFACE_INCLUDE_DIRECTORIES "${GIO_INCLUDE_DIRS}")
+endif()
+
mark_as_advanced(GLIB2_INCLUDE_DIRS GLIB2_INCLUDE_DIR
- GLIB2_LIBRARIES GLIB2_LIBRARY)
+ GLIB2_LIBRARIES GLIB2_LIBRARY
+ GOBJECT_INCLUDE_DIRS GOBJECT_INCLUDE_DIR
+ GOBJECT_LIBRARIES GOBJECT_LIBRARY
+ GIO_INCLUDE_DIRS GIO_INCLUDE_DIR
+ GIO_LIBRARIES GIO_LIBRARY)
include(FeatureSummary)
set_package_properties(GLIB2 PROPERTIES
diff --git a/cmake/FindWrapVulkanHeaders.cmake b/cmake/FindWrapVulkanHeaders.cmake
index ccbcf7f708..ac2c912a56 100644
--- a/cmake/FindWrapVulkanHeaders.cmake
+++ b/cmake/FindWrapVulkanHeaders.cmake
@@ -25,8 +25,8 @@ if(Vulkan_INCLUDE_DIR)
_qt_skip_include_dir_for_pri TRUE)
# Also propagate MoltenVK include directory on Apple platforms if found.
- # Assumes the folder structure of the LunarG Vulkan SDK.
if(APPLE)
+ # Check for the LunarG Vulkan SDK folder structure.
set(__qt_molten_vk_include_path "${Vulkan_INCLUDE_DIR}/../../MoltenVK/include")
get_filename_component(
__qt_molten_vk_include_path
@@ -35,6 +35,16 @@ if(Vulkan_INCLUDE_DIR)
target_include_directories(WrapVulkanHeaders::WrapVulkanHeaders INTERFACE
${__qt_molten_vk_include_path})
endif()
+
+ # Check for homebrew molten-vk folder structure
+ set(__qt_molten_vk_homebrew_include_path "${Vulkan_INCLUDE_DIR}/../../include")
+ get_filename_component(
+ __qt_molten_vk_homebrew_include_path
+ "${__qt_molten_vk_homebrew_include_path}" ABSOLUTE)
+ if(EXISTS "${__qt_molten_vk_homebrew_include_path}")
+ target_include_directories(WrapVulkanHeaders::WrapVulkanHeaders INTERFACE
+ ${__qt_molten_vk_homebrew_include_path})
+ endif()
endif()
endif()
diff --git a/cmake/Qt3rdPartyLibraryHelpers.cmake b/cmake/Qt3rdPartyLibraryHelpers.cmake
index f2b3882fc7..1cc5ebea44 100644
--- a/cmake/Qt3rdPartyLibraryHelpers.cmake
+++ b/cmake/Qt3rdPartyLibraryHelpers.cmake
@@ -241,14 +241,19 @@ function(qt_internal_add_3rdparty_library target)
)
write_basic_package_version_file(
- "${config_build_dir}/${INSTALL_CMAKE_NAMESPACE}${target}ConfigVersion.cmake"
+ "${config_build_dir}/${INSTALL_CMAKE_NAMESPACE}${target}ConfigVersionImpl.cmake"
VERSION ${PROJECT_VERSION}
COMPATIBILITY AnyNewerVersion
)
+ qt_internal_write_qt_package_version_file(
+ "${INSTALL_CMAKE_NAMESPACE}${target}"
+ "${config_build_dir}/${INSTALL_CMAKE_NAMESPACE}${target}ConfigVersion.cmake"
+ )
qt_install(FILES
"${config_build_dir}/${INSTALL_CMAKE_NAMESPACE}${target}Config.cmake"
"${config_build_dir}/${INSTALL_CMAKE_NAMESPACE}${target}ConfigVersion.cmake"
+ "${config_build_dir}/${INSTALL_CMAKE_NAMESPACE}${target}ConfigVersionImpl.cmake"
DESTINATION "${config_install_dir}"
COMPONENT Devel
)
diff --git a/cmake/QtAutoDetect.cmake b/cmake/QtAutoDetect.cmake
index 5c6cba89ae..8450035084 100644
--- a/cmake/QtAutoDetect.cmake
+++ b/cmake/QtAutoDetect.cmake
@@ -16,57 +16,46 @@ function(qt_internal_ensure_static_qt_config)
endif()
endfunction()
+include("${CMAKE_CURRENT_LIST_DIR}/QtPublicWasmToolchainHelpers.cmake")
function(qt_auto_detect_wasm)
if("${QT_QMAKE_TARGET_MKSPEC}" STREQUAL "wasm-emscripten")
if (NOT DEFINED ENV{EMSDK})
message(FATAL_ERROR
- "Can't find EMSDK! Make sure EMSDK environment variable "
- "is available and emcc is in your path.")
+ "Can't find an Emscripten SDK! Make sure the EMSDK environment variable is "
+ "available by activating and sourcing the emscripten sdk. Also ensure emcc is in "
+ "your path.")
endif()
- if(NOT DEFINED QT_AUTODETECT_WASM)
- # 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()
+ if(NOT DEFINED QT_AUTODETECT_WASM_IS_DONE)
+ message(STATUS "Extracting Emscripten SDK info from EMSDK env var: $ENV{EMSDK}")
+ __qt_internal_get_emroot_path_suffix_from_emsdk_env(EMROOT_PATH)
- 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)
+ __qt_internal_query_emsdk_version("${EMROOT_PATH}" TRUE CMAKE_EMSDK_REGEX_VERSION)
+ set(EMCC_VERSION "${CMAKE_EMSDK_REGEX_VERSION}" CACHE STRING INTERNAL FORCE)
- # find toolchain file
+ # Find toolchain file
if(NOT DEFINED CMAKE_TOOLCHAIN_FILE)
- set(wasm_toolchain_file "$ENV{EMSDK}/${EMROOT_PATH}/cmake/Modules/Platform/Emscripten.cmake")
+ __qt_internal_get_emscripten_cmake_toolchain_file_path_from_emsdk_env(
+ "${EMROOT_PATH}" wasm_toolchain_file)
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}")
+ message(STATUS
+ "Emscripten ${EMCC_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>.")
+ __qt_internal_show_error_no_emscripten_toolchain_file_found_when_building_qt()
endif()
- set(QT_AUTODETECT_WASM TRUE CACHE BOOL "")
qt_internal_ensure_static_qt_config()
- # this version of Qt needs this version of emscripten
- set(QT_EMCC_RECOMMENDED_VERSION 2.0.14 CACHE STRING INTERNAL FORCE)
+
+ __qt_internal_get_emcc_recommended_version(recommended_version)
+ set(QT_EMCC_RECOMMENDED_VERSION "${recommended_version}" CACHE STRING INTERNAL FORCE)
+
+ set(QT_AUTODETECT_WASM_IS_DONE TRUE CACHE BOOL "")
+ else()
+ message(STATUS
+ "Reusing cached Emscripten ${EMCC_VERSION} toolchain file detected at "
+ "${CMAKE_TOOLCHAIN_FILE}")
endif()
endif()
endfunction()
@@ -342,9 +331,6 @@ function(qt_internal_get_xcode_version out_var)
execute_process(COMMAND /usr/bin/xcrun xcodebuild -version
OUTPUT_VARIABLE xcode_version
ERROR_VARIABLE xcrun_error)
- if(NOT xcode_version)
- message(NOTICE "Can't determine Xcode version. Error: ${xcrun_error}")
- endif()
string(REPLACE "\n" " " xcode_version "${xcode_version}")
string(STRIP "${xcode_version}" xcode_version)
set(${out_var} "${xcode_version}" PARENT_SCOPE)
@@ -444,6 +430,12 @@ function(qt_auto_detect_integrity)
endif()
endfunction()
+# Let CMake load our custom platform modules.
+# CMake-provided platform modules take precedence.
+if(NOT QT_AVOID_CUSTOM_PLATFORM_MODULES)
+ list(PREPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/platforms")
+endif()
+
qt_auto_detect_cmake_generator()
qt_auto_detect_cyclic_toolchain()
qt_auto_detect_cmake_config()
diff --git a/cmake/QtAutogenHelpers.cmake b/cmake/QtAutogenHelpers.cmake
index 489678bdf2..a583af568f 100644
--- a/cmake/QtAutogenHelpers.cmake
+++ b/cmake/QtAutogenHelpers.cmake
@@ -36,7 +36,7 @@ function(qt_enable_autogen_tool target tool enable)
# that the moc scanner has to look for. Inform the CMake moc scanner about it.
if(tool STREQUAL "moc" AND enable)
set_target_properties("${target}" PROPERTIES
- AUTOMOC_MACRO_NAMES "Q_OBJECT;Q_GADGET;Q_NAMESPACE;Q_NAMESPACE_EXPORT;Q_ENUM_NS")
+ AUTOMOC_MACRO_NAMES "Q_OBJECT;Q_GADGET;Q_GADGET_EXPORT;Q_NAMESPACE;Q_NAMESPACE_EXPORT;Q_ENUM_NS")
if (TARGET Qt::Platform)
get_target_property(_abi_tag Qt::Platform qt_libcpp_abi_tag)
diff --git a/cmake/QtBaseConfigureTests.cmake b/cmake/QtBaseConfigureTests.cmake
index 717ea1248e..ae16e8e53b 100644
--- a/cmake/QtBaseConfigureTests.cmake
+++ b/cmake/QtBaseConfigureTests.cmake
@@ -138,9 +138,34 @@ VERS_1;
set(TEST_ld_version_script "${HAVE_LD_VERSION_SCRIPT}" CACHE INTERNAL "linker version script support")
endfunction()
+function(qt_internal_ensure_latest_win_nt_api)
+ if(NOT WIN32)
+ return()
+ endif()
+ check_cxx_source_compiles([=[
+ #include <windows.h>
+ #if !defined(_WIN32_WINNT) && !defined(WINVER)
+ #error "_WIN32_WINNT and WINVER are not defined"
+ #endif
+ #if defined(_WIN32_WINNT) && (_WIN32_WINNT < 0x0A00)
+ #error "_WIN32_WINNT version too low"
+ #endif
+ #if defined(WINVER) && (WINVER < 0x0A00)
+ #error "WINVER version too low"
+ #endif
+ int main() { return 0; }
+ ]=] HAVE_WIN10_WIN32_WINNT)
+ if(NOT HAVE_WIN10_WIN32_WINNT)
+ list(APPEND QT_PLATFORM_DEFINITIONS _WIN32_WINNT=0x0A00 WINVER=0x0A00)
+ set(QT_PLATFORM_DEFINITIONS ${QT_PLATFORM_DEFINITIONS}
+ CACHE STRING "Qt platform specific pre-processor defines" FORCE)
+ endif()
+endfunction()
+
function(qt_run_qtbase_config_tests)
qt_run_config_test_architecture()
qt_run_linker_version_script_support()
+ qt_internal_ensure_latest_win_nt_api()
endfunction()
# The qmake build of android does not perform the right architecture tests and
diff --git a/cmake/QtBaseGlobalTargets.cmake b/cmake/QtBaseGlobalTargets.cmake
index ed23a3fe7f..bddc597bdb 100644
--- a/cmake/QtBaseGlobalTargets.cmake
+++ b/cmake/QtBaseGlobalTargets.cmake
@@ -35,14 +35,19 @@ configure_file(
)
write_basic_package_version_file(
- "${__build_internals_build_dir}/${INSTALL_CMAKE_NAMESPACE}BuildInternalsConfigVersion.cmake"
+ "${__build_internals_build_dir}/${INSTALL_CMAKE_NAMESPACE}BuildInternalsConfigVersionImpl.cmake"
VERSION ${PROJECT_VERSION}
COMPATIBILITY AnyNewerVersion
)
+qt_internal_write_qt_package_version_file(
+ "${INSTALL_CMAKE_NAMESPACE}BuildInternals"
+ "${__build_internals_build_dir}/${INSTALL_CMAKE_NAMESPACE}BuildInternalsConfigVersion.cmake"
+)
qt_install(FILES
"${__build_internals_build_dir}/${INSTALL_CMAKE_NAMESPACE}BuildInternalsConfig.cmake"
"${__build_internals_build_dir}/${INSTALL_CMAKE_NAMESPACE}BuildInternalsConfigVersion.cmake"
+ "${__build_internals_build_dir}/${INSTALL_CMAKE_NAMESPACE}BuildInternalsConfigVersionImpl.cmake"
"${__build_internals_build_dir}/QtBuildInternalsExtra.cmake"
DESTINATION "${__build_internals_install_dir}"
COMPONENT Devel
@@ -105,7 +110,7 @@ qt_feature_module_end(GlobalConfig OUT_VAR_PREFIX "__GlobalConfig_")
qt_generate_global_config_pri_file()
qt_generate_global_module_pri_file()
qt_generate_global_device_pri_file()
-qt_generate_qmake_wrapper_for_target()
+qt_generate_qmake_and_qtpaths_wrapper_for_target()
add_library(Qt::GlobalConfig ALIAS GlobalConfig)
@@ -172,15 +177,20 @@ configure_file(
)
write_basic_package_version_file(
- "${__GlobalConfig_build_dir}/${INSTALL_CMAKE_NAMESPACE}ConfigVersion.cmake"
+ "${__GlobalConfig_build_dir}/${INSTALL_CMAKE_NAMESPACE}ConfigVersionImpl.cmake"
VERSION ${PROJECT_VERSION}
COMPATIBILITY AnyNewerVersion
)
+qt_internal_write_qt_package_version_file(
+ "${INSTALL_CMAKE_NAMESPACE}"
+ "${__GlobalConfig_build_dir}/${INSTALL_CMAKE_NAMESPACE}ConfigVersion.cmake"
+)
qt_install(FILES
"${__GlobalConfig_build_dir}/${INSTALL_CMAKE_NAMESPACE}Config.cmake"
"${__GlobalConfig_build_dir}/${INSTALL_CMAKE_NAMESPACE}ConfigExtras.cmake"
"${__GlobalConfig_build_dir}/${INSTALL_CMAKE_NAMESPACE}ConfigVersion.cmake"
+ "${__GlobalConfig_build_dir}/${INSTALL_CMAKE_NAMESPACE}ConfigVersionImpl.cmake"
DESTINATION "${__GlobalConfig_install_dir}"
COMPONENT Devel
)
@@ -199,6 +209,7 @@ qt_copy_or_install(FILES
cmake/QtBuildInformation.cmake
cmake/QtCMakeHelpers.cmake
cmake/QtCMakeVersionHelpers.cmake
+ cmake/QtCMakePackageVersionFile.cmake.in
cmake/QtCompilerFlags.cmake
cmake/QtCompilerOptimization.cmake
cmake/QtConfigDependencies.cmake.in
@@ -265,6 +276,11 @@ qt_copy_or_install(FILES
DESTINATION "${__GlobalConfig_install_dir}"
)
+# Install our custom platform modules.
+qt_copy_or_install(DIRECTORY cmake/platforms
+ DESTINATION "${__GlobalConfig_install_dir}"
+)
+
# Install public config.tests files.
qt_copy_or_install(DIRECTORY
"config.tests/static_link_order"
@@ -285,6 +301,10 @@ set(__public_cmake_helpers
cmake/QtPublicWalkLibsHelpers.cmake
cmake/QtPublicFindPackageHelpers.cmake
cmake/QtPublicDependencyHelpers.cmake
+
+ # Public CMake files that are installed next Qt6Config.cmake, but are NOT included by it.
+ # Instead they are included by the generated CMake toolchain file.
+ cmake/QtPublicWasmToolchainHelpers.cmake
)
qt_copy_or_install(FILES ${__public_cmake_helpers} DESTINATION "${__GlobalConfig_install_dir}")
diff --git a/cmake/QtBuild.cmake b/cmake/QtBuild.cmake
index cf79f3d971..a4d8c49ad1 100644
--- a/cmake/QtBuild.cmake
+++ b/cmake/QtBuild.cmake
@@ -266,15 +266,26 @@ endfunction()
qt_setup_tool_path_command()
function(qt_internal_generate_tool_command_wrapper)
- if(NOT CMAKE_HOST_WIN32 OR DEFINED QT_TOOL_COMMAND_WRAPPER_PATH)
+ get_property(is_called GLOBAL PROPERTY _qt_internal_generate_tool_command_wrapper_called)
+ if(NOT CMAKE_HOST_WIN32 OR is_called)
return()
endif()
set(bindir "${QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX}/${INSTALL_BINDIR}")
file(TO_NATIVE_PATH "${bindir}" bindir)
- set(QT_TOOL_COMMAND_WRAPPER_PATH "${QT_BUILD_DIR}/${INSTALL_LIBEXECDIR}/qt_setup_tool_path.bat"
+ set(tool_command_wrapper_path "${QT_BUILD_DIR}/${INSTALL_LIBEXECDIR}/qt_setup_tool_path.bat")
+ if(CMAKE_VERSION VERSION_LESS 3.18)
+ # TODO: It doesn't make sense to generate wrapper at generator stage. Since file(CONFIGURE
+ # was added in CMake 3.18, keep file(GENERATE for compatibility, until the minimum required
+ # version is raised to 3.18.
+ file(GENERATE OUTPUT "${tool_command_wrapper_path}" CONTENT
+ "@echo off\r\nset PATH=${bindir}$<SEMICOLON>%PATH%\r\n%*")
+ else()
+ file(CONFIGURE OUTPUT "${tool_command_wrapper_path}" CONTENT
+ "@echo off\r\nset PATH=${bindir};%PATH%\r\n%*")
+ endif()
+ set(QT_TOOL_COMMAND_WRAPPER_PATH "${tool_command_wrapper_path}"
CACHE INTERNAL "Path to the wrapper of the tool commands")
- file(GENERATE OUTPUT "${QT_TOOL_COMMAND_WRAPPER_PATH}" CONTENT
- "@echo off\r\nset PATH=${bindir}$<SEMICOLON>%PATH%\r\n%*")
+ set_property(GLOBAL PROPERTY _qt_internal_generate_tool_command_wrapper_called TRUE)
endfunction()
qt_internal_generate_tool_command_wrapper()
@@ -299,15 +310,13 @@ if(WIN32)
endif()
if (MINGW)
- list(APPEND QT_DEFAULT_PLATFORM_DEFINITIONS _WIN32_WINNT=0x0601 MINGW_HAS_SECURE_API=1)
+ list(APPEND QT_DEFAULT_PLATFORM_DEFINITIONS MINGW_HAS_SECURE_API=1)
endif()
elseif(LINUX)
if(GCC)
set(QT_DEFAULT_MKSPEC linux-g++)
elseif(CLANG)
set(QT_DEFAULT_MKSPEC linux-clang)
- elseif(ICC)
- set(QT_DEFAULT_MKSPEC linux-icc-64)
endif()
elseif(ANDROID)
if(GCC)
diff --git a/cmake/QtBuildInformation.cmake b/cmake/QtBuildInformation.cmake
index e09f64e958..a3adf81094 100644
--- a/cmake/QtBuildInformation.cmake
+++ b/cmake/QtBuildInformation.cmake
@@ -292,10 +292,10 @@ function(qt_configure_process_add_summary_build_type_and_config)
set(message "Compiler: ")
if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
string(APPEND message "clang (Apple)")
+ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM")
+ string(APPEND message "clang (Intel LLVM)")
elseif(CLANG)
string(APPEND message "clang")
- elseif(ICC)
- string(APPEND message "intel_icc")
elseif(QCC)
string(APPEND message "rim_qcc")
elseif(GCC)
diff --git a/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake b/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake
index bd1aeafc8f..632bbdc67b 100644
--- a/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake
+++ b/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake
@@ -627,12 +627,21 @@ macro(qt_build_tests)
# prefix. For super builds it needs to be done in qt5/CMakeLists.txt.
qt_set_up_fake_standalone_tests_install_prefix()
endif()
+ else()
+ if(ANDROID)
+ # When building in-tree tests we need to specify the QT_ANDROID_ABIS list. Since we
+ # build Qt for the single ABI, build tests for this ABI only.
+ set(QT_ANDROID_ABIS "${CMAKE_ANDROID_ARCH_ABI}")
+ endif()
endif()
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/auto/CMakeLists.txt")
add_subdirectory(auto)
endif()
if(NOT QT_BUILD_MINIMAL_STATIC_TESTS)
+ if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/baseline/CMakeLists.txt")
+ add_subdirectory(baseline)
+ endif()
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/benchmarks/CMakeLists.txt" AND QT_BUILD_BENCHMARKS)
add_subdirectory(benchmarks)
endif()
diff --git a/cmake/QtBuildInternalsExtra.cmake.in b/cmake/QtBuildInternalsExtra.cmake.in
index 6c76c17093..cbd70b1f7b 100644
--- a/cmake/QtBuildInternalsExtra.cmake.in
+++ b/cmake/QtBuildInternalsExtra.cmake.in
@@ -20,8 +20,10 @@ get_filename_component(QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX
# If an explicit installation prefix is specified, honor it.
# 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.
+# In a top-level build, QtSetup.cmake takes care of setting CMAKE_INSTALL_PREFIX.
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT AND
- NOT QT_BUILD_INTERNALS_NO_FORCE_SET_INSTALL_PREFIX)
+ NOT QT_BUILD_INTERNALS_NO_FORCE_SET_INSTALL_PREFIX
+ AND NOT QT_SUPERBUILD)
set(qtbi_orig_prefix "@CMAKE_INSTALL_PREFIX@")
set(qtbi_new_prefix "${QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX}")
if(CMAKE_HOST_WIN32)
diff --git a/cmake/QtCMakeHelpers.cmake b/cmake/QtCMakeHelpers.cmake
index e47d9878e1..d1d4fb9054 100644
--- a/cmake/QtCMakeHelpers.cmake
+++ b/cmake/QtCMakeHelpers.cmake
@@ -184,3 +184,25 @@ function(qt_internal_get_target_property out_var target property)
endif()
set(${out_var} "${result}" PARENT_SCOPE)
endfunction()
+
+# Creates a wrapper ConfigVersion.cmake file to be loaded by find_package when checking for
+# compatible versions. It expects a ConfigVersionImpl.cmake file in the same directory which will
+# be included to do the regular version checks.
+# The version check result might be overridden by the wrapper.
+# package_name is used by the content of the wrapper file to include the basic package version file.
+# example: Qt6Gui
+# out_path should be the build path where the write the file.
+function(qt_internal_write_qt_package_version_file package_name out_path)
+ set(extra_code "")
+
+ # Need to check for FEATURE_developer_build as well, because QT_FEATURE_developer_build is not
+ # yet available when configuring the file for the BuildInternals package.
+ if(FEATURE_developer_build OR QT_FEATURE_developer_build)
+ string(APPEND extra_code "
+# Disabling version check because Qt was configured with -developer-build.
+set(__qt_disable_package_version_check TRUE)
+set(__qt_disable_package_version_check_due_to_developer_build TRUE)")
+ endif()
+
+ configure_file("${QT_CMAKE_DIR}/QtCMakePackageVersionFile.cmake.in" "${out_path}" @ONLY)
+endfunction()
diff --git a/cmake/QtCMakePackageVersionFile.cmake.in b/cmake/QtCMakePackageVersionFile.cmake.in
new file mode 100644
index 0000000000..f668e614c5
--- /dev/null
+++ b/cmake/QtCMakePackageVersionFile.cmake.in
@@ -0,0 +1,55 @@
+# Include the basic version config file to get results of regular version checking.
+include("${CMAKE_CURRENT_LIST_DIR}/@package_name@ConfigVersionImpl.cmake")
+
+set(__qt_disable_package_version_check FALSE)
+
+# Allow to opt out of the version check.
+if(QT_NO_PACKAGE_VERSION_CHECK)
+ set(__qt_disable_package_version_check TRUE)
+endif()
+
+@extra_code@
+
+if((NOT PACKAGE_VERSION_COMPATIBLE) OR PACKAGE_VERSION_UNSUITABLE)
+ set(__qt_package_version_incompatible TRUE)
+else()
+ set(__qt_package_version_incompatible FALSE)
+endif()
+
+if(__qt_disable_package_version_check)
+ # Warn if version check is disabled regardless if it's a Qt repo build or user project build.
+ # Allow to opt out of warning.
+ if(__qt_package_version_incompatible AND NOT QT_NO_PACKAGE_VERSION_INCOMPATIBLE_WARNING)
+ message(WARNING
+ "Package ${PACKAGE_FIND_NAME} with version ${PACKAGE_VERSION} was accepted as "
+ "compatible because QT_NO_PACKAGE_VERSION_CHECK was set to TRUE. There is no guarantee "
+ "the build will succeed. You can silence this warning by passing "
+ "-DQT_NO_PACKAGE_VERSION_INCOMPATIBLE_WARNING=TRUE")
+ endif()
+
+ # Mark version as compatible. This is how we disable the version check.
+ set(PACKAGE_VERSION_COMPATIBLE TRUE)
+ unset(PACKAGE_VERSION_UNSUITABLE)
+
+# If QT_REPO_MODULE_VERSION is set, that means we are building a Qt repo. Show message that one can
+# disable the check if they need to.
+elseif(QT_REPO_MODULE_VERSION AND __qt_package_version_incompatible)
+ if(PACKAGE_FIND_VERSION_RANGE)
+ set(__qt_package_version_message_prefix "Version range ${PACKAGE_FIND_VERSION_RANGE}")
+ else()
+ set(__qt_package_version_message_prefix "Version ${PACKAGE_FIND_VERSION}")
+ endif()
+
+ message(WARNING
+ "${__qt_package_version_message_prefix} of package ${PACKAGE_FIND_NAME} was requested but "
+ "an incompatible version was found: ${PACKAGE_VERSION}. You can pass "
+ "-DQT_NO_PACKAGE_VERSION_CHECK=TRUE to disable the version check and force the "
+ "incompatible version to be used. There is no guarantee the build will succeed. "
+ "Use at your own risk. "
+ "You can silence this warning by passing -DQT_NO_PACKAGE_VERSION_INCOMPATIBLE_WARNING=TRUE")
+endif()
+
+unset(__qt_disable_package_version_check)
+unset(__qt_disable_package_version_check_due_to_developer_build)
+unset(__qt_package_version_message_prefix)
+unset(__qt_package_version_incompatible)
diff --git a/cmake/QtCMakeVersionHelpers.cmake b/cmake/QtCMakeVersionHelpers.cmake
index a42e1a523f..c594da99b4 100644
--- a/cmake/QtCMakeVersionHelpers.cmake
+++ b/cmake/QtCMakeVersionHelpers.cmake
@@ -189,6 +189,19 @@ function(qt_internal_warn_about_buggy_cmake_versions)
# https://gitlab.kitware.com/cmake/cmake/-/issues/16776
list(APPEND unsuitable_versions "3.21.0")
+ # qt_ensure_perl fails to find perl in host PATH via find_program
+ # due to Android Platform module setting CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH to OFF
+ # Fixed in 3.20.6, 3.21.3. not a problem in CMake versions earlier than 3.20.0
+ # https://gitlab.kitware.com/cmake/cmake/-/issues/22634
+ # https://gitlab.kitware.com/cmake/cmake/-/merge_requests/5357
+ # https://gitlab.kitware.com/cmake/cmake/-/merge_requests/6528
+ if(ANDROID AND CMAKE_HOST_WIN32)
+ list(APPEND unsuitable_versions
+ "3.20.0" "3.20.1" "3.20.2" "3.20.3" "3.20.4" "3.20.5"
+ "3.21.0" "3.21.1" "3.21.2"
+ )
+ endif()
+
foreach(unsuitable_version ${unsuitable_versions})
if(CMAKE_VERSION VERSION_EQUAL unsuitable_version)
message(WARNING
diff --git a/cmake/QtCompilerFlags.cmake b/cmake/QtCompilerFlags.cmake
index a376ac0097..a34aaca20b 100644
--- a/cmake/QtCompilerFlags.cmake
+++ b/cmake/QtCompilerFlags.cmake
@@ -1,6 +1,8 @@
-# Set warnings. All compilers except MSVC support -Wall -Wextra
-# Allow opting out by setting a QT_COMPILE_WARNINGS_OFF property on targets. This would be the
-# equivalent of qmake's CONFIG += warn_off.
+# Enable compiler warnings by default. All compilers except MSVC support -Wall -Wextra
+#
+# You can disable the warnings for specific targets (for instance containing 3rd party code)
+# by calling qt_disable_warnings(target). This will set the QT_COMPILE_OPTIONS_DISABLE_WARNINGS
+# property checked below, and is equivalent to qmake's CONFIG += warn_off.
set(_qt_compiler_warning_flags_on "")
set(_qt_compiler_warning_flags_off "")
@@ -9,7 +11,11 @@ if (MSVC)
list(APPEND _qt_compiler_warning_flags_on /W3)
list(APPEND _qt_compiler_warning_flags_off -W0)
else()
- list(APPEND _qt_compiler_warning_flags_on -Wall -Wextra)
+ if(CMAKE_CXX_COMPILER_ID STREQUAL "GHS") # There is no -Wextra flag for GHS compiler.
+ list(APPEND _qt_compiler_warning_flags_on -Wall)
+ else()
+ list(APPEND _qt_compiler_warning_flags_on -Wall -Wextra)
+ endif()
list(APPEND _qt_compiler_warning_flags_off -w)
endif()
diff --git a/cmake/QtCompilerOptimization.cmake b/cmake/QtCompilerOptimization.cmake
index 952ace6652..f2ae3c3143 100644
--- a/cmake/QtCompilerOptimization.cmake
+++ b/cmake/QtCompilerOptimization.cmake
@@ -85,50 +85,6 @@ if (winrt) # FIXME: Correct variable
set(QT_CFLAGS_SHANI "-arch:SSE2")
endif()
-if (ICC)
- if (MSVC)
- set(QT_CFLAGS_SSE2 "-QxSSE2")
- set(QT_CFLAGS_SSE3 "-QxSSE3")
- set(QT_CFLAGS_SSSE3 "-QxSSSE3")
- set(QT_CFLAGS_SSE4_1 "-QxSSE4.1")
- set(QT_CFLAGS_SSE4_2 "-QxSSE4.2")
- set(QT_CFLAGS_AVX "-QxAVX")
- set(QT_CFLAGS_AVX2 "-QxCORE-AVX2")
- set(QT_CFLAGS_AVX512F "-QxCOMMON-AVX512")
- set(QT_CFLAGS_AVX512CD "-QxCOMMON-AVX512")
- set(QT_CFLAGS_AVX512ER "-QxMIC-AVX512")
- set(QT_CFLAGS_AVX512PF "-QxMIC-AVX512")
- set(QT_CFLAGS_AVX512DQ "-QxCORE-AVX512")
- set(QT_CFLAGS_AVX512BW "-QxCORE-AVX512")
- set(QT_CFLAGS_AVX512VL "-QxCORE-AVX512")
- set(QT_CFLAGS_F16C "${QT_CFLAGS_AVX2}")
- set(QT_CFLAGS_AESNI "-QxSSE2")
- set(QT_CFLAGS_RDRND "")
- set(QT_CFLAGS_RDSEED "")
- set(QT_CFLAGS_SHANI "-QxSSE4.2")
- else()
- set(QT_CFLAGS_SSE2 "-msse2")
- set(QT_CFLAGS_SSE3 "-msse3")
- set(QT_CFLAGS_SSSE3 "-mssse3")
- set(QT_CFLAGS_SSE4_1 "-msse4.1")
- set(QT_CFLAGS_SSE4_2 "-msse4.2")
- set(QT_CFLAGS_AVX "-march=core-avx")
- set(QT_CFLAGS_AVX2 "-march=core-avx2")
- set(QT_CFLAGS_AVX512F "-march=broadwell -xCOMMON-AVX512")
- set(QT_CFLAGS_AVX512CD "-march=broadwell -xCOMMON-AVX512")
- set(QT_CFLAGS_AVX512ER "-march=knl")
- set(QT_CFLAGS_AVX512PF "-march=knl")
- set(QT_CFLAGS_AVX512DQ "-march=skylake-avx512")
- set(QT_CFLAGS_AVX512BW "-march=skylake-avx512")
- set(QT_CFLAGS_AVX512VL "-march=skylake-avx512")
- set(QT_CFLAGS_AESNI "-maes")
- set(QT_CFLAGS_F16C "${QT_CFLAGS_AVX2}")
- set(QT_CFLAGS_RDRND "-mrdrnd")
- set(QT_CFLAGS_RDSEED "-mrdseed")
- set(QT_CFLAGS_SHANI "-msha")
- endif()
-endif()
-
# Fall through is important, so that more specific flags that might be missing are set by the
# previous base cases.
# This mirrors qmake's mkspecs QMAKE_CFLAGS_OPTIMIZE assignments (mostly).
@@ -148,7 +104,7 @@ if(GCC OR CLANG AND NOT WASM)
endif()
# Flags that CMake might set, aka flags the compiler would see as valid values.
-if(GCC OR CLANG OR QCC OR ICC)
+if(GCC OR CLANG OR QCC)
set(QT_CFLAGS_OPTIMIZE_VALID_VALUES "-O0" "-O1" "-O2" "-O3" "-Os" "-Oz")
endif()
@@ -184,19 +140,12 @@ if (QCC)
set(QT_CFLAGS_OPTIMIZE_FULL "-O3")
endif()
-if(ICC)
- if(MSVC)
- set(QT_CFLAGS_OPTIMIZE_FULL "-O3")
- else()
- # Should inherit gcc base
- set(QT_CFLAGS_OPTIMIZE "-O2")
- 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")
+
+ set(QT_CFLAGS_SSE2 -O2 -msimd128 -msse -msse2)
+
endif()
diff --git a/cmake/QtConfig.cmake.in b/cmake/QtConfig.cmake.in
index 75e15226dd..93f3f5246c 100644
--- a/cmake/QtConfig.cmake.in
+++ b/cmake/QtConfig.cmake.in
@@ -142,7 +142,8 @@ foreach(module ${@INSTALL_CMAKE_NAMESPACE@_FIND_COMPONENTS})
# Allow opt out just in case.
# TODO: Handle a hypothetical QT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH
# See QTBUG-94524
- set(__qt_find_package_host_qt_path "${QT_HOST_PATH}/lib/cmake")
+ get_filename_component(__qt_find_package_host_qt_path
+ "${Qt@PROJECT_VERSION_MAJOR@HostInfo_DIR}/.." ABSOLUTE)
set(__qt_backup_cmake_prefix_path "${CMAKE_PREFIX_PATH}")
set(__qt_backup_cmake_find_root_path "${CMAKE_FIND_ROOT_PATH}")
list(PREPEND CMAKE_PREFIX_PATH "${__qt_find_package_host_qt_path}")
diff --git a/cmake/QtDocsHelpers.cmake b/cmake/QtDocsHelpers.cmake
index d534ee3e8b..ae8034318e 100644
--- a/cmake/QtDocsHelpers.cmake
+++ b/cmake/QtDocsHelpers.cmake
@@ -46,7 +46,7 @@ function(qt_internal_add_docs)
set(qdoc_bin "${doc_tools_bin}/qdoc${CMAKE_EXECUTABLE_SUFFIX}")
set(qtattributionsscanner_bin "${doc_tools_libexec}/qtattributionsscanner${CMAKE_EXECUTABLE_SUFFIX}")
- set(qhelpgenerator_bin "${doc_tools_bin}/qhelpgenerator${CMAKE_EXECUTABLE_SUFFIX}")
+ set(qhelpgenerator_bin "${doc_tools_libexec}/qhelpgenerator${CMAKE_EXECUTABLE_SUFFIX}")
get_target_property(target_type ${target} TYPE)
if (NOT target_type STREQUAL "INTERFACE_LIBRARY")
@@ -101,13 +101,17 @@ function(qt_internal_add_docs)
# prepare docs target
set(prepare_qdoc_args
-outputdir "${qdoc_output_dir}"
- -installdir "${QT_INSTALL_DIR}/${INSTALL_DOCDIR}"
"${target_source_dir}/${doc_project}"
-prepare
-indexdir "${index_dir}"
-no-link-errors
"${include_path_args}"
)
+ if(NOT QT_BUILD_ONLINE_DOCS)
+ list(PREPEND prepare_qdoc_args
+ -installdir "${QT_INSTALL_DIR}/${INSTALL_DOCDIR}"
+ )
+ endif()
if(QT_SUPERBUILD)
set(qt_install_docs_env "${QtBase_BINARY_DIR}/${INSTALL_DOCDIR}")
@@ -134,14 +138,18 @@ function(qt_internal_add_docs)
add_dependencies(prepare_docs_${target} qattributionsscanner_${target})
# generate docs target
- set(generate_qdocs_args
+ set(generate_qdoc_args
-outputdir "${qdoc_output_dir}"
- -installdir "${INSTALL_DOCDIR}"
"${target_source_dir}/${doc_project}"
-generate
-indexdir "${index_dir}"
"${include_path_args}"
)
+ if(NOT QT_BUILD_ONLINE_DOCS)
+ list(PREPEND generate_qdoc_args
+ -installdir "${QT_INSTALL_DIR}/${INSTALL_DOCDIR}"
+ )
+ endif()
foreach(target_prefix generate_top_level_docs generate_repo_docs generate_docs)
set(depends_arg "")
@@ -150,7 +158,7 @@ function(qt_internal_add_docs)
endif()
add_custom_target(${target_prefix}_${target}
${depends_arg}
- COMMAND ${CMAKE_COMMAND} -E env ${qdoc_env_args} ${qdoc_bin} ${generate_qdocs_args})
+ COMMAND ${CMAKE_COMMAND} -E env ${qdoc_env_args} ${qdoc_bin} ${generate_qdoc_args})
endforeach()
add_dependencies(generate_docs_${target} prepare_docs_${target})
diff --git a/cmake/QtFeature.cmake b/cmake/QtFeature.cmake
index 5ad96439b9..c5e882649c 100644
--- a/cmake/QtFeature.cmake
+++ b/cmake/QtFeature.cmake
@@ -801,7 +801,19 @@ function(qt_config_compile_test name)
# If the repo has its own cmake modules, include those in the module path, so that various
# find_package calls work.
if(EXISTS "${PROJECT_SOURCE_DIR}/cmake")
- list(APPEND flags "-DCMAKE_MODULE_PATH:STRING=${PROJECT_SOURCE_DIR}/cmake")
+ set(must_append_module_path_flag TRUE)
+ set(flags_copy "${flags}")
+ set(flags)
+ foreach(flag IN LISTS flags_copy)
+ if(flag MATCHES "^-DCMAKE_MODULE_PATH:STRING=")
+ set(must_append_module_path_flag FALSE)
+ set(flag "${flag}\\;${PROJECT_SOURCE_DIR}/cmake")
+ endif()
+ list(APPEND flags "${flag}")
+ endforeach()
+ if(must_append_module_path_flag)
+ list(APPEND flags "-DCMAKE_MODULE_PATH:STRING=${PROJECT_SOURCE_DIR}/cmake")
+ endif()
endif()
# Pass which packages need to be found.
@@ -868,6 +880,18 @@ function(qt_config_compile_test name)
endif()
endif()
+ # Pass override values for CMAKE_SYSTEM_{PREFIX|FRAMEWORK}_PATH.
+ if(DEFINED QT_CMAKE_SYSTEM_PREFIX_PATH_BACKUP)
+ set(path_list ${CMAKE_SYSTEM_PREFIX_PATH})
+ string(REPLACE ";" "\\;" path_list "${path_list}")
+ list(APPEND flags "-DQT_CONFIG_COMPILE_TEST_CMAKE_SYSTEM_PREFIX_PATH=${path_list}")
+ endif()
+ if(DEFINED QT_CMAKE_SYSTEM_FRAMEWORK_PATH_BACKUP)
+ set(path_list ${CMAKE_SYSTEM_FRAMEWORK_PATH})
+ string(REPLACE ";" "\\;" path_list "${path_list}")
+ list(APPEND flags "-DQT_CONFIG_COMPILE_TEST_CMAKE_SYSTEM_FRAMEWORK_PATH=${path_list}")
+ endif()
+
if(NOT arg_CMAKE_FLAGS)
set(arg_CMAKE_FLAGS "")
endif()
@@ -907,6 +931,7 @@ function(qt_config_compile_test name)
set(_save_CMAKE_C_STANDARD "${CMAKE_C_STANDARD}")
set(_save_CMAKE_CXX_STANDARD "${CMAKE_CXX_STANDARD}")
set(_save_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
+ set(_save_CMAKE_TRY_COMPILE_PLATFORM_VARIABLES "${CMAKE_TRY_COMPILE_PLATFORM_VARIABLES}")
if(arg_C_STANDARD)
set(CMAKE_C_STANDARD "${arg_C_STANDARD}")
@@ -928,6 +953,11 @@ function(qt_config_compile_test name)
list(APPEND CMAKE_REQUIRED_FLAGS "-Zc:__cplusplus")
endif()
+ # Let CMake load our custom platform modules.
+ if(NOT QT_AVOID_CUSTOM_PLATFORM_MODULES)
+ list(APPEND CMAKE_TRY_COMPILE_PLATFORM_VARIABLES CMAKE_MODULE_PATH)
+ endif()
+
set(_save_CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES}")
set(CMAKE_REQUIRED_LIBRARIES "${arg_LIBRARIES}")
check_cxx_source_compiles("${arg_UNPARSED_ARGUMENTS} ${arg_CODE}" HAVE_${name})
@@ -936,6 +966,7 @@ function(qt_config_compile_test name)
set(CMAKE_C_STANDARD "${_save_CMAKE_C_STANDARD}")
set(CMAKE_CXX_STANDARD "${_save_CMAKE_CXX_STANDARD}")
set(CMAKE_REQUIRED_FLAGS "${_save_CMAKE_REQUIRED_FLAGS}")
+ set(CMAKE_TRY_COMPILE_PLATFORM_VARIABLES "${_save_CMAKE_TRY_COMPILE_PLATFORM_VARIABLES}")
endif()
endif()
@@ -958,6 +989,7 @@ function(qt_get_platform_try_compile_vars out_var)
list(APPEND flags "CMAKE_CXX_FLAGS_DEBUG")
list(APPEND flags "CMAKE_CXX_FLAGS_RELEASE")
list(APPEND flags "CMAKE_CXX_FLAGS_RELWITHDEBINFO")
+ list(APPEND flags "CMAKE_OBJCOPY")
# Pass toolchain files.
if(CMAKE_TOOLCHAIN_FILE)
@@ -979,6 +1011,11 @@ function(qt_get_platform_try_compile_vars out_var)
endif()
endforeach()
+ # Let CMake load our custom platform modules.
+ if(NOT QT_AVOID_CUSTOM_PLATFORM_MODULES)
+ list(APPEND flags_cmd_line "-DCMAKE_MODULE_PATH:STRING=${QT_CMAKE_DIR}/platforms")
+ endif()
+
# 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.
@@ -996,6 +1033,9 @@ function(qt_get_platform_try_compile_vars out_var)
list(APPEND flags_cmd_line "-DCMAKE_OSX_SYSROOT:STRING=${QT_UIKIT_SDK}")
endif()
endif()
+ if(QT_NO_USE_FIND_PACKAGE_SYSTEM_ENVIRONMENT_PATH)
+ list(APPEND flags_cmd_line "-DCMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH:BOOL=OFF")
+ endif()
set("${out_var}" "${flags_cmd_line}" PARENT_SCOPE)
endfunction()
diff --git a/cmake/QtFindPackageHelpers.cmake b/cmake/QtFindPackageHelpers.cmake
index 8519922f85..da96f3f176 100644
--- a/cmake/QtFindPackageHelpers.cmake
+++ b/cmake/QtFindPackageHelpers.cmake
@@ -300,6 +300,20 @@ function(qt_record_extra_third_party_dependency main_target_name dep_target)
endif()
endfunction()
+# Sets out_var to TRUE if the non-namespaced ${lib} target is exported as part of Qt6Targets.cmake.
+function(qt_internal_is_lib_part_of_qt6_package lib out_var)
+ if (lib STREQUAL "Platform"
+ OR lib STREQUAL "GlobalConfig"
+ OR lib STREQUAL "GlobalConfigPrivate"
+ OR lib STREQUAL "PlatformModuleInternal"
+ OR lib STREQUAL "PlatformPluginInternal"
+ OR lib STREQUAL "PlatformToolInternal")
+ set(${out_var} "TRUE" PARENT_SCOPE)
+ else()
+ set(${out_var} "FALSE" PARENT_SCOPE)
+ endif()
+endfunction()
+
# This function stores the list of Qt targets a library depend on,
# along with their version info, for usage in ${target}Depends.cmake file
function(qt_register_target_dependencies target public_libs private_libs)
@@ -308,22 +322,31 @@ function(qt_register_target_dependencies target public_libs private_libs)
set(target_deps "")
endif()
- # Only process private dependencies if target is a static library
get_target_property(target_type ${target} TYPE)
set(lib_list ${public_libs})
- if (target_type STREQUAL "STATIC_LIBRARY")
+
+ set(target_is_shared FALSE)
+ set(target_is_static FALSE)
+ if(target_type STREQUAL "SHARED_LIBRARY")
+ set(target_is_shared TRUE)
+ elseif(target_type STREQUAL "STATIC_LIBRARY")
+ set(target_is_static TRUE)
+ endif()
+
+ # Record 'Qt::Foo'-like private dependencies of static library targets, this will be used to
+ # generate find_dependency() calls.
+ #
+ # Private static library dependencies will become $<LINK_ONLY:> dependencies in
+ # INTERFACE_LINK_LIBRARIES.
+ if(target_is_static)
list(APPEND lib_list ${private_libs})
endif()
foreach(lib IN LISTS lib_list)
if ("${lib}" MATCHES "^Qt::(.*)")
set(lib "${CMAKE_MATCH_1}")
- if (lib STREQUAL "Platform"
- OR lib STREQUAL "GlobalConfig"
- OR lib STREQUAL "GlobalConfigPrivate"
- OR lib STREQUAL "PlatformModuleInternal"
- OR lib STREQUAL "PlatformPluginInternal"
- OR lib STREQUAL "PlatformToolInternal")
+ qt_internal_is_lib_part_of_qt6_package("${lib}" is_part_of_qt6)
+ if (is_part_of_qt6)
list(APPEND target_deps "Qt6\;${PROJECT_VERSION}")
else()
list(APPEND target_deps "${INSTALL_CMAKE_NAMESPACE}${lib}\;${PROJECT_VERSION}")
@@ -331,6 +354,28 @@ function(qt_register_target_dependencies target public_libs private_libs)
endif()
endforeach()
+ # Record 'Qt::Foo'-like shared private dependencies of shared library targets.
+ #
+ # Private shared library dependencies are listed in the target's
+ # IMPORTED_LINK_DEPENDENT_LIBRARIES and used in rpath-link calculation.
+ # See QTBUG-86533 for some details.
+ # We filter out static libraries and common platform targets, but include both SHARED and
+ # INTERFACE libraries. INTERFACE libraries in most cases will be FooPrivate libraries.
+ if(target_is_shared AND private_libs)
+ foreach(lib IN LISTS private_libs)
+ if ("${lib}" MATCHES "^Qt::(.*)")
+ set(lib_namespaced "${lib}")
+ set(lib "${CMAKE_MATCH_1}")
+
+ qt_internal_is_lib_part_of_qt6_package("${lib}" is_part_of_qt6)
+ get_target_property(lib_type "${lib_namespaced}" TYPE)
+ if(NOT lib_type STREQUAL "STATIC_LIBRARY" AND NOT is_part_of_qt6)
+ list(APPEND target_deps "${INSTALL_CMAKE_NAMESPACE}${lib}\;${PROJECT_VERSION}")
+ endif()
+ endif()
+ endforeach()
+ endif()
+
set_target_properties("${target}" PROPERTIES _qt_target_deps "${target_deps}")
endfunction()
diff --git a/cmake/QtFlagHandlingHelpers.cmake b/cmake/QtFlagHandlingHelpers.cmake
index dc81a79333..9c5aee5d90 100644
--- a/cmake/QtFlagHandlingHelpers.cmake
+++ b/cmake/QtFlagHandlingHelpers.cmake
@@ -101,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 WASM AND NOT UIKIT AND NOT MSVC)
+ if((GCC OR CLANG) AND NOT WASM AND NOT UIKIT AND NOT MSVC)
set(split_sections_flags "-ffunction-sections" "-fdata-sections")
endif()
if(split_sections_flags)
@@ -148,23 +148,22 @@ function(qt_internal_set_exceptions_flags target exceptions_on)
if(exceptions_on)
if(MSVC)
set(_flag "/EHsc")
+ if(MSVC_VERSION GREATER_EQUAL 1929)
+ set(_flag ${_flag} "/d2FH4")
+ endif()
endif()
else()
set(_defs "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 "/EHs-c-" "/wd4530" "/wd4577")
+ elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU|AppleClang|InteLLLVM")
set(_flag "-fno-exceptions")
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
if (MSVC)
- set(_flag "/wd4530" "/wd4577")
+ set(_flag "/EHs-c-" "/wd4530" "/wd4577")
else()
set(_flag "-fno-exceptions")
endif()
- elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
- set(_flag "-fno-exceptions")
endif()
endif()
@@ -244,8 +243,6 @@ function(qt_enable_utf8_sources target)
set(utf8_flags "")
if(MSVC)
list(APPEND utf8_flags "-utf-8")
- elseif(WIN32 AND ICC)
- list(APPEND utf8_flags "-Qoption,cpp,--unicode_source_kind,UTF-8")
endif()
if(utf8_flags)
diff --git a/cmake/QtFrameworkHelpers.cmake b/cmake/QtFrameworkHelpers.cmake
index 596b480218..6944fbde90 100644
--- a/cmake/QtFrameworkHelpers.cmake
+++ b/cmake/QtFrameworkHelpers.cmake
@@ -26,6 +26,7 @@ macro(qt_find_apple_system_frameworks)
qt_internal_find_apple_system_framework(FWCoreMotion CoreMotion)
qt_internal_find_apple_system_framework(FWWatchKit WatchKit)
qt_internal_find_apple_system_framework(FWGameController GameController)
+ qt_internal_find_apple_system_framework(FWCoreBluetooth CoreBluetooth)
endif()
endmacro()
diff --git a/cmake/QtHeadersClean.cmake b/cmake/QtHeadersClean.cmake
index 7f54926f1a..c2b83ccb48 100644
--- a/cmake/QtHeadersClean.cmake
+++ b/cmake/QtHeadersClean.cmake
@@ -97,8 +97,7 @@ function(qt_internal_add_headers_clean_target
"$<${compile_flags_exist_genex}:$<JOIN:${target_compile_flags_genex},;>>")
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU"
- OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang"
- OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
+ OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang|IntelLLVM")
# Turn on some extra warnings not found in -Wall -Wextra.
set(hcleanFLAGS -Wall -Wextra -Werror -Woverloaded-virtual -Wshadow -Wundef -Wfloat-equal
@@ -109,38 +108,25 @@ function(qt_internal_add_headers_clean_target
list(APPEND hcleanFLAGS -fPIC)
endif()
- if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
- # these warnings are disabled because explicit constructors with zero or
- # multiple arguments are permitted in C++11:
- # 2304: non-explicit constructor with single argument may cause implicit type
- # conversion
- # 2305: declaration of 'explicit' constructor without a single argument is
- # redundant
- #
- # ICC 14+ has a bug with -Wshadow, emitting it for cases where there's no
- # shadowing (issue ID 0000698329, task DPD200245740)
- list(APPEND hcleanFLAGS -wd2304,2305 -Wshadow)
- else()
- # options accepted by GCC and Clang
- list(APPEND hcleanFLAGS -Wchar-subscripts -Wold-style-cast)
-
- if (NOT ((TEST_architecture_arch STREQUAL arm)
- OR (TEST_architecture_arch STREQUAL mips)))
- list(APPEND hcleanFLAGS -Wcast-align)
- endif()
+ # options accepted by GCC and Clang
+ list(APPEND hcleanFLAGS -Wchar-subscripts -Wold-style-cast)
- if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
- list(APPEND hcleanFLAGS -Wzero-as-null-pointer-constant)
- if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 4.5)
- list(APPEND hcleanFLAGS -Wdouble-promotion)
- endif()
- if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 4.9)
- list(APPEND hcleanFLAGS -Wfloat-conversion)
+ if (NOT ((TEST_architecture_arch STREQUAL arm)
+ OR (TEST_architecture_arch STREQUAL mips)))
+ list(APPEND hcleanFLAGS -Wcast-align)
+ endif()
- # GCC 9 has a lot of false positives relating to these
- list(APPEND hcleanFlags -Wno-deprecated-copy -Wno-redundant-move
- -Wno-format-overflow -Wno-init-list-lifetime)
- endif()
+ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+ list(APPEND hcleanFLAGS -Wzero-as-null-pointer-constant)
+ if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 4.5)
+ list(APPEND hcleanFLAGS -Wdouble-promotion)
+ endif()
+ if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 4.9)
+ list(APPEND hcleanFLAGS -Wfloat-conversion)
+
+ # GCC 9 has a lot of false positives relating to these
+ list(APPEND hcleanFlags -Wno-deprecated-copy -Wno-redundant-move
+ -Wno-format-overflow -Wno-init-list-lifetime)
endif()
endif()
diff --git a/cmake/QtInternalTargets.cmake b/cmake/QtInternalTargets.cmake
index 317deb185a..aee33c5dde 100644
--- a/cmake/QtInternalTargets.cmake
+++ b/cmake/QtInternalTargets.cmake
@@ -1,17 +1,8 @@
function(qt_internal_set_warnings_are_errors_flags target)
set(flags "")
- if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" AND NOT MSVC)
- # Regular clang 3.0+
- if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "3.0.0")
- list(APPEND flags -Werror -Wno-error=\#warnings -Wno-error=deprecated-declarations)
- endif()
- elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
- # using AppleClang
- # Apple clang 4.0+
- if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "4.0.0" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS_EQUAL "9.2")
- list(APPEND flags -Werror -Wno-error=\#warnings -Wno-error=deprecated-declarations)
- endif()
+ if (CLANG AND NOT MSVC)
+ list(APPEND flags -Werror -Wno-error=\#warnings -Wno-error=deprecated-declarations)
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
# using GCC
list(APPEND flags -Werror -Wno-error=cpp -Wno-error=deprecated-declarations)
@@ -56,24 +47,10 @@ function(qt_internal_set_warnings_are_errors_flags target)
if (ANDROID)
list(APPEND flags -Wno-error=literal-suffix)
endif()
- elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
- # Intel CC 13.0 +, on Linux only
- if (LINUX)
- if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "13.0.0")
- # 177: function "entity" was declared but never referenced
- # (too aggressive; ICC reports even for functions created due to template instantiation)
- # 1224: #warning directive
- # 1478: function "entity" (declared at line N) was declared deprecated
- # 1786: function "entity" (declared at line N of "file") was declared deprecated ("message")
- # 1881: argument must be a constant null pointer value
- # (NULL in C++ is usually a literal 0)
- list(APPEND flags -Werror -ww177,1224,1478,1786,1881)
- endif()
- endif()
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
# Only enable for versions of MSVC that are known to work
- # 1929 is Visual Studio 2019 version 16.0
- if(MSVC_VERSION LESS_EQUAL 1929)
+ # 1939 is Visual Studio 2022 version 17.0
+ if(MSVC_VERSION LESS_EQUAL 1939)
list(APPEND flags /WX)
endif()
endif()
@@ -131,8 +108,16 @@ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" AND CMAKE_SYSTEM_NAME STREQUAL "
target_compile_options(PlatformCommonInternal INTERFACE -Wno-ignored-attributes)
endif()
+target_compile_definitions(PlatformCommonInternal INTERFACE QT_NO_NARROWING_CONVERSIONS_IN_CONNECT)
target_compile_definitions(PlatformCommonInternal INTERFACE $<$<NOT:$<CONFIG:Debug>>:QT_NO_DEBUG>)
+if(FEATURE_developer_build)
+ # This causes an ABI break on Windows, so we cannot unconditionally
+ # enable it. Keep it for developer builds only for now.
+ ### Qt 7: remove the if.
+ target_compile_definitions(PlatformCommonInternal INTERFACE QT_STRICT_QLIST_ITERATORS)
+endif()
+
function(qt_internal_apply_bitcode_flags target)
# See mkspecs/features/uikit/bitcode.prf
set(release_flags "-fembed-bitcode")
@@ -177,6 +162,10 @@ if(UIKIT)
qt_internal_apply_bitcode_flags(PlatformCommonInternal)
endif()
+if(WASM AND QT_FEATURE_sse2)
+ target_compile_definitions(PlatformCommonInternal INTERFACE QT_COMPILER_SUPPORTS_SSE2)
+endif()
+
# Taken from mkspecs/common/msvc-version.conf and mkspecs/common/msvc-desktop.conf
if (MSVC)
if (MSVC_VERSION GREATER_EQUAL 1799)
@@ -214,7 +203,7 @@ if (MSVC)
)
target_link_options(PlatformCommonInternal INTERFACE
- -DYNAMICBASE -NXCOMPAT
+ -DYNAMICBASE -NXCOMPAT -LARGEADDRESSAWARE
$<$<NOT:$<CONFIG:Debug>>:-OPT:REF -OPT:ICF -GUARD:CF>
)
endif()
@@ -292,15 +281,7 @@ qt_auto_detect_implicit_sse2()
function(qt_auto_detect_fpmath)
# fpmath configuration adjustment in qt_module.prf
set(fpmath_supported FALSE)
- if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
- if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "3.4")
- set(fpmath_supported TRUE)
- endif()
- elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
- if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "5.1")
- set(fpmath_supported TRUE)
- endif()
- elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+ if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang|GNU|IntelLLVM")
set(fpmath_supported TRUE)
endif()
if(fpmath_supported AND TEST_architecture_arch STREQUAL "i386" AND __implicit_sse2_for_qt_modules_enabled)
diff --git a/cmake/QtLalrHelpers.cmake b/cmake/QtLalrHelpers.cmake
index ce6f07007e..7c147b0597 100644
--- a/cmake/QtLalrHelpers.cmake
+++ b/cmake/QtLalrHelpers.cmake
@@ -39,13 +39,22 @@ function(qt_process_qlalr consuming_target input_file_list flags)
qt_qlalr_find_option_in_list("${input_file_lines}" "^%impl(.+)" "impl")
get_filename_component(base_file_name ${input_file} NAME_WE)
+ # Pass a relative input file path to qlalr to generate relative #line directives.
+ if(IS_ABSOLUTE "${input_file}")
+ set(absolute_input_file "${input_file}")
+ else()
+ get_filename_component(absolute_input_file "${input_file}" ABSOLUTE)
+ endif()
+ file(RELATIVE_PATH relative_input_file "${CMAKE_CURRENT_BINARY_DIR}"
+ "${absolute_input_file}")
+
set(cpp_file "${parser}.cpp")
set(private_file "${parser}_p.h")
set(decl_file "${decl}")
set(impl_file "${impl}")
add_custom_command(
OUTPUT ${cpp_file} ${private_file} ${decl_file} ${impl_file}
- COMMAND ${QT_CMAKE_EXPORT_NAMESPACE}::qlalr ${flags} ${input_file}
+ COMMAND ${QT_CMAKE_EXPORT_NAMESPACE}::qlalr ${flags} ${relative_input_file}
DEPENDS ${QT_CMAKE_EXPORT_NAMESPACE}::qlalr
MAIN_DEPENDENCY ${input_file}
)
diff --git a/cmake/QtModuleConfig.cmake.in b/cmake/QtModuleConfig.cmake.in
index 76fde2dc1f..76c918a774 100644
--- a/cmake/QtModuleConfig.cmake.in
+++ b/cmake/QtModuleConfig.cmake.in
@@ -22,7 +22,7 @@ if(NOT DEFINED "@INSTALL_CMAKE_NAMESPACE@@target@_FOUND")
set("@INSTALL_CMAKE_NAMESPACE@@target@_FOUND" TRUE)
endif()
-if (NOT QT_NO_CREATE_TARGETS)
+if (NOT QT_NO_CREATE_TARGETS AND @INSTALL_CMAKE_NAMESPACE@@target@_FOUND)
include("${CMAKE_CURRENT_LIST_DIR}/@INSTALL_CMAKE_NAMESPACE@@target@Targets.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/@INSTALL_CMAKE_NAMESPACE@@target@AdditionalTargetInfo.cmake")
if(NOT QT_NO_CREATE_VERSIONLESS_TARGETS)
diff --git a/cmake/QtModuleHelpers.cmake b/cmake/QtModuleHelpers.cmake
index deb5b001e1..98edb19f8c 100644
--- a/cmake/QtModuleHelpers.cmake
+++ b/cmake/QtModuleHelpers.cmake
@@ -61,6 +61,14 @@ endmacro()
# For the SomeInternalModulePrivate target, the MODULE_INTERFACE_NAME will be
# SomeInternalModule
#
+# HEADER_MODULE
+# Creates an interface library instead of following the Qt configuration default. Mutually
+# exclusive with STATIC.
+#
+# STATIC
+# Creates a static library instead of following the Qt configuration default. Mutually
+# exclusive with HEADER_MODULE.
+#
function(qt_internal_add_module target)
qt_internal_get_internal_add_module_keywords(
module_option_args
@@ -195,7 +203,7 @@ function(qt_internal_add_module target)
endif()
endif()
- if(FEATURE_ltcg AND GCC AND is_static_lib)
+ if((FEATURE_ltcg OR CMAKE_INTERPROCEDURAL_OPTIMIZATION) AND GCC AND is_static_lib)
# CMake <= 3.19 appends -fno-fat-lto-objects for all library types if
# CMAKE_INTERPROCEDURAL_OPTIMIZATION is enabled. Static libraries need
# the opposite compiler option.
@@ -649,13 +657,18 @@ set(QT_LIBINFIX \"${QT_LIBINFIX}\")")
endif()
write_basic_package_version_file(
- "${config_build_dir}/${INSTALL_CMAKE_NAMESPACE}${target}ConfigVersion.cmake"
+ "${config_build_dir}/${INSTALL_CMAKE_NAMESPACE}${target}ConfigVersionImpl.cmake"
VERSION ${PROJECT_VERSION}
COMPATIBILITY AnyNewerVersion
)
+ qt_internal_write_qt_package_version_file(
+ "${INSTALL_CMAKE_NAMESPACE}${target}"
+ "${config_build_dir}/${INSTALL_CMAKE_NAMESPACE}${target}ConfigVersion.cmake"
+ )
qt_install(FILES
"${config_build_dir}/${INSTALL_CMAKE_NAMESPACE}${target}Config.cmake"
"${config_build_dir}/${INSTALL_CMAKE_NAMESPACE}${target}ConfigVersion.cmake"
+ "${config_build_dir}/${INSTALL_CMAKE_NAMESPACE}${target}ConfigVersionImpl.cmake"
${extra_cmake_files}
DESTINATION "${config_install_dir}"
COMPONENT Devel
@@ -756,10 +769,6 @@ set(QT_LIBINFIX \"${QT_LIBINFIX}\")")
target_link_libraries("${target_private}" INTERFACE "${target}")
endif()
- if(is_framework AND NOT is_interface_lib)
- qt_finalize_framework_headers_copy(${target})
- endif()
-
set(debug_install_dir "${INSTALL_LIBDIR}")
if (MINGW)
set(debug_install_dir "${INSTALL_BINDIR}")
@@ -782,6 +791,7 @@ set(QT_LIBINFIX \"${QT_LIBINFIX}\")")
endfunction()
function(qt_finalize_module target)
+ qt_finalize_framework_headers_copy(${target})
qt_generate_prl_file(${target} "${INSTALL_LIBDIR}")
qt_generate_module_pri_file("${target}" ${ARGN})
endfunction()
diff --git a/cmake/QtPlatformAndroid.cmake b/cmake/QtPlatformAndroid.cmake
index 90e6478707..eef6940886 100644
--- a/cmake/QtPlatformAndroid.cmake
+++ b/cmake/QtPlatformAndroid.cmake
@@ -33,7 +33,34 @@ 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-30")
+set(QT_ANDROID_API_VERSION "android-31")
+
+function(qt_internal_sort_android_platforms out_var)
+ if(CMAKE_VERSION GREATER_EQUAL 3.18)
+ set(platforms ${ARGN})
+ list(SORT platforms COMPARE NATURAL)
+ else()
+ # Simulate natural sorting:
+ # - prepend every platform with its version as three digits, zero-padded
+ # - regular sort
+ # - remove the padded version prefix
+ set(platforms)
+ foreach(platform IN LISTS ARGN)
+ set(version "000")
+ if(platform MATCHES ".*-([0-9]+)$")
+ set(version ${CMAKE_MATCH_1})
+ string(LENGTH "${version}" version_length)
+ math(EXPR padding_length "3 - ${version_length}")
+ string(REPEAT "0" ${padding_length} padding)
+ string(PREPEND version ${padding})
+ endif()
+ list(APPEND platforms "${version}~${platform}")
+ endforeach()
+ list(SORT platforms)
+ list(TRANSFORM platforms REPLACE "^.*~" "")
+ endif()
+ set("${out_var}" "${platforms}" PARENT_SCOPE)
+endfunction()
# Locate android.jar
set(QT_ANDROID_JAR "${ANDROID_SDK_ROOT}/platforms/${QT_ANDROID_API_VERSION}/android.jar")
@@ -45,7 +72,7 @@ if(NOT EXISTS "${QT_ANDROID_JAR}")
"${ANDROID_SDK_ROOT}/platforms/*")
# If list is not empty
if(android_platforms)
- list(SORT android_platforms)
+ qt_internal_sort_android_platforms(android_platforms ${android_platforms})
list(REVERSE android_platforms)
list(GET android_platforms 0 android_platform_latest)
set(QT_ANDROID_API_VERSION ${android_platform_latest})
diff --git a/cmake/QtPlatformSupport.cmake b/cmake/QtPlatformSupport.cmake
index e4c8ca123b..11b316419a 100644
--- a/cmake/QtPlatformSupport.cmake
+++ b/cmake/QtPlatformSupport.cmake
@@ -30,9 +30,9 @@ qt_set01(UIKIT APPLE AND (IOS OR TVOS OR WATCHOS))
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(CLANG CMAKE_CXX_COMPILER_ID MATCHES "Clang|IntelLLVM")
qt_set01(APPLECLANG CMAKE_CXX_COMPILER_ID MATCHES "AppleClang")
-qt_set01(ICC CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
+qt_set01(IntelLLVM CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM")
qt_set01(QCC CMAKE_CXX_COMPILER_ID STREQUAL "QCC") # CMP0047
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
diff --git a/cmake/QtPluginHelpers.cmake b/cmake/QtPluginHelpers.cmake
index e8b5a38f41..fe90a33b85 100644
--- a/cmake/QtPluginHelpers.cmake
+++ b/cmake/QtPluginHelpers.cmake
@@ -382,14 +382,19 @@ function(qt_internal_add_plugin target)
INSTALL_DESTINATION "${config_install_dir}"
)
write_basic_package_version_file(
- "${config_build_dir}/${INSTALL_CMAKE_NAMESPACE}${target}ConfigVersion.cmake"
+ "${config_build_dir}/${INSTALL_CMAKE_NAMESPACE}${target}ConfigVersionImpl.cmake"
VERSION ${PROJECT_VERSION}
COMPATIBILITY AnyNewerVersion
)
+ qt_internal_write_qt_package_version_file(
+ "${INSTALL_CMAKE_NAMESPACE}${target}"
+ "${config_build_dir}/${INSTALL_CMAKE_NAMESPACE}${target}ConfigVersion.cmake"
+ )
qt_install(FILES
"${config_build_dir}/${INSTALL_CMAKE_NAMESPACE}${target}Config.cmake"
"${config_build_dir}/${INSTALL_CMAKE_NAMESPACE}${target}ConfigVersion.cmake"
+ "${config_build_dir}/${INSTALL_CMAKE_NAMESPACE}${target}ConfigVersionImpl.cmake"
DESTINATION "${config_install_dir}"
COMPONENT Devel
)
diff --git a/cmake/QtPostProcessHelpers.cmake b/cmake/QtPostProcessHelpers.cmake
index ba564dbae7..35ca6eabee 100644
--- a/cmake/QtPostProcessHelpers.cmake
+++ b/cmake/QtPostProcessHelpers.cmake
@@ -410,11 +410,40 @@ function(qt_internal_create_plugins_files)
if(QT_MODULE STREQUAL "Qml")
set(QT_MODULE_PLUGIN_INCLUDES "${QT_MODULE_PLUGIN_INCLUDES}
+# Qml plugin targets might have dependencies on other qml plugin targets, but the Targets.cmake
+# files are included in the order that file(GLOB) returns, which means certain targets that are
+# referenced might not have been created yet, and \${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE
+# might be set to a message saying those targets don't exist.
+#
+# Postpone checking of which targets don't exist until all Qml PluginConfig.cmake files have been
+# included, by including all the files one more time and checking for errors at each step.
+#
+# TODO: Find a better way to deal with this, perhaps by using find_package() instead of include
+# for the Qml PluginConfig.cmake files.
+
file(GLOB __qt_qml_plugins_config_file_list \"\${CMAKE_CURRENT_LIST_DIR}/QmlPlugins/${INSTALL_CMAKE_NAMESPACE}*Config.cmake\")
if (__qt_qml_plugins_config_file_list AND NOT QT_SKIP_AUTO_QML_PLUGIN_INCLUSION)
+ # First round of inclusions ensure all qml plugin targets are brought into scope.
foreach(__qt_qml_plugin_config_file \${__qt_qml_plugins_config_file_list})
include(\${__qt_qml_plugin_config_file})
+
+ # Temporarily unset any failure markers.
+ unset(\${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE)
+ unset(\${CMAKE_FIND_PACKAGE_NAME}_FOUND)
endforeach()
+
+ # For the second round of inclusions, check and bail out early if there are errors.
+ foreach(__qt_qml_plugin_config_file \${__qt_qml_plugins_config_file_list})
+ include(\${__qt_qml_plugin_config_file})
+
+ if(\${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE)
+ string(APPEND \${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE
+ \"\nThe message was set in \${__qt_qml_plugin_config_file} \")
+ set(\${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE)
+ return()
+ endif()
+ endforeach()
+
endif()")
endif()
diff --git a/cmake/QtPriHelpers.cmake b/cmake/QtPriHelpers.cmake
index 75e21c5ce2..8f7e3e9b86 100644
--- a/cmake/QtPriHelpers.cmake
+++ b/cmake/QtPriHelpers.cmake
@@ -90,13 +90,45 @@ set(QMAKE_DEPENDS_${uclib}_LD, ${deps})
endfunction()
# Retrieves the public Qt module dependencies of the given Qt module or Qt Private module.
+# The returned dependencies are "config module names", not target names.
+#
+# PRIVATE (OPTIONAL):
+# Retrieve private dependencies only. Dependencies that appear in both, LINK_LIBRARIES and
+# INTERFACE_LINK_LIBRARIES are discarded.
+#
function(qt_get_direct_module_dependencies target out_var)
+ cmake_parse_arguments(arg "PRIVATE" "" "" ${ARGN})
set(dependencies "")
- get_target_property(libs ${target} INTERFACE_LINK_LIBRARIES)
+ get_target_property(target_type ${target} TYPE)
+ if(arg_PRIVATE)
+ if(target_type STREQUAL "INTERFACE_LIBRARY")
+ set(libs)
+ else()
+ get_target_property(libs ${target} LINK_LIBRARIES)
+ list(REMOVE_DUPLICATES libs)
+ endif()
+ get_target_property(public_libs ${target} INTERFACE_LINK_LIBRARIES)
+ list(REMOVE_DUPLICATES public_libs)
+
+ # Remove all Qt::Foo and Qt6::Foo from libs that also appear in public_libs.
+ set(libs_to_remove "")
+ foreach(lib IN LISTS public_libs)
+ list(APPEND libs_to_remove "${lib}")
+ if(lib MATCHES "^Qt::(.*)")
+ list(APPEND libs_to_remove "${QT_CMAKE_EXPORT_NAMESPACE}::${CMAKE_MATCH_1}")
+ elseif(lib MATCHES "^{QT_CMAKE_EXPORT_NAMESPACE}::(.*)")
+ list(APPEND libs_to_remove "Qt::${CMAKE_MATCH_1}")
+ endif()
+ endforeach()
+
+ list(REMOVE_DUPLICATES libs_to_remove)
+ list(REMOVE_ITEM libs ${libs_to_remove})
+ else()
+ get_target_property(libs ${target} INTERFACE_LINK_LIBRARIES)
+ endif()
if(NOT libs)
set(libs "")
endif()
- get_target_property(target_type ${target} TYPE)
while(libs)
list(POP_FRONT libs lib)
string(GENEX_STRIP "${lib}" lib)
@@ -166,6 +198,60 @@ function(qt_internal_map_targets_to_qmake_libs out_var)
set(${out_var} "${result}" PARENT_SCOPE)
endfunction()
+# Retrieve the runtime dependencies of module ${target}.
+# The runtime dependencies are what in CMake is called IMPORTED_LINK_DEPENDENT_LIBRARIES.
+# This function returns the dependencies in out_var, separated by space.
+#
+# PUBLIC_DEPENDENCIES:
+# List of the module's public dependencies.
+# The dependencies are expected to be config module names.
+#
+# PUBLIC (OPTIONAL):
+# Specifies that target is a public module.
+# If not specified, a private module is assumed.
+#
+function(qt_internal_get_module_run_dependencies out_var target)
+ cmake_parse_arguments(arg "PUBLIC" "" "PUBLIC_DEPENDENCIES" ${ARGN})
+
+ # Private dependencies of the module are runtime dependencies.
+ qt_get_direct_module_dependencies(${target} run_dependencies PRIVATE)
+
+ # If ${target} is a public module then public dependencies
+ # of the private module are also runtime dependencies.
+ if(arg_PUBLIC AND TARGET ${target}Private)
+ qt_get_direct_module_dependencies(${target}Private qt_for_private)
+
+ # FooPrivate depends on Foo, but we must not record this dependency in run_depends.
+ get_target_property(config_module_name ${target} _qt_config_module_name)
+ list(REMOVE_ITEM qt_for_private ${config_module_name})
+
+ list(APPEND run_dependencies ${qt_for_private})
+ endif()
+
+ list(REMOVE_DUPLICATES run_dependencies)
+
+ # If foo-private is a private dependency and foo is a public dependency,
+ # we don't have to add foo-private as runtime dependency.
+ set(deps_to_remove "")
+ foreach(dep IN LISTS run_dependencies)
+ if(NOT dep MATCHES "(.*)_private$")
+ continue()
+ endif()
+
+ # Is foo a public dependency?
+ list(FIND arg_PUBLIC_DEPENDENCIES "${CMAKE_MATCH_1}" idx)
+ if(idx GREATER -1)
+ list(APPEND deps_to_remove "${dep}")
+ endif()
+ endforeach()
+ if(NOT "${deps_to_remove}" STREQUAL "")
+ list(REMOVE_ITEM run_dependencies ${deps_to_remove})
+ endif()
+
+ list(JOIN run_dependencies " " run_dependencies)
+ set("${out_var}" "${run_dependencies}" PARENT_SCOPE)
+endfunction()
+
# Generates module .pri files for consumption by qmake
function(qt_generate_module_pri_file target)
set(flags INTERNAL_MODULE HEADER_MODULE NO_PRIVATE_MODULE)
@@ -299,8 +385,8 @@ $$QT_MODULE_INCLUDE_BASE/${module_versioned_inner_include_dir}")
"\nQT.${config_module_name}.plugin_types = ${module_plugin_types}")
endif()
- qt_get_direct_module_dependencies(${target} public_module_dependencies)
- list(JOIN public_module_dependencies " " public_module_dependencies)
+ qt_get_direct_module_dependencies(${target} public_module_dependencies_list)
+ list(JOIN public_module_dependencies_list " " public_module_dependencies)
set(public_module_dependencies "${module_depends} ${public_module_dependencies}")
qt_path_join(pri_file_name "${target_path}" "qt_lib_${config_module_name}.pri")
@@ -327,10 +413,12 @@ $$QT_MODULE_INCLUDE_BASE/${module_versioned_inner_include_dir}")
qt_internal_map_targets_to_qmake_libs(module_uses ${dep_targets})
list(JOIN module_uses " " joined_module_uses)
- file(GENERATE
- OUTPUT "${pri_file_name}"
- CONTENT
- "QT.${config_module_name}.VERSION = ${PROJECT_VERSION}
+ # Retrieve the public module's runtime dependencies.
+ qt_internal_get_module_run_dependencies(public_module_run_dependencies ${target}
+ PUBLIC
+ PUBLIC_DEPENDENCIES "${public_module_dependencies_list}")
+
+ set(content "QT.${config_module_name}.VERSION = ${PROJECT_VERSION}
QT.${config_module_name}.name = ${module}
QT.${config_module_name}.module = ${module_name_in_pri}
QT.${config_module_name}.libs = $$QT_MODULE_LIB_BASE
@@ -339,7 +427,13 @@ QT.${config_module_name}.includes = ${public_module_includes}
QT.${config_module_name}.frameworks = ${public_module_frameworks}
QT.${config_module_name}.bins = $$QT_MODULE_BIN_BASE${module_plugin_types_assignment}
QT.${config_module_name}.depends = ${public_module_dependencies}
-QT.${config_module_name}.uses = ${joined_module_uses}
+")
+ if(NOT "${public_module_run_dependencies}" STREQUAL "")</