Commit Graph

30712 Commits (a98f64af91f8e96d2efe2b57d64f9fc41e2006b4)

Author SHA1 Message Date
Albert Astals Cid e1beabc3b8 cmake: Add missing CLASS_NAME
Change-Id: I5853578f427ae1d1b32ee5405694c216e2dd17cf
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2019-10-03 15:35:26 +00:00
Alexandru Croitor 0e14bd586a Regenerate qtbase/src projects
To get less diffs for next merges and pro2cmake changes.

Change-Id: I7fb5ff34bb884072a9964e8e3488c69f4290fca2
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-09-30 18:41:11 +00:00
Jean-Michaël Celerier 5aeb72fb0f Add CMakeLists.txt for CoreWLAN
Change-Id: I28a066b23e89ce2d96fd6cfa935c05b70788ed7a
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-09-30 11:33:01 +00:00
Jean-Michaël Celerier 309f96ccb6 Add CMake support for directfb plug-in
Change-Id: I126545e1da54018ce081b42a29e62ca30ee04d64
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-09-30 11:31:54 +00:00
Jean-Michaël Celerier 7811bd81d0 Change QT_COORD_TYPE variable which was badly translated from qmake
Note that from a quick grep, nothing sets QT_COORD_TYPE in the CMake buildsystem yet,
and nothing uses it either.

Change-Id: I91241089ff08f6b93d1d0b00e135063cfe516dfc
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-09-24 14:05:23 +00:00
Jean-Michaël Celerier d64fa78829 Add CMakeLists.txt for cocoa printsupport plug-in
Change-Id: I0cc8b2827e0986d9ef486f327e7d84362e7d99c4
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-09-24 12:00:36 +00:00
Alexandru Croitor fbddf745e9 Create module tools packages (config files) automatically
Previously you had to make sure to use DISABLE_TOOLS_EXPORT
in an add_qt_module call if the tools are built after the module,
as well as to manually call qt_export_tools after all associated
tools are built.

This was needlessly complex, especially for people that are porting
a repo with tools for the first time.

The tools package creation is now automatically done at QtPostProcess
step, so there is no need to use either DISABLE_TOOLS_EXPORT or
qt_export_tools() manually.

DISABLE_TOOLS_EXPORT is now a no-op, and will be removed once all repos
are updated not to use it.

Change-Id: I965b0d3a8a0cb908afae87b047083ed7bea9f02f
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-09-22 10:29:28 +00:00
Cristian Maureira-Fredes cfa3c64625 Adapt string formatting in util/cmake
Second and final batch of changes related to string
formatting styling.

Change-Id: Ifc0e999ee95fe52fd076ac2f001b4a58f82ab5be
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-09-21 15:48:40 +00:00
Joerg Bornemann f5fef44df0 Fix add_qt_gui_executable for non-Gui projects
...which is needed, because pro2cmake thinks everything is a Gui project.

Change-Id: Ib68f3eb0e796365e03b3805a3f742824cc263157
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-09-19 15:18:37 +00:00
Simon Hausmann f4aa7255e6 Fix casing of public API functions
Use lower case for the function name as that's cmake style.

Change-Id: I6c53166aa3a8cece4abe8a485e06bd359fc12a06
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-09-19 08:01:05 +00:00
Simon Hausmann ceb2937498 Fix add_qt_docs calls
Brown paper bag for me, don't use a comma to separate parameters when
calling a function.

Change-Id: I21e16142fab4fd1c2714df13cd6a892b036e899a
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2019-09-19 07:43:13 +00:00
Simon Hausmann 655b2ed90c Re-generate main module CMake files
This fixes the calls to add_qt_docs to include the target.

Change-Id: I2c4c807bca8faa48bb49f4b8710035f21abfca0e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-09-18 09:45:23 +00:00
Leander Beernaert 21dd3624a5 Fix OUTPUT_TARGET propagation in qt6_add_resource()
Value was not being propagated to the parent scope when set.

This patch also changes OUTPUT_TARGET to OUTPUT_TARGETS since it is
possible that two targets can be generated.

