Commit Graph

1046 Commits

Author SHA1 Message Date
Joerg Bornemann
a42797851e Remove deprecated configure argument from CI configs
The -no-qpa-platform-guard configure argument is deprecated and has no
effect.

Pick-to: 5.15
Change-Id: I132ccdf036c52baf54cf0c789fa063cc0455ce09
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-08-21 10:05:46 +02:00
Tony Sarajärvi
a509883207 Replace Ubuntu 18.04 with 20.04
Task-number: QTQAINFRA-3699
Change-Id: Id8c2bc2160d6805339c29961cec784d64c5f0c4d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-08-20 21:44:32 +00:00
Jędrzej Nowacki
015c86534c Enable use of sccache in the CI
The sccache may significantly reduce build times.
We need to evaluate real cases to see how much is to gain.

This patch enables sccache only on cmake, exluding one msvc target
with debug flag -Zi, which creates separate debug symbols.
Related sccache issue:
  https://github.com/mozilla/sccache/issues/242

Task-number: COIN-130
Done-with: Aapo Keskimolo <aapo.keskimolo@qt.io>
Change-Id: Ic1f599c5194bcdee9528a548dabead1097821cd1
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-08-19 12:59:16 +03:00
Heikki Halmet
ba4eb4929e Provisioning: Update Windows 10 x86_64 to version 2004
MSVC 2019 version 16.6.2
MSVC 2019 Build Tools version 16.6.2
Virtio driver
Virtio Balloon driver
NetKVM driver

Task-number: QTQAINFRA-3818
Task-number: QTQAINFRA-3817
Change-Id: Id0edee66d4eb42730a70495dbb063a0d379f026c
Reviewed-by: Toni Saario <toni.saario@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-08-18 04:35:50 +00:00
Jannis Voelker
ace639471b Enable CMake builds for Qt OPC UA
Change-Id: Id0762f82a1493163f253f4512f23e80a375b2093
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-08-10 08:35:38 +02:00
Alexandru Croitor
5c1792eb8d CMake: Enable CMake builds for qtmqtt
Change-Id: I7f47fea8a15751d8367747a32bc211e25524e376
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-08-06 14:17:36 +02:00
Jani Heikkinen
0d6b74083e Add 'Packaging' feature for mingGW build as well
We will ship pre-built binaries for minGW in Qt6 as well so add
packaging feature in it as well

Change-Id: I7b506fd0c8227cef478f461e02ae1d4549f0a507
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-08-05 12:55:41 +03:00
Alexandru Croitor
e1da3e7ee4 CMake: Add qemu armv7 qtsvg builds
Move the configuration from qtbase into a new
cmake_platforms_qemu.yaml file, and include it in qtbase and qtsvg.

Also enable CMAKE_AUTOGEN_VERBOSE to see what moc is being called
and with what parameters.

Task-number: QTBUG-83968
Change-Id: Ib893c6f8cb498b9b5c7da79218de22a28ffdb83f
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-07-27 11:16:48 +02:00
Alexandru Croitor
a97bdde4d4 CMake: fix tst_qtiff on MinGW
CMake is picking up libtiff from the provisioned Strawberry Perl location.
Specify -DFEATURE_system_tiff=OFF in the NON_QTBASE_CONFIGURE_ARGS to
disable usage of that library, and thus fix the crashing test.

Amends 4b4f0be08d

Task-number: QTBUG-84886
Change-Id: Iecc880d367db76e91f8c5f92b0849f1ad43382a3
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-07-13 15:57:07 +02:00
Alexandru Croitor
b2014f2eff CMake: Add non-qtbase configure argument placeholders
The qtbase Coin instructions will start reading the values of the
environment variables NON_QTBASE_CONFIGURE_ARGS and
NON_QTBASE_TARGET_CONFIGURE_ARGS.
These are used to pass configure args to repositories other
than qtbase to allow disabling certain features per-repo.

Unfortunately we have to explicitly set the env var values to empty
strings so that the instructions work correctly, otherwise Coin
replaces them with a '<no value>' token, which breaks the
CMake configuration phase.

For some reason the issue only happens on the Windows MSVC
configuration, but we set them for the other configurations as well
to avoid any future breakages.

