summaryrefslogtreecommitdiffstats
path: root/mkspecs
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.8.0' into 5.8Liang Qi2016-12-165-6/+7
|\ | | | | | | | | | | | | | | | | Conflicts: doc/global/qt-cpp-defines.qdocconf src/plugins/platforms/android/qandroidplatformopenglcontext.h src/plugins/platforms/android/qandroidplatformtheme.h Change-Id: I13d51cc66f708138ff4d667ceea7d515992e58a4
| * Merge remote-tracking branch 'origin/5.7' into 5.8.0Liang Qi2016-12-081-1/+1
| |\ | | | | | | | | | Change-Id: I576187a9905802c177ae483e6c29d0f55cf7034d
| | * fix qlalr invocation in silent buildsOswald Buddenhagen2016-12-071-1/+1
| | | | | | | | | | | | | | | | | | Change-Id: I8cd5da01dcbcdebe29815a80cc0f65365727465d Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| * | moc: force the Microsoft compiler not to define _MSC_EXTENSIONSThiago Macieira2016-12-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This re-fixes commit d72ac3f35f4c6d6405e9675d54124b3ddb8d80ab, which simply removed the #define but did so at the wrong place. Instead of forcing the macro to be removed, let's simply not have it defined in the first place. Change-Id: Ie6dbad9bbbd9488887e8fffd148dd67d9a31b32e Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| * | Disable ICC warning 3373Thiago Macieira2016-12-073-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This warning does not make sense. it seems to trigger when in code like the following in template functions: auto x = 1, y = 2; 3373: nonstandard use of "auto" to both deduce the type from an initializer and to announce a trailing return type Other reports on the Internet indicate that no one understands what triggers this warning and have just worked around it. Additionally, the same warning exists on other compilers with the same text, so it's likely come from the EDG front-end. This has been reported to Intel. Change-Id: I73fa1e59a4844c43a109fffd148d45065ab69eff Intel-Issue-ID: 6000164202 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| * | Set a proper name for the moc_predefs extra compilerJoerg Bornemann2016-11-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | In VS builds the default name is the first word of the command, in this case "cl". Use the generated file name instead. Change-Id: I8f0039eeae045f8b9a13caea8bd3e338bbe2ed17 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | move all target spec handling to qmake-based configure systemOswald Buddenhagen2016-12-132-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | we pull this feat off by booting configure with a dummy spec. the proper spec gets loaded subsequently. note that it was necessary to move the cache loading after processing the early checks (from which the spec handling is triggered). this is just fine, as the cache is needed only by tests, which are forbidden at this stage by definition. Change-Id: I5120e25a8bf05fb8cc5485fd93cf6387301089aa Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | | move qdevice.pri creation to qmake-based configure systemOswald Buddenhagen2016-12-134-1/+11
| | | | | | | | | | | | | | | | | | | | | Change-Id: I06540c3b6d98303bd9a218feedfb529993477ed6 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: BogDan Vatra <bogdan@kdab.com> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | | move generation of qconfig.cpp (and qt.conf) to qmake-based configureOswald Buddenhagen2016-12-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this moves us another step towards the "outer" configure doing just minimal bootstrapping of qmake. a challenge here was that so far, qmake itself needed qconfig.cpp. this was replaced by usage of a qt.conf file instead of compiled-in values. however, to make the executable still self-contained, that qt.conf is embedded into it (by simple appending of a fixed signature and the text file). the qmake with the embedded qt.conf is not used for the qt build itself, which instead relies on the qt.conf in bin/ as before. however, due to the missing built-in values, this file now needs to contain more information than before. but except for a minimal version that is needed to start up qmake/configure at all, that file is now also generated with qmake. as some of the newly set up properties are subsequently used by configure itself, qmake gains a (deliberately undocumented) function to reload the qt.conf after it's fully populated. unlike the old implementations, this one doesn't emit redundant qt.conf entries which match the hard-coded fallbacks. omitting them leads to leaner files which are more comprehensible. Started-by: Paolo Angelelli <paolo.angelelli@qt.io> Change-Id: I4526ef64b3c89d9851e10f83965fe479ed7f39f6 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | | nuke configure -host-optionOswald Buddenhagen2016-12-131-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in its current form, it was introduced only in 5.7, mostly as a side effect of -external-hostbindir (which is now handled differently). it only ever worked for the macOS and MinGW specs, as a side effect of them supporting -sdk and -device-option (for good reasons), and was supported only by the unix configure. it's not believed to be really useful and complicates matters somewhat, so get rid of it again. should it ever become actually relevant, it can be re-introduced properly, probably along with a -host-sdk option for macOS. Change-Id: Ib078469ea39deb821c7b6a8c67fda9e1a95fedf5 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | move device spec validation to configureOswald Buddenhagen2016-12-139-58/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | instead of letting the specs validate themselves on each call, let them only define a callback for use by the verifyspec configure test. this is somewhat faster, and allows them to be loaded before qdevice.pri is populated. Change-Id: I2b60d006b33bbf42c28949f10ad429520ed32f46 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | write HOST_QT_TOOLS to qmodule.pri instead of qhost.priOswald Buddenhagen2016-12-131-1/+1
| | | | | | | | | | | | | | | | | | | | | its only consumer is qt_tool.prf, which is an internal api. Change-Id: Iae90b079c5af60efad2ded70d6ea481212e5353a Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | move definition of configure -continue switch to builtinsOswald Buddenhagen2016-12-131-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | ... where it actually belongs, as it should work in each repo in a modular build. Change-Id: I5463f0bcacb239900bed0b0f7be9cf32a3eab04e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | move configure -redo handling (mostly) to qmake-based systemOswald Buddenhagen2016-12-132-3/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | the qmake bootstrap uses some of the options, so the configures still read config.opt for their own purposes, but the general handling is entirely in the new system now. Change-Id: I2c6c657d4da01c8d520ac74795454747bb224bdd Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | make handling of built-in configure options data-drivenOswald Buddenhagen2016-12-134-30/+41
| | | | | | | | | | | | | | | Change-Id: I08b226b6c9255b60393734e8ffcb745ccb63c597 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | move preparation of configure test build dir to qmake-based systemOswald Buddenhagen2016-12-131-0/+1
| | | | | | | | | | | | | | | Change-Id: I650fb92cfa858bf6d7ff5756aa0efe182f036a55 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | move license check to qmake-based configure systemOswald Buddenhagen2016-12-081-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this also removes the need for passing pre-processed options via configure.cfg, so get rid of that. a somewhat unfortunate side effect is that the android-style-assets feature had to move back to the top level, as the licensing options depend on it. Started-by: Lars Knoll <lars.knoll@qt.io> Change-Id: Id4d1e0ba18b3e3104400293b8f0c7f2f65e68dea Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Add -Wdouble-promotion to headerscleanJesus Fernandez2016-11-301-0/+11
|/ / | | | | | | | | | | | | | | | | Fixes: warning: implicit conversion from 'float' to 'double' to match other operand of binary expression [-Wdouble-promotion] Task-number: QTBUG-57068 Change-Id: I897a341aca83873bc6abd256a82a3b9f09409833 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge "Merge remote-tracking branch 'origin/5.7' into 5.8" into refs/staging/5.8Liang Qi2016-11-261-0/+1
|\ \
| * | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-251-0/+1
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/painting/qcoregraphics.mm src/gui/painting/qcoregraphics_p.h src/plugins/platforms/cocoa/qcocoahelpers.h src/plugins/platforms/cocoa/qcocoahelpers.mm Change-Id: Ibe5efcae73526b3d3931ed22730b13d372dcf54e
| | * Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-11-251-0/+1
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/qml_module.prf src/corelib/tools/qdatetimeparser_p.h Change-Id: I5382cee3ddb33107dc61ee20f7a9188c4a68a882
| | | * Android: All gcc flags should be set for clang tooBogDan Vatra2016-11-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc-base-unix.conf must be included before clang.conf because clang.conf doesn't set all the needed flags. Change-Id: I71f95732d0d245096b575c91610800d91c6aa5d7 Reviewed-by: Vyacheslav Koscheev <vok1980@gmail.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| | | * Fix qmldir copying in debug and release builds on WindowsJoerg Bornemann2016-11-231-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a backport of 6cc02ce6c85d3dbd49a55060bd21a8359884786f from 5.7. In a parallel build we may end up copying the qmldir file at the same time, which doesn't work on Windows due to file locking. Apply the same guard for the copying condition as in commit 770a0c91f3fadcdb132d9eb96d085aafbe1bacd0. Task-number: QTBUG-57153 Change-Id: Ibac759b16cebaf04f5d2f785211b62071aa656a8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | | make handling of qml module search path sanerOswald Buddenhagen2016-11-254-7/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | excise knowledge of QTREPOS from qt.prf - this is a private variable of the qt build system which the public functions should not know anything about. instead, move this handling to a function in qt_build_config.prf (where QTREPOS comes from in the first place), and call it from qt_app.prf and qt_example_installs.prf (which should be the only consumers within qt). qt.prf now also checks that the qml install dir actually exists, which is not the case during a modular prefix build of qtdeclarative. not really incidentally, this fixes modular static builds of qtdeclarative. Task-number: QTBUG-57308 Change-Id: I31465b9cd400483264fc236934c6f9f26a5fdd73 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | | fix use of $$QMAKE_QMAKE, take 2Oswald Buddenhagen2016-11-251-1/+2
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | we can't use $(QMAKE) after all, as this breaks with the visual studio generator. so massage $$QMAKE_QMAKE into the final form manually instead. supersedes 591d9588f in amending 2b6bcd5ff. Change-Id: I8c7a6c43f9668d88c1cc968dbf5614240f16239a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-243-1/+45
|\| | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/network/socket/qnativesocketengine_winrt.cpp tools/configure/configureapp.cpp tools/configure/environment.cpp Change-Id: Ieae6f2ee004a87f041751852b687484f91ee4480
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-11-233-1/+45
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This also reverts commit 0d2f0164f45cb626c40a7c95026ba00fa56ac249. Conflicts: header.BSD-NEW qmake/Makefile.win32 src/openglextensions/qopenglextensions.cpp src/openglextensions/qopenglextensions.h src/winmain/qtmain_win.cpp src/winmain/qtmain_winrt.cpp tools/configure/configureapp.cpp util/glgen/qopenglextensions.cpp.header util/glgen/qopenglextensions.h.header Change-Id: If26c6f4111b342378dd88bbdc657e322d2ab6ad8
| | * Add support for Visual Studio 2017Oliver Wolff2016-11-222-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | Tested with RC Task-number: QTBUG-57086 Change-Id: I21f56edca3852b52edd2c5fdcce76817141e8d4a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * Adjust comment to "new" spec nameVyacheslav Koscheev2016-11-221-1/+1
| | | | | | | | | | | | | | | Change-Id: I58250de09f10637b145a5f43c3764a86e47bce96 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | fix use of $$QMAKE_QMAKEOswald Buddenhagen2016-11-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the variable is converted to a format suitable for makefiles only after the project was read. to access it, one needs to use the exported makefile variable $(QMAKE). amends 2b6bcd5ff. Change-Id: I5eddff4bebbbcf461b565d5033d17a8daff1e6f4 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | | don't mention config.log in error messages before it even existsOswald Buddenhagen2016-11-231-1/+1
| | | | | | | | | | | | | | | | | | Change-Id: I0d56aff4988e92f2e4ce63a6a7939fbb4ceab590 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | | Merge "Merge remote-tracking branch 'origin/5.7' into 5.8" into refs/staging/5.8Liang Qi2016-11-162-114/+1
|\ \ \
| * | | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-162-114/+1
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/common/linux-android.conf src/gui/opengl/qopengl.h src/network/socket/qnativesocketengine_winrt.cpp src/network/socket/qnativesocketengine_winrt_p.h src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/eglfs/api/qeglfsintegration.cpp src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp sync.profile Change-Id: If70aaf2c49df91157b864cf0d7d9513546c9bec4
| | * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-11-152-115/+1
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure src/plugins/platforms/eglfs/qeglfsintegration.cpp src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp Change-Id: Id2da7c775439adb62646d5b741ee7c638042b34b
| | | * qmake: fix installation of asset catalog filesJake Petroules2016-11-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This strips leading whitespace from asset catalog filenames, which was causing installation to fail due to incorrectly calculated paths. Task-number: QTBUG-57090 Change-Id: I80db627262f9d58f4403e2d8ab205bef2113992b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| | | * drop obsolete fileOswald Buddenhagen2016-11-141-114/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | amends 97fcf3bc9 (introduction of official android port). Change-Id: Iaab596559c5d4c825269cbdda77d956c3650fb09 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: BogDan Vatra <bogdan@kdab.com> Reviewed-by: Otto Ryynänen <otto.ryynanen@qt.io>
* | | | make QMAKE_USE obey QMAKE_LIBDIR_*Oswald Buddenhagen2016-11-161-1/+4
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this is complementary to configure's makeSpec library source type. this should be sufficient to make QMAKE_USE += {egl,opengl,opengl_es2} actually work, obsoleting the need for opengl.prf and egl.prf (and the currently dysfunct openvg.prf). Change-Id: I2f7595ac89afa087ea7f0f25060e8e47e6148be9 Reviewed-by: Andy Nichols <andy.nichols@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | configure: turn qtConfOutputPostProcess_*() callbacks into replace functionsOswald Buddenhagen2016-11-151-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | now the callbacks don't need to re-export the designated file contents, which improves the abstraction and removes some boilerplate. Change-Id: Ifa50313155fc96762025e2610b810ebb71daa373 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | make use of $$QMAKE_QMAKEOswald Buddenhagen2016-11-151-1/+1
| | | | | | | | | | | | | | | | | | | | | there is no need to reconstruct it from scratch. Change-Id: Ied6f88634f1875b4aa47a39af0d0d89a7ad4a654 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | mark up output of called commands in configure logOswald Buddenhagen2016-11-151-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | otherwise it's sometimes quite hard to tell it apart from configure's own messages. Change-Id: I2f4908344367a9a3ce38e032bf76486fc4552ffd Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | configure: fix caching of includedir resultsOswald Buddenhagen2016-11-151-1/+1
| | | | | | | | | | | | | | | | | | | | | amends ce7df6ac7. Change-Id: Id56ee59b5955addb58cc4d0879dc097bdd7841d8 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | fix configure logging when no cache is present yetOswald Buddenhagen2016-11-153-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this got broken in 2ad4d75754. however, the new configure system operates from the top-level build dir anyway, so there is no point in messing with the cache as a reference point to start with - just use OUT_PWD. Task-number: QTBUG-57120 Change-Id: I69629bf497931574bff8452939170abb1776ab60 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Make 'use' entries work across module boundariesLars Knoll2016-11-141-7/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | 'use' entries in the tests and libraries sections of configure.json files should work acrosss library boundaries, so a test in qtwayland can refer to a library from qtbase. Change-Id: Ide02b9985be427a27982a422ca84a29b23145bcf Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | Allow checking for the existence of modules in configure.jsonLars Knoll2016-11-142-4/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | You can now use 'module.gui' to check whether the Qt Gui module exists in the current build of Qt. Task-number: QTBUG-56656 Change-Id: Ic73f162ed0578e07c70e3ec3706f285b6d09a41d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | Introduce QMAKE_CD to enable us to cd from one Windows drive to anotherHannah von Reth2016-11-147-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Windows cd does not change the drive. So when you are on drive C: and type "cd D:\data" it will change the directory on drive D: but not affect your current working directory. To also change your drive you have to provide the parameter /d on Windows, so "cd /d D:\data" will also change the drive. Task-number: QTBUG-57080 Change-Id: Ib629879534523982eec693cef725f20a535a1a74 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-082-0/+2
|\| | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/tools/qalgorithms.h Change-Id: Ib8ce4d5d9ecd5b9c166d5b8b44e58f3e4e7283ff
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-11-042-0/+2
| |\| | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/json/qjsonparser.cpp src/gui/opengl/qopengl.cpp Change-Id: Ib4d3208398399691839e6c6eaeb9006f99e3a62b
| | * Fix building when lex source refers to a file generated by yaccJoni Poikelin2016-11-012-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Scan lex and yacc sources for dependencies as if they were C source code, which is close enough to reality. This will unfortunately result in the generated source files depending on the generated headers, while it should have been the object files created from these sources which have that dependency. But qmake cannot do better, and this is good enough. Task-number: QTBUG-56507 Change-Id: Ic3e1941bf2e2820bfddf99deba854e1e82f83669 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | fix debug-only builds on debug-and-release platformsOswald Buddenhagen2016-11-071-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this actually affects only non-framework Darwin builds - debug-only framework builds are impossible, and Windows is always debug-and-release. Change-Id: Ia79dbbefc5750168ebd8967fe4afbe173f55a0d6 Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | | don't log silent tests to config.logOswald Buddenhagen2016-11-071-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | they were already omitted from the console output; there is no need to spam the log with them (their completion was not logged, either). Change-Id: I32c97413d2e6ceb18ee61356855cc6a7fa2222bf Reviewed-by: Lars Knoll <lars.knoll@qt.io>