Change-Id: If489a609ed363a319224fcd6c5a4fc878d0d8617
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-09-16 11:41:48 +00:00
Alexandru Croitor 7857256f59 Regenerate src/testlib
Change-Id: Ia0208ebffc2ad9c87595533d6c09d3f4f068613d
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-09-11 19:37:19 +00:00
Alexandru Croitor 5486648a20 Regenerate src/printsupport
Change-Id: I9aeb6408cac243c5b5c55b1f14db1f4ef90996f3
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-09-11 19:37:06 +00:00
Alexandru Croitor 92c8f0df8c Regenerate src/opengl
Change-Id: I68738f98cab12e888a49f52ba8fbd6901752ccd2
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-09-11 19:36:47 +00:00
Alexandru Croitor 1410cc24cc Regenerate src/corelib
Change-Id: Ibb69cad45169546fa97ee06881868cdbb082e9d6
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-09-11 19:36:26 +00:00
Alexandru Croitor 08ed9ad137 Regenerate src/network
Change-Id: I2a3291e74047b33c303f84a6492f359f0bf9e058
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-09-11 19:36:01 +00:00
Alexandru Croitor e71e22beaf Regenerate src/widgets
Change-Id: Ia711ab1af48f489b3ec3e3690448d83ac4ea4902
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-09-11 19:35:50 +00:00
Alexandru Croitor c91606b871 Regenerate src/gui
Change-Id: I689c65f2c62169f487e938ae60f16fb866432492
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-09-11 19:35:39 +00:00
Mårten Nordheim 2cf0ba1fba Use pre-compiled headers when building Qt with cmake
Some modules define their own manually-maintained lists, and we can rely
on the headers generated by each module to include in the pch as well
e.g. QtCore/QtCore.

There's also e.g. QtWidgetDepends for QtWidgets, but this only
works for modules, not for tools, examples or other applications.
For now we'll use the Qt<Module>/Qt<Module> headers for the
modules we depend on.

Building with PCH can be disabled with -DBUILD_WITH_PCH=NO, and it only
works for versions of CMake newer than 3.15.20190829.

Change-Id: Iae52bd69acfdfd58f4cd20d3cfa3c7f42775f732
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-09-11 08:25:54 +00:00
Ville Voutilainen b2a11daaa1 cmake: Enable building of the oci plugin
Change-Id: I003d6da10c7e47402fb373d3956817817328cf0f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Qt CMake Build Bot
2019-09-05 08:24:07 +00:00
Alexandru Croitor 408cdf006a Fix non-prefix builds on Windows
Building qtdeclarative on Windows in a non-prefix build failed due to
usage of include paths of WinMain that don't actually exist.

Mark the library as not having include paths by setting
NO_SYNC_QT.

Change-Id: Ibdb420981069967414a119dedc7a7bfc9d61c253
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2019-09-04 10:54:43 +00:00
Ville Voutilainen 95c9c5a308 cmake: Enable building of the db2 plugin
Change-Id: I26810cccba5f3128cb47e0bf53b5ec78de2eec8c
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-09-04 09:50:15 +00:00
Ville Voutilainen 3ff31ed020 Enable building of the mysql plugin
Change-Id: I8cb97afaaed46ee64b5a133e797179d7ddecdeef
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-09-02 15:16:42 +00:00
Simon Hausmann 2e3e42587b Fix default platform plugin choice for WASM
The name (key in wasm.json) for the QPA plugin is "wasm", not
"webassembly".

Change-Id: I6a2568d05e4f19408fa95ac59a47acdcf90e11a2
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-08-30 13:21:44 +00:00
Simon Hausmann 8da5305102 Fix Harfbuzz detection
We use

    qt_find_package(harfbuzz PROVIDED_TARGETS harfbuzz::harfbuzz)

which would set harfbuzz_FOUND. Since variable names are case-sensitive,
this is also the name we must check for in the qt feature condition.

Change-Id: I43420489c3310bc9c3e5cc798a005c8d5b0ab646
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-08-30 13:21:32 +00:00
Leander Beernaert eeffac526e Update Android build configuration
Update Android build configuration to be compatible with the multi-arch
android build patch to qmake. We can now build and generate the apk
correctly. Executing on the device/simulator will only work once the
latest changes from 5.14 have been merged in.

We now replace target suffix with ${CMAKE_ANDROID_ARCH_ABI}.[so|a] so
we don't have to deal with handling targets which might have any of the
OUTPUT_NAME properties set.

The dependency and deploy settings generation has also been updated to
append the file contents to a string and then do a single file write
at the end.