Task-nunber: QTBUG-84886
Change-Id: I4b095f71c6e484a0e67a53eb6ea9d5ca4f2a6a0c
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-07-13 15:57:01 +02:00
Tony Sarajärvi
35b431cb9e Remove Windows 7 builds from Qt6
Task-number: QTQAINFRA-3750
Change-Id: Iea7ccca4695ce3f72547044ee2371c761f026eb4
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-07-07 12:05:14 +00:00
Oliver Wolff
dafcb7edb4 add cmake qtconnectivity
Change-Id: Ia9c3bf065b51aeea3cd789673103c609a362034c
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
2020-07-05 12:20:40 +00:00
Allan Sandfeld Jensen
a0cda005ef Update qtwebengine.yaml
Updated to match new default configurations.

Change-Id: I536454b5c3de4a4917cb8d1f0b391fbb20e6f8d1
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-07-02 10:42:53 +02:00
Alexandru Croitor
7d60bb1349 CMake: Enable CMake builds for qtremoteobjects
Change-Id: I597110ee3378ed46ce74a0ceb4bdb4d297c5f9bd
Reviewed-by: Simon Hausmann <hausmann@gmail.com>
2020-06-30 10:14:15 +02:00
Toni Saario
5fb198a159 Use same tier 2 template for all windows 10 targets
The cmake platform was not updated when other platform were updated
to use -17 image.

Change-Id: Ide69d7d6119f472529570960021de9f05e53d8bd
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2020-06-29 12:38:02 +03:00
Alexandru Croitor
36bd8972ad CMake: Build and run tests for qtbase on armv7 configuration
Remove the DisableTests feature to force the qtbase instructions
to build and run the tests.

Task-number: QTBUG-84423
Task-number: QTBUG-83968
Change-Id: Ic904c7b0f3d6d6ab8a546d683b0110b0704bf42c
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-06-25 17:16:55 +02:00
Alexandru Croitor
1f52b8f8e5 CMake: Change armv7 configuration to prepare for building tests
Switch the configuration to have release + developer-build similar
to the qmake configurations.

Add debug info for extra spiciness.

Specify a new env variable called QT_SYSROOT_FOR_RUNNING_TESTS which
will be used by the qtbase instructions to set QEMU_LD_PREFIX, which
is needed to run the tests via qemu.

Specify the QT_QUICK_BACKEND=software env var as well as the
GST_PLUGIN_SCANNER env var, because the qmake configurations do it.

Make sure to cross-build tools, because some of the tests like
tst_uic and tst_rcc expect the tools to be there.

Note that DisableTests feature is left on purpose, so we can decouple
the building from the testing in 2 different steps.

Task-number: QTBUG-84423
Task-number: QTBUG-83968
Change-Id: Icf6b12e6942c6ae6a0445eeac3f88704ca797148
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-06-25 17:16:53 +02:00
Alexandru Croitor
55c1953288 CMake: Switch the MinGW config to 64 bit and Windows 10
Change-Id: I45e60289bc508b5e82167d5c5be1e27506729833
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2020-06-25 13:25:38 +02:00
Cristian Adam
4b4f0be08d CMake: fix tst_qtiff, tst_qrawfont on MinGW x86
CMake was picking up libtiff and libfreetype from Strawberry Perl
MinGW distribution. By specifying -DFEATURE_system_tiff=OFF and
-DFEATURE_system_freetype=OFF we should fix these problems.

-DFEATURE_system_jpeg=OFF was also added, even though tests are
not failing.

Task-number: QTBUG-84886
Change-Id: I324304bfbf8fcdb2de04ad0481eca1c7534a3cfd
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-06-24 21:05:50 +02:00
Alexandru Croitor
4a0429a82f CMake: Use CMake configurations as packaging ones
Remove the "Packaging" feature from the qmake configurations in
qt5.yaml and default.yaml.
Note that "Packaging" configurations in other .yaml files are not
touched yet, because there are no CMake ports for those. These are
qdb.yaml, qtwebkit.yaml. qtwebengine.yaml, etc.

Assign the "Packaging" feature to the closest equivalent CMake
configurations we have.

