summaryrefslogtreecommitdiffstats
path: root/src/3rdparty
Commit message (Collapse)AuthorAgeFilesLines
...
* Update PCRE2 to 10.35Giuseppe D'Angelo2020-05-1142-3270/+4576
| | | | | | | | | [ChangeLog][Third-Party Code] PCRE2 has been update to version 10.35. Change-Id: I9793bdd3d25b88eea0d4479f544b297d065b5fb6 Pick-To: 5.15 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* CMake: Fix CMP0100 warning for bundled harfbuzzJoerg Bornemann2020-04-291-0/+1
| | | | | | | | Add a SKIP_AUTOMOC argument to qt_add_3rdparty_library and use it in BundledHarfbuzz. Change-Id: Ie4aa61639a5ab64f286ac539989572a9ae6bc3d5 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* vkmemalloc: make it compile with macOS 10.15 SDKLaszlo Agocs2020-04-232-1/+66
| | | | | | | | | | | | Simply rename the function in order to not clash with aligned_alloc() that is marked as 10.15 only (and thus would need annotation etc.) in the 10.15 SDK. (note that aligned_alloc is a C11 function which was presumably not present in earlier SDKs, by renaming our own version everyone will be happy, hopefully) Change-Id: Iee400d81df6a0af4fa2129358ed27b049720685b Pick-to: 5.15 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-04-223-1/+111
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/widgets/widgets/qabstractbutton.cpp src/widgets/widgets/qbuttongroup.cpp src/widgets/widgets/qbuttongroup.h src/widgets/widgets/qsplashscreen.cpp tests/auto/widgets/widgets/qbuttongroup/tst_qbuttongroup.cpp tests/benchmarks/opengl/main.cpp Needed update: src/plugins/platforms/cocoa/CMakeLists.txt Change-Id: I7be4baebb63844ec2b3e0de859ca9de1bc730bb5
| * Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-04-203-1/+111
| |\ | | | | | | | | | Change-Id: I088f72543f5a964ae073f434b819b5fda4c549c8
| | * sqlite: Fix CVE-2020-11656Andy Shaw2020-04-202-1/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was taken from d09f8c3621d5f7f8 and b64674919f673602 in SQLite, ref: https://www3.sqlite.org/cgi/src/info/d09f8c3621d5f7f8 https://www.sqlite.org/cgi/src/info/b64674919f673602 [ChangeLog][QtSQL][sqlite] Fixed CVE-2020-11656 Fixes: QTBUG-83652 Change-Id: I99bd59dc10b753ff19822c902dff1fc339d330a8 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
| | * sqlite: Fix CVE-2020-11655Andy Shaw2020-04-202-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was taken from 4a302b42c7bf5e11 in SQLite, ref: https://www3.sqlite.org/cgi/src/info/4a302b42c7bf5e11 [ChangeLog][QtSQL][sqlite] Fixed CVE-2020-11655 Task-number: QTBUG-83652 Change-Id: I5ead78d9ee63aa0f12f1c1014c79373728569f30 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | | Include QRegularExpression in the bootstrap libraryLars Knoll2020-04-133-47/+48
| | | | | | | | | | | | | | | | | | | | | | | | This allows us to use regular expressions in bootstrapped tools such as moc and tracegen. Change-Id: I4310dd15bf26651aac6ab30c884e025ca06b3099 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-04-0820-106/+440
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/opengl/doc/src/cube.qdoc src/corelib/global/qlibraryinfo.cpp src/corelib/text/qbytearray_p.h src/corelib/text/qlocale_data_p.h src/corelib/time/qhijricalendar_data_p.h src/corelib/time/qjalalicalendar_data_p.h src/corelib/time/qromancalendar_data_p.h src/network/ssl/qsslcertificate.h src/widgets/doc/src/graphicsview.qdoc src/widgets/widgets/qcombobox.cpp src/widgets/widgets/qcombobox.h tests/auto/corelib/tools/qscopeguard/tst_qscopeguard.cpp tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp tests/benchmarks/corelib/io/qdiriterator/qdiriterator.pro tests/manual/diaglib/debugproxystyle.cpp tests/manual/diaglib/qwidgetdump.cpp tests/manual/diaglib/qwindowdump.cpp tests/manual/diaglib/textdump.cpp util/locale_database/cldr2qlocalexml.py util/locale_database/qlocalexml.py util/locale_database/qlocalexml2cpp.py Resolution of util/locale_database/ are based on: https://codereview.qt-project.org/c/qt/qtbase/+/294250 and src/corelib/{text,time}/*_data_p.h were then regenerated by running those scripts. Updated CMakeLists.txt in each of tests/auto/corelib/serialization/qcborstreamreader/ tests/auto/corelib/serialization/qcborvalue/ tests/auto/gui/kernel/ and generated new ones in each of tests/auto/gui/kernel/qaddpostroutine/ tests/auto/gui/kernel/qhighdpiscaling/ tests/libfuzzer/corelib/text/qregularexpression/optimize/ tests/libfuzzer/gui/painting/qcolorspace/fromiccprofile/ tests/libfuzzer/gui/text/qtextdocument/sethtml/ tests/libfuzzer/gui/text/qtextdocument/setmarkdown/ tests/libfuzzer/gui/text/qtextlayout/beginlayout/ by running util/cmake/pro2cmake.py on their changed .pro files. Changed target name in tests/auto/gui/kernel/qaction/qaction.pro tests/auto/gui/kernel/qaction/qactiongroup.pro tests/auto/gui/kernel/qshortcut/qshortcut.pro to ensure unique target names for CMake Changed tst_QComboBox::currentIndex to not test the currentIndexChanged(QString), as that one does not exist in Qt 6 anymore. Change-Id: I9a85705484855ae1dc874a81f49d27a50b0dcff7
| * | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-04-031-2/+2
| |\| | | | | | | | | | | | | | | | | | | Conflicts: tests/benchmarks/corelib/text/qstringlist/qstringlist.pro Change-Id: Ie9b97bd83c2df00fd9b556b5f09d405f71970169
| | * ANGLE: d3d11: Do not register windows message hooks for d3d11 windowsOliver Wolff2020-04-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These message hooks are used to handle ALT+ENTER to enter/exit fullscreen mode and PRINTSCREEN to take screenshots. Qt is implementing these functionalities itself so we do not have to register these hooks. If too many of these hooks are registered, callbacks are no longer called and Qt's message queue is no longer handling messages. By saving these hooks we can make sure that more Qt windows at the same time are possible without getting unresponsive due to too many hooks being registered. Change-Id: I5354f91f08cbfeda5e8dc3ad7f824fbd5b3b2932 Reviewed-by: Dominik Holland <dominik.holland@qt.io> Reviewed-by: André de la Rocha <andre.rocha@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * | Merge remote-tracking branch 'origin/5.14' into 5.15Liang Qi2020-03-311-14/+23
| |\| | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp Change-Id: Ifaa56153f5f0d687a6b4d94f84fcfa1e1751afd2
| | * CBOR support: prevent overflowing QByteArray's max allocationThiago Macieira2020-03-271-14/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QByteArray doesn't like it. Apply the same protection to QString, which we know uses the same backend but uses elements twice as big. That means it can contain slightly more than half as many elements, but exact half will suffice for our needs. Change-Id: Iaa63461109844e978376fffd15f9d4c7a9137856 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| * | Update bundled libjpeg-turbo to version 2.0.4Eirik Aavitsland2020-03-3010-50/+93
| | | | | | | | | | | | | | | | | | | | | [ChangeLog][Third-Party Code] libjpeg-turbo was updated to version 2.0.4 Change-Id: I7f74af0dc774a2172ff59713613a706e80d5b2cb Reviewed-by: Liang Qi <liang.qi@qt.io>
| * | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-03-271-1/+1
| |\| | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/serialization/qcborvalue.cpp Change-Id: I539d8cae5fd413b8a6c9c5d8a6364c79c8133a0a
| | * ANGLE: Fix resizing of windows (Take 2)Oliver Wolff2020-03-241-1/+1
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-62475 Change-Id: I0ea17e7875906508941ae64bb396a4236928b0f9 Reviewed-by: Miguel Costa <miguel.costa@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * | forkfd: add FFD_VFORK_SEMANTICS flagThiago Macieira2020-03-253-5/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This flag asks forkfd() to use vfork semantics wherever available. That is, suspend the calling process execution until the child either does an execve(2) or _exit(2). The advantage of that is that it puts lower pressure on the OS VMM system, as the number of pages that need to be copy-on-write duplicated is much smaller (still not zero, as at least the stack in the child will be written to). However, the only implementation that supports using this flag for now is Linux's pidfd. It would be possible to add to FreeBSD, but pdfork(2) does not have a flag for this behavior -- if it gets one, we can add support for it later. Everywhere else, we need to force the child to not exit until we store the child process's PID in the ProcessInfo structure we allocated, which means the parent process must run before we even return from forkfd(). Change-Id: I1bee3bc466a04f19bd6efffd15f447f28c201aa9 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| * | forkfd: fix forkfd_wait when FFD_USE_FORK was activeThiago Macieira2020-03-251-3/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we detected that the OS supports a version of system forkfd (Linux pidfd, FreeBSD procdesc), the forkfd_wait() function was using only the system waiting implementation, which of course can't work for file descriptors created with FFD_USE_FORK. So just detect EBADF and attempt again. If the file descriptor is neither one of our pipes nor a system forkfd, bad things will happen... Fixes: QTBUG-82351 Change-Id: I4e559af2a9a1455ab770fffd15f59fb3160b22eb Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
| * | forkfd: introduce forkfd_wait4() that takes optionsThiago Macieira2020-03-254-22/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "wait4" because it looks like the wait4() BSD function, which has the signature: pid_t wait4(pid_t pid, int *wstatus, int options, struct rusage *rusage); And because ours also has 4 parameters. Having options is important anyway. I might want to add some more later, but we can't really support them with the fall back implementation (in fact, we don't honor WNOHANG in the fall back implementation either). Change-Id: I4e559af2a9a1455ab770fffd15f5858bb357e15b Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
| * | Merge remote-tracking branch 'origin/5.14' into 5.15Mitch Curtis2020-03-202-9/+225
| |\| | | | | | | | | | Change-Id: Ib2a2e3a292af43be3a980c2ccc943c08f4bbf72f
| | * Merge remote-tracking branch 'origin/5.14.2' into 5.14Mitch Curtis2020-03-192-9/+225
| | |\ | | | | | | | | | | | | Change-Id: I34ca28c75b88e882c3f35f182bf01acb22b77637
| | | * Fix CVE-2020-9327 in SQLiteAndy Shaw2020-03-042-9/+225
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was taken from abc473fb8fb99900 in SQLite, ref: https://www.sqlite.org/cgi/src/info/abc473fb8fb99900 Fixes: QTBUG-82533 Change-Id: I9840e29f19a0b861229987f5b59d8585ba2e55dc Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-03-181-1/+1
| |\| | | | | | | | | | | | | | Change-Id: Iaab37b633a8286c2c21425aaac34d30529a3ea82
| | * | ANGLE: Fix severe performance regressionOliver Wolff2020-03-121-1/+1
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | The changed buffer usage priority that was introduced in our ANGLE update caused severe performance regressions for Qt applications. Fixes: QTBUG-73835 Change-Id: I49839bb272cdeec0027264f2751b88bc149665ad Reviewed-by: André de la Rocha <andre.rocha@qt.io> Reviewed-by: Miguel Costa <miguel.costa@qt.io>
* | | Revert "Android: Fix compile on arm64"BogDan Vatra2020-03-263-13/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 81d6906ad9fa8ad3f73b151a1e8564ffaeccc3cf. Fixed upstream. \sa https://github.com/harfbuzz/harfbuzz/issues/1308 Change-Id: I7759e2bb199ffd11d42239be59704c4e1f7ddb9f Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Harfbuzz: get rid of Qt-specific patch in CoreText shaper codeKonstantin Ritt2020-03-242-96/+0
| | | | | | | | | | | | | | | | | | | | | | | | this code isn't used as of 21c242f9fd27523d0016b821d0a962231c4bafa6 and thus we do not need to keep the patch around Change-Id: Ic3b836c6a68f40b8e450542a39db968ef3b09101 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | | CMake: Regenerate projects after harfbuzz-ng macOS adjustmentAlexandru Croitor2020-03-182-36/+0
| | | | | | | | | | | | | | | | | | | | | | | | Amends 21c242f9fd27523d0016b821d0a962231c4bafa6 Change-Id: I1041d27d2ab764950b574ff729d987b5efe5f2fe Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | | macOS: Disable CoreText shaper in Harfbuzz-NGEskil Abrahamsen Blomfeldt2020-03-171-21/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On macOS, we have been using a different code path internally in Harfbuzz-NG for shaping, since most fonts on the platform are based on AAT rather than OpenType, and this was not supported by the OT shaper in Harfbuzz before HB 2.0.0. However, AAT support has been added to the main shaper code now, and is in a shape where it is used in both Chrome and Firefox, Since we have upgraded the Harfbuzz in Qt as well as updated the minimum required version for system-harfbuzz, we can also use this code path and avoid another source of platform-specific issues. Change-Id: I5cf4626d986998a0a4614c751183bcac6f4e588d Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Remove the old harfbuzz library and integration codeLars Knoll2020-03-1760-27106/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | It's not used anymore. harfbuzz-ng is a requirement in Qt 6 if you want any open type shaping. Fixes: QTBUG-82881 Change-Id: If7100aebdcfa078a999608bb8f07a2ef3a79d282 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | | cmake: Regenerate projectsAlexandru Croitor2020-03-161-1/+1
| | | | | | | | | | | | | | | Change-Id: I0cd4f34b0df0227789805f30f474ff6aa275078f Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | cmake: Remove APPLE prefix from platform namesTor Arne Vestbø2020-03-163-6/+6
| | | | | | | | | | | | | | | | | | | | | None of the other platforms have it. Change-Id: Ib448c2c03ba03f711b507ef391977c0e6aa7c192 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-03-111-1/+1
|\| | | | | | | | | | | Change-Id: Ibee5acec72a1a1769d4bc5f23f56c7dc8d4cf3cb
| * | Android: Bump gradle (plugin) versionsBogDan Vatra2020-03-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Move min & target sdk from AndroidManifest.xml to build.gradle Fixes: QTBUG-70817 Change-Id: Id9bb9825a3232587e0255b2d3d6f0273c5f9b66a Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | | CMake: Remove old 3rdparty mechanism for harfbuzz-non-ngAlexandru Croitor2020-03-102-15/+0
| | | | | | | | | | | | | | | | | | Change-Id: I37c1e561ac83c51a06aae50ccb176094785d52f5 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | | CMake: Remove old 3rdparty mechanism for double conversionAlexandru Croitor2020-03-102-22/+0
| | | | | | | | | | | | | | | | | | Change-Id: I2b20d4d9d95a1f7f59bc506046a1ebc20eb305f7 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | | CMake: Handle conditions in third party find modules correctlyAlexandru Croitor2020-03-051-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the FindWrap modules checked for hardcoded features when deciding whether to use a bundled library or not. This proved not to work correctly because features were not available when the find modules were processed. Introduce a new CMake API call that needs to be manually called after an add_subdirectory call which declares a bundled library. The call will check for the existence of the bundled target, and will then set a cache variable QT_USE_BUNDLED_Bundled<TargetName>. The same variable is written into a FindWrapFooConfigExtra.cmake file which will be loaded by the appropriate FindWrap module. The module can that use that variable to decided whether to link against the bundled library or the system library. Change-Id: I75e9a4f4e14d88d4490916a79ad12f1ce57891e0 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Update to Harfbuzz 2.6.4Eskil Abrahamsen Blomfeldt2020-03-04285-18451/+70409
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Quite a big change since it has been several years since the last update. This drops the Harfbuzz source on top of the existing code in Qt, and does the following additional changes: 1. Deletes old source files that have been removed upstream (everything named foo-private.hh is now renamed to just foo.hh for instance). 2. Added a header guard to config.h because it may be double-included. 3. Implement a memory barrier needed by hb-atomic.hh. 4. Changed the signature of hb_atomic_int_impl_add() to take a pointer to match new upstream. 5. Updated .pro file to include new files and removed old. 6. Updated qt_attribution.json 7. No longer disable deprecated APIs since hb_ot_tags_from_script() is now deprecated and is used from Qt code. 8. Updated and applied the patch in patches/ for CoreText. 9. Updated tst_qtextscriptengine::thaiWithZWJ() according to changes in Harfbuzz and disabled it for system-harfbuzz, since this may be an older version of harfbuzz depending on the system. Fixes: QTBUG-79606 Change-Id: I3f057a43ff44ee416628b75ef12fb1a221f31910 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-02-263-235/+386
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/network/bearermonitor/CMakeLists.txt examples/network/CMakeLists.txt src/corelib/tools/qlinkedlist.h src/sql/kernel/qsqldriver_p.h src/sql/kernel/qsqlresult_p.h src/widgets/kernel/qwidget.cpp src/widgets/kernel/qwidget_p.h tests/auto/network/socket/platformsocketengine/tst_platformsocketengine.cpp tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp tests/auto/tools/moc/allmocs_baseline_in.json Change-Id: I21a3c34570ae79ea9d30107fae71759d7eac17d9
| * | Merge remote-tracking branch 'origin/5.14' into 5.15Friedemann Kleint2020-02-243-235/+386
| |\| | | | | | | | | | Change-Id: Ibe5b4aa249863a54007180f3684dc5ce1b23cb7b
| | * Update md4c to 0.4.3Giuseppe D'Angelo2020-02-223-235/+386
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes important bugs. [ChangeLog][Third-Party Code] md4c was updated to 0.4.3. Change-Id: Ifed7939b7bd67e3f0a7776b4f4b1132d80141033 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* | | CMake: Allow building bundled 3rd party libraries in qtbaseAlexandru Croitor2020-02-258-9/+616
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A few things are needed to accomplish that: - the python scripts do not ignore certain system_foo features anymore (it is a hardcoded list for now just to be safe) - configurejson2cmake now outputs qt_find_package(WrapSystemFoo) calls for bundled libraries (see below) - the harfbuzz .pro file is modified to accommodate pro2cmake not being able to correctly parse some conditional scopes - the freetype .pro file is modified to make sure linking of the library succeeds without duplicate symbol errors, which qmake doesn't encounter due to magical exclusion of cpp files that are included in other cpp files (presumably for include moc_foo.cpp support) - feature evaluation for Core, Gui, Network now happens in the qtbase/src directory, so that bundled libraries can be conditionally built - for each bundled library there are now two FindWrap scripts: - FindWrapSystemFoo which finds an installed library in the system - FindWrapFoo which either uses the system installed library or the built bundled one depending on a condition - projects that intend to use bundled libraries need to link against WrapFoo::WrapFoo instead of WrapSystemFoo::WrapSystemFoo targets (this is handled by pro2cmake). Unfortunately manually added qt_find_package(WrapFoo) calls might still be needed as is the case for WrapFreetype and others. - a new cmake/QtFindWrapHelper.cmake file is added that provides a macro to simplify creation of WrapFoo targets that link against a bundled or system library. The implementation is fairly ugly due to CMake macro constraints, but it was deemed better than copy-pasting a bunch of almost identical code across all FindWrapFoo.cmake files. - a qtzlib header-only module is now created when using bundled zlib, to provide public syncqt created headers for consumers that need them. These are projects that have 'QT_PRIVATE += zlib-private' in their .pro files (e.g. qtimageformats, qtlocation, qt3d, etc.) This is unfortunately needed due to QtNetwork using zlib types in its private C++ API. The change includes support for building the following bundled libraries: - zlib - libpng - libjpeg - Freetype - Harfbuzz-ng - PCRE2 The following 3rd party libraries are still using an old implementation within the CMake build system, and should be migrated to the new one in the near future: - double-conversion - Old harfbuzz The are a few libraries that are not yet ported: - system-sqlite - systemxcb - maybe others Among other things, this change allows building qtbase on Windows without requiring vcpkg. Task-number: QTBUG-82167 Change-Id: I35ecea0d832f66c1943c82e618de4a51440971a5 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
* | | Merge remote-tracking branch 'origin/5.15' into devLiang Qi2020-02-139-5694/+9008
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/widgets/graphicsview/boxes/scene.h src/corelib/Qt5CoreMacros.cmake src/corelib/Qt6CoreMacros.cmake src/network/ssl/qsslsocket.cpp src/network/ssl/qsslsocket.h src/platformsupport/fontdatabases/windows/qwindowsfontenginedirectwrite.cpp src/testlib/CMakeLists.txt src/testlib/.prev_CMakeLists.txt tests/auto/corelib/tools/qscopeguard/tst_qscopeguard.cpp Disabled building manual tests with CMake for now, because qmake doesn't do it, and it confuses people. Done-With: Alexandru Croitor <alexandru.croitor@qt.io> Done-With: Volker Hilsheimer <volker.hilsheimer@qt.io> Change-Id: I865ae347bd01f4e59f16d007b66d175a52f1f152
| * | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-02-089-5724/+9005
| |\| | | | | | | | | | Change-Id: I5d80d84d1fd9f52e7c8e4895cc34d4d29043f400
| | * sqlite: Update to v3.31.1Andy Shaw2020-02-069-5724/+9005
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the patches applied previously are no longer required, we have removed those too. [ChangeLog][QtSQL][sqlite] Updated to v3.31.1 Change-Id: Ia80c31683a8cf92cfd114b6da32460ddcf38d502 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
| * | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-02-041-0/+1
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf examples/widgets/widgets/imageviewer/imageviewer.cpp src/corelib/text/qchar.cpp src/corelib/time/qdatetime.cpp Change-Id: I9762f5c4ff650799219729d6aee79ac07ce9024a
| | * Markdown importer: use Unicode decodingGiuseppe D'Angelo2020-02-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Given we feed UTF-8 data into the importer, it must be able to cope with Unicode. Build md4c with UTF-8 support, advertise it at usage site, and change a couple of broken decodings. Driveby: the textedit example used the wrong codec to decode a Markdown file. While the Markdown spec doesn't deal with encodings, using the default one for HTML is certainly wrong. Port the loading of both markdown and plaintext to UTF-8, as that what _saving_ via QTextDocumentWriter would use by default. Change-Id: I51c6214cfe45ebfc5a67a7366f7866a5328366ec Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * | Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-01-292-0/+32
| |\| | | | | | | | | | Change-Id: I98b1a5a11ece3957a1115c1d9be8841759206ffe
| | * Fix CVE-2019-19880 in SQLiteAndy Shaw2020-01-222-0/+32
| | | | | | | | | | | | | | | | | | Fixes: QTBUG-81565 Change-Id: I6bf2364e696315e5262d1abfa2f0b6947f14a33b Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | | Merge remote-tracking branch 'origin/dev' into merge-devLeander Beernaert2020-01-24556-39606/+46242
|\| | | | | | | | | | | Change-Id: I31b761cfd5ea01373c60d02a5da8c33398d34739
| * | forkfd: add FFD_USE_FORK to force use of fork()Thiago Macieira2020-01-092-5/+14
| | | | | | | | | | | | | | | Change-Id: Ia2aa807ffa8a4c798425fffd15d933e47919247a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>