Change-Id: Id3c5bd0428141ecaf962124a100390e3a4e41feb
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-08-30 12:10:26 +00:00
Simon Hausmann 84238ab321 Fix build with Emscripten
Don't try to build the ibus input context plugin when targeting
Emscripten, as there's no ibus there.

Change-Id: I949a09c4bacd3136b632e597dd8048653d0c0fea
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-08-30 08:37:19 +00:00
Leander Beernaert ff7101d6c8 Add Support for Android Bearer Jar
This is required to package an apk which depends on QtDelcarative.

Change-Id: I1f6bdeb984f08d73f010fb4210242e5c99f1969f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-08-27 16:04:30 +00:00
Leander Beernaert bf298499a0 Update public CMake macros' version
Update all public Qt macros to use qt6/QT6 instead of qt5/QT6.

Change-Id: Ib178f4fa21f37dfb8da7d4d8c097aa0e96c9d9f9
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-08-23 10:04:30 +00:00
Leander Beernaert 7a1853dbe2 Extract add_qt_resource into reusable components
This patch moves all of the underlying code for add_qt_resource
into a common reusable snippet for both the Qt build and user projects.

For users, the new API is available under QT5_ADD_RESOURCES. If
outfiles is a CMAKE target we will use the new API, otherwise
we will fall back to the old behavior.

This patch also adds EXTRA_CMAKE_FILES and EXTRA_CMAKE_INCLUDES to
add_qt_module so that module specific cmake files can be installed
and loaded by the module's config.cmake.

The code will be installed under CMAKE_BINARY_DIR/Qt{}CoreResource.cmake
and is injected into Qt{}Core_Config.cmake via the extra cmake includes
passed into add_qt_module.

To make sure it still works with QtBuild, we do the actual generation
of the file from QtBaseGlobalTargets and include the generated file
there as well.

Change-Id: I85fefaa11dde01a6790d23c62d6a64cd157e2617
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-08-22 09:47:01 +00:00
Leander Beernaert 37f82b8a97 Fix qmake build in developer builds
When building with developer builds, all targets are built with
warnings as errors. In CMake this also applies to the qmake build.

Change-Id: Ie62681d6c4756c106f5931a2a7d452a18dfa45f1
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-08-16 10:38:38 +00:00
Alexandru Croitor c7ec7cd2a1 Merge branch 'wip/qt6' into wip/cmake
Change-Id: I50ac36b8803c296998149e98cc61e38687cdd14b
2019-08-15 16:53:19 +02:00
Leander Beernaert 7fda42ef9a Rename alias property on source files to QT_RESOURCE_ALIAS
Rename the alias property used by add_qt_resource() to QT_RESOURCE_ALIAS
to match property naming conventions.

Change-Id: I97b12b0b794e158f03dabeed5ec23a3b7d56cfbb
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-08-15 09:34:09 +00:00
Simon Hausmann 95c27e325f Fix add_qt_resource behavior with regards to unspecified prefixes
This change makes the PREFIX parameter a required parameter if the
target does not specify a default. This way the behavior is clear when
reading the code: add_qt_resource() without PREFIX means it must come
frmo the target.

Change-Id: I79024e70e7b4d32a5164b93aa08ec9ff409b2d39
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
2019-08-09 11:50:11 +00:00
Lars Knoll 6f357f50b4 Merge remote-tracking branch 'origin/dev' into wip/qt6
Change-Id: Ib719a6249069e6bd6c9311bbec7f364855ab82ff
2019-08-06 12:24:37 +02:00
Thiago Macieira 3183e428a9 Mark QDBusError::ErrorType a Q_ENUM
Easier qDebugging.

Fixes: QTBUG-77183
Change-Id: Ife213d861bb14c1787e1fffd15b63a1f8d64cc30
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2019-08-05 20:41:51 -07:00
Thiago Macieira bbff70181f QTest: add toString(QBitArray)
Change-Id: Ife213d861bb14c1787e1fffd15b70598cda8baf3
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2019-08-05 09:29:27 -07:00
Sona Kurazyan 19a9d3517b Remove the unused includes for QSignalMapper
Change-Id: I13f19fadc7ad3fed8eb0a6718244cc8880e91be9
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2019-08-05 10:15:57 +02:00
Marc Mutz 2ab3af564c Thou Shalt Not Specialize std Function Templates
(or forward-declare std types)
(with apologies to Mr Walter Brown)

This applies the changes to our other smart pointers that
a0c4b6f345 applied to QSharedPointer,
with the same rationale: wg21.link/p0551.