MinGW is not tagged with Packaging for now, because a decision needs
to be made what will the Windows7 32 bit configuration be replaced
with.

At the moment, not every qmake configuration will have an equivalent
CMake configuraiton. As a result WebAssembly goes away as a
Packaging configuration for Qt 6.0.

Task-number: QTBUG-85047
Change-Id: I09b6956b6b9c7393b5e095f826d72e92b81594d0
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-06-17 15:44:17 +02:00
Laszlo Agocs
b5ab804efd Set QT_QUICK_BACKEND=software in QEMU configs
In Qt 6 things get more complicated because we have Vulkan, Metal and
D3D in addition to OpenGL. Qt Quick will only default to the software
backend when no graphics API was available at build time - and this
not true for the QEMU configs because the Ubuntu env has both OpenGL
and Vulkan headers, so they both are enabled, but are not usable at run
time. To simplify life, just state the Qt Quick backend we want the
tests run with.

Change-Id: I63cd9534bc8cd5d0568235bc2035f5613d29ced4
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-06-17 15:43:44 +02:00
Alexandru Croitor
ae1cf52b64 CMake: Add a Qt namespace build
Change the ubuntu developer build to a namespace build.
We need to have namespace build coverage in CMake configurations
like in the qmake ones.

Task-number: QTBUG-84881
Change-Id: I429a11486bd9a0c60a3d0423a9a41dc436f32f1e
Reviewed-by: Simon Hausmann <hausmann@gmail.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-06-16 18:04:02 +02:00
Toni Saario
0cc1973ba8 CMake: Deduplicate the cmake platforms
After Coin commit 60a6f795f5923c7c206b3fec4ebad991ce30d633 it is
possible to include other intermediate configuration files.

Create a new cmake_platforms.yaml file which will contain the default
list of platform configurations to be tested in all cmake-enabled
repos and qt5.git.

Task-number: QTBUG-85044
Change-Id: I10e4dff8793a1ffb5776e00dac80f43394d18578
Reviewed-by: Toni Saario <toni.saario@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-06-16 15:46:50 +02:00
Alexandru Croitor
6fd1d05b08 CMake: Align the CMake Packaging configurations with the qmake ones
For releasing purposes, we should align the configure arguments
(actually CMake arguments) of the Packaging configurations with the
ones we used for Qt 5.15.x releases.

In particular for linux builds this means disabling the use of a few
system libraries (a new one that needs to be disabled is
double-conversion, it was not provisioned for Qt 5.15.x builds, but
was installed for dev builds).

Apply the changes across all repos, to be consistent and build the
same for qt5.git and per-repo builds.

Task-number: QTBUG-85047
Change-Id: I784abc6367bcda574691758942f89257e891647e
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-06-16 09:57:53 +02:00
Mike Krus
5eb89fa898 Add Qt3D Coin config file
Change-Id: I65f7fc2bd972484e82e0479311a41b364ace908c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-06-13 20:41:54 +01:00
Alexandru Croitor
3b7da852e6 CMake: Fix a lot of failing tests on MinGW 32bit due to debug symbols
When building a RelWithDebInfo configuration, the debug symbols for
the libraries are embedded into the .dlls. This causes the file size
to be really big (around 400MB for libQt6Gui.dll). On a 32-bit system,
the Windows loader failed to map such big libraries into memory,
and thus certain tests failed with exit code 0xc0000017
which means STATUS_NO_MEMORY.

The solution is to enable the separate debug info feature, to split
the debug files into separate files, just making they dlls nice and
small.

This should fix quite a few of the failing MinGW 32-bit tests for
qtdeclarative, qtquickcontrols2, etc.

Task-number: QTBUG-84886
Change-Id: I10ae0acca5d7d5523d3ae2f0c49587ace239f301
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-06-12 19:28:53 +02:00
Alexandru Croitor
b4d6eed112 CMake: Replace all Windows configurations with Ninja Multi-Config
All the qmake MSVC Windows configurations are debug_and_release ones,
so the equivalent CMake configurations should be the same for all
repositories.

Task-number: QTBUG-80900
Task-number: QTBUG-84883
Change-Id: I083d7a355558666a5f66efdffb592f5e93705547
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-06-12 19:28:48 +02:00
Alexandru Croitor
849fe06871 CMake: Enable CMake builds for qtandroidextras
Everyone forgot to enable it after finishing the port.
We should enable it, so it's tested for per-repo integrations as well.

Task-number: QTBUG-78171
Change-Id: I8e024809b4ece5d0775817e072968b7162d7a38c
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-06-12 19:28:45 +02:00
Alexandru Croitor
7dd0a8c1d4 CMake: Fix qtcoap configuration to use simulator_and_device iOS builds
Just to be consistent with the rest of the files.

Amends 803eb987ad

Task-number: QTBUG-80899
Change-Id: I26212c5367da7b8bf14e4a7d46b96ffb82bf9aab
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-06-12 19:28:42 +02:00
Alexandru Croitor
32ccf2a0cd CMake: Enable qt5.git CMake top-level / super builds
Add simple instructions to only configure and not build top-level
builds, similar to what the qmake configurations do.

The CMake configurations need to be copy-pasted again into qt5.yaml.
We can't use default.yaml because that would enable CMake
configurations for repositories that are not ported to CMake, and
thus break the integrations.

Update qtqa sha1 to a dev branch one which contains the
module_config.yaml instructions to build qtqa with CMake.

Task-number: QTBUG-84874
Task-number: QTBUG-84918
Change-Id: I8c64f5e0acc96e14a4952abb6c77fe5c8e27a0ec
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-06-12 14:36:39 +02:00
Alexandru Croitor
803eb987ad CMake: Enable iOS simulator_and_device builds
Coin now has CMake 3.17, so iOS multi-arch builds should
successfully build.
Switch the iOS CMake configurations to simulator_and_device ones.

Task-number: QTBUG-80899
Change-Id: I9c8bde9f1a3c483ea296f3d9d06f089cbfdf2416
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-06-12 14:36:38 +02:00
Alexandru Croitor
25f154199a CMake: Enable CMake builds for qtcoap
Change-Id: I89bc9162203069a61367763b0b9a482a96da87e0
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
2020-06-12 13:59:48 +02:00
Liang Qi
37cb787dc1 Temporarily remove two broken platforms in qt5.yaml
We can re-add them later when issue got fixed.

Task-number: QTBUG-84924
Task-number: QTBUG-84925
Change-Id: I2545e5fe03fd44a6016305723b57db8c0d6e9470
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-06-12 00:22:27 +02:00
Alexandru Croitor
947802bea3 Revert "Revert "CMake: Enable CMake builds for qtqa""
There's a new dev branch for qtqa, so we can re-enable CMake builds
of qtqa using that branch, without breaking builds of other branches.

This reverts commit 33e8275ee5.

Task-number: QTBUG-84233
Change-Id: I1e4ca39717768303eca8435d175aa562fcd6f0f5
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-06-11 12:08:06 +02:00
Allan Sandfeld Jensen
a0ea975b98 Remove SLES configuration
Mostly duplicate anyway, and not currently possible to install node.js
on.

Change-Id: I23a81ddb45b0597f31b1402e362f83957b5be8ae
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-06-08 11:00:58 +02:00
Liang Qi
a4b68d6b7d Set Boot2Qt arm builds to release and developer build
Task-number: QTBUG-63152
Change-Id: Id6f2411d6339b7bd1ccb261cf5d9bebe1d0ada1c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-06-04 14:35:23 +02:00
Alexandru Croitor
33e8275ee5 Revert "CMake: Enable CMake builds for qtqa"
Revert the change because the qtqa instructions have been
temporarily removed to unblock other branches.

This reverts commit a10584e57c.

Change-Id: I76646026b099d3b039eec6cdaecfbbce6df43aa2
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-06-04 10:13:24 +02:00
Tony Sarajärvi
4c7fe602cb Fix compiler mentioned for host tool building in RHEL
This is only a cosmetic fix. That value is not used anywhere anymore.

Task-number: QTQAINFRA-3757
Change-Id: Iabba6202e7ddbb08e58901a591ba0171e8dd1fc9
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-06-04 06:51:45 +00:00
Alexandru Croitor
a10584e57c CMake: Enable CMake builds for qtqa
Only includes one MinGW configuration, to mirror what Coin does
with the qmake builds of qtqa.