It also fixes a fwd declaration of std::function, including
<functional> instead. Rationale: wg21.link/p684r0.

Change-Id: If275af91f6eac15eb418b200ac7d08ba084a6130
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2019-08-03 07:09:30 +03:00
Allan Sandfeld Jensen 05251bca1d Add an easier way to change colorspaces
Adds setters for transfer-functions and primaries.

This allows us to remove use of private QColorSpace API from the PNG
handler.

Change-Id: Ieeff81c813c253649500acd1e53f35247b872325
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2019-08-02 21:07:54 +02:00
Laszlo Agocs 092074f9df rhi: Add a note about size to newBuffer()
Also make sure the gl backend is consistent with the other three.

Change-Id: I2f6b783f5fa474c94ede460f5d7ac6fe8129a4f6
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2019-08-02 13:57:44 +02:00
Laszlo Agocs 804ddcfb17 rhi: gl: Add support for bool members in uniform blocks
Note that SPIRV-Cross does not translate 'bool' to GLSL versions
that do not have uint. So in practice we will still need to use
'int' instead in shaders that also target old GL versions.

Change-Id: I070f5414fe761796ab92937034b7182cdfb73a14
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2019-08-02 13:57:34 +02:00
Laszlo Agocs b4b2a066c0 rhi: Move info prints to categorized logging
Following the Quick scenegraph (qt.scenegraph.*), we now have
qt.rhi.general. Other categories may get added later.

This does not change the printing of real errors, those will
continue to use qWarning().

Change-Id: Id95416fc82ba8add9527212e431bcbd47d416f1a
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2019-08-02 13:57:19 +02:00
Allan Sandfeld Jensen 76c097c4d7 Improve our color space terminology
Replace our use of 'gamut' with 'primaries'. One is the axes of the
color space, the other the volume of representable values. For the
currently supported color spaces those are mostly equivalent, but when
we later add support for scRgb, this would be misleading as it has the
same primaries as sRGB but a much wider gamut, and we would like to use
the same primaries/"gamut" id for it.

Also few people would know what "the sRGB gamut" is, but
"the sRGB primaries" is easily googable.

Change-Id: I3348ccaae27a071ec77a4356331b9bbbf92e0d19
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-08-02 09:44:55 +02:00
Sona Kurazyan 1932754e90 Clean up documentation of deprecated APIs from QApplication
Build docs for deprecated APIs conditionally, based on deprecation
version. Remove the docs of methods deprecated since 5.0.0, these
methods are not compiled anymore.

Change-Id: If9302eecc8b3fff4a27c2e4a66ac102add7d66c5
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2019-08-01 19:04:19 +02:00
Sona Kurazyan 376715f1a5 Remove usages of deprecated APIs of qtbase/widgets
- Replace the usages of deprecated APIs by corresponding
  alternatives in the library code and documentation.

- Build docs for deprecated APIs conditionally, based on deprecation
  version. Remove the docs of methods deprecated since 5.0.0, these
  methods are not compiled anymore.

- Modify the tests to make them build when deprecated APIs disabled:
    * Make the the parts of the tests testing the deprecated APIs to
      be compiled conditionally, only when the corresponding methods
      are enabled.
    * If the test-case tests only the deprecated API, but not the
      corresponding replacement, add tests for the replacement

Task-number: QTBUG-76491
Task-number: QTBUG-76540
Task-number: QTBUG-76541
Change-Id: I6aaf0a1369c479fb880369a38f2b8e1e86b46934
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2019-08-01 17:04:13 +00:00
Sona Kurazyan b6688a4d49 Un-deprecate QSignalMapper
From the comments on QTBUG-73407 and the last comments on
29bcbeab90, it seems like there are still
use-cases when QSignalMapper is useful.

Change-Id: I8402286cb8a395a4601cda8a4cdda51f19aef073
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2019-08-01 17:00:35 +02:00
Friedemann Kleint f23f9ba041 QTestLib: Speed up QCOMPARE for QString
Add overloads for qCompare() for QStringView making use of the fast
formatting helper introduced by 94aa350621
for int.

Speeds up the bug report example by a factor of 3..4.

Task-number: QTBUG-38890
Change-Id: Icc706618b2f1d23b37d354a04d4e1d1cc4b5aee3
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2019-08-01 13:51:23 +02:00