Switching the Coin instructions to do license checking and binary
compatibility testing using CMake will require a different change.
Most likely this change will have to wait until all of qt5.git/dev
is moved to use yaml instructions for building, rather than the
hardcoded instructions provided by Coin.

Besides, the binary compatibility test still depends on finding
qmake to run its test, which might have to be changed in the future.

Task-number: QTBUG-84233
Change-Id: I5ab7120e965f7729968697abf9e0db602c216cd9
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-06-02 21:19:42 +02:00
Alexandru Croitor
91a164b838 CMake: Enable CMake builds for qtquicktimeline
Task-number: QTBUG-82967
Change-Id: I94324d4ef7d9d393e06a04e2eb1bfb0f9caab971
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-06-02 14:49:21 +02:00
Tony Sarajärvi
b0d9b22f53 Combine two macOS targets that are nearly the same
Change-Id: I1c094f02d1cee059272680941b355e4fb2bbdd31
Reviewed-by: Johanna Äijälä <johanna.aijala@qt.io>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2020-05-29 09:21:21 +00:00
Joerg Bornemann
4d99fb00cc Fix CMake provisioning for Ubuntu 18.04 x86_64 QEMU armv7
This amends 68134db4.

Change-Id: I2eed240464f1b29c119ca0119001997aefdecd41
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2020-05-27 08:06:16 +02:00
Alexandru Croitor
0685312d2e CMake: Add MinGW config to all cmake enabled repositories
Task-number: QTBUG-75578
Change-Id: I4957efff9f3438c85f9e653130898d4b60a555ba
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-05-25 21:04:48 +02:00
Alexandru Croitor
5cd8e9576d CMake: Switch qtbase Windows config to use Ninja Multi-Config
And configure with two configurations, RelWithDebInfo and Debug.
This is equivalent to qmake's
--debug-and-release --force-debug-info

This should give us minimal coverage for debug-and-release builds,
as well as avoid regressions with NMC aka multiple configurations.

If the qtbase builds successfully, we can try to extend the rest of
the repositories to also build with NMC on Windows.

We can't add such a configuration to macOS for now, because it
requires CMake 3.18, which is not released yet.

Disable PCH because it seems to fail the build when used together
with Ninja Multi-Config.

Task-number: QTBUG-80900
Change-Id: I71a9584ddb1d48ed22925f67b50891e102036c97
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-05-25 13:41:38 +02:00
Alexandru Croitor
afc08c23ca CMake: Enable CMake builds for qttranslations
Fixes: QTBUG-82969
Change-Id: I17e7df82f578338d6c1e3dbc41677d4302d9689b
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-05-20 14:48:59 +02:00
Alexandru Croitor
71a559e748 CMake: Enable CMake builds for qtdoc
Change-Id: Idca63aef8951a4a104b816e4aac710225d1279c2
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-05-14 13:25:23 +02:00
Lars Knoll
688187773b Explicitly enable -headersclean on some configs
This is in preparation to turning this off by default in configure,
as it increases build times significantly.

Change-Id: I2d601595ce8c093765194f36ec5235f79dd4dd7d
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-05-13 22:17:58 +02:00
Alexandru Croitor
e4d60dd117 CMake: Enable CMake builds for qtvirtualkeyboard
Task-number: QTBUG-78185
Change-Id: Ie8a120aa3425edf6ae18f4a43dcd3f6aa697cd9f
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-05-12 13:18:00 +02:00
Alexandru Croitor
29c9ba1835 CMake: Switch to MinGW 8.1 configuration for the qtbase CMake build
Change-Id: I974d34a33370ece9f9e240ba6e5106cc50d8bf84
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-05-12 13:02:52 +02:00
Alexandru Croitor
9f4a39356a CMake: Switch host macOS configurations to framework release builds
Also include debug info. This is the equivalent of qmake's
--release --framework --force-debug-info --separate-debug-info

Change-Id: I2778b4998890146c82552f9c721a48174a764839
Reviewed-by: Simon Hausmann <hausmann@gmail.com>
2020-05-04 22:50:17 +02:00