Commit Graph

4179 Commits

Author SHA1 Message Date
Alexandru Croitor
177b0b0ea4 CMake: Update provisioned CMake version to 3.17.4
This CMake version among other things, fixes a bug with
Ninja Multi-Config writing into the same response file
on Windows, which can cause wrong libraries to be linked
(mixing Debug and Release libs).

Also disable PCH for iOS configs, because that seems to be broken
again.

We can't upgrade to 3.18.2 because that breaks iOS PCH in a different
way than 3.17.4, and because of an AUTOMOC regression introduced when
using Ninja Multi-Config.

Fixes: QTBUG-85586
Change-Id: I04c08d3a8bfb88433f2d50f4d41d11fc0df3d7ec
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-08-21 17:45:48 +02:00
Tony Sarajärvi
716144073c Mark some Ubuntu 20.04 confs as Insignificant due to failing tests
Task-number: QTBUG-86187
Change-Id: I5354cc6a9ca3970c1dffe6bef97996e5aba5e09b
Reviewed-by: Toni Saario <toni.saario@qt.io>
2020-08-21 11:32:29 +00:00
Alexandru Croitor
d44a1dafcc CMake: Add configuration flags to build sql plugins
Add various CMake configuration flags to enable building of the same
sql plugins that the qmake configurations do.

While qmake has various introspection mechanisms for finding plugins
inside
qtbase/src/plugins/sqldrivers/configure.json and configure.pri,
in CMake-land we sometimes need to be explicit and pass 3rd party lib
paths, so that the FindFoo.cmake modules successfully find the
libraries.
Sometimes it's not necessary because the find modules also do some
introspection in default paths like looking /usr on Linux, or
'C:\Program Files' on Windows.

While some qmake configs provide mysql path hints (like on Windows),
the plugin is actually disabled on purpose due to licensing issues
as per a05bd71ede and QTBUG-76081.

Also the qmake configs specifying arguments like -plugin-sql-sqlite
and -plugin-sql-odbc is redundant. These switches force enable the
corresponding features in src/plugins/sqldrivers/configure.json,
but it's actually not necessary because all the features (except
system sqlite3) are auto-detected and enabled if the actual 3rd party
library is found. The same is the case for the CMake build, so there's
no need to manually enable the features.

While the qmake qemu configs don't explicitly disable the mysql plugin
and actually provide a Yocto SDK mysql path via -mysql_config,
the library does not end up being found. It's unclear whether this is
a bug (despite the licensing issue mentioned above) or on purpose.
But the CMake build doesn't find it either, so it's consistent.

And I suppose -psql_config /dev/null is meant to disable the
postgresql plugin on QEMU configs. The QEMU CMake build doesn't find
the postgresql library by default anyway, so the result is also
consistent.

Sql plugins built per packaging config:

macOS: odbc, postgres, bundled sqlite
RHEL: odbc, postgres, bundled sqlite
Win10 MSVC x64: odbc, postgres, bundled sqlite
Win10 MinGW x64: odbc, postgres, bundled sqlite
Android any arch: bundled sqlite
iOS: bundled sqlite
QEMU any arch: bundled sqlite

Task-number: QTBUG-86053
Change-Id: Ic759eb29fc5350cbdfe2825817af74767c4fb12a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-08-21 10:05:46 +02:00
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
Heikki Halmet
c1b06ec3e5 Provisioning: Renew iPhone signing tools
Task-number: QTQAINFRA-3434
Change-Id: I53665bf4e0799da7a23ba60aff37e26052d0374a
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
2020-08-14 09:39:03 +03:00
Jani Heikkinen
202e189233 Adjust Qt6.0.0 modules
Statuses etc are based on https://wiki.qt.io/Checklist_for_Qt_6.0_inclusion

Change-Id: If59d26cd2e9f381bef81308292675c5300672c25
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-08-13 15:53:01 +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
Heikki Halmet
163c23f97c Provisioning: Upgrade GCC version from 9.2 to 9.3
Task-number: QTQAINFRA-3858
Change-Id: I5266162d1c144b117e3a61988f3348f2cd3d3c0a
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2020-08-07 08:29:30 +03: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
Simo Fält
969acbce6e Provisioning: Fix PYTHON3_WHEEL_CACHE pointing to wrong dir
Earlier we set the env variable point to latest Python install. It
did work by accident, while the default python was installed as last.
Now each python install has its own matching ENV variable that can
be used buildtime. The PYTHON3_WHEEL_CACHE will now point to 64 bit
default Python3, while the variable is already used in Qt codebase.

Pick-to: 5.15
Change-Id: I6a67936c06ed0209ef9e903120f2416aaa8eb3ff
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2020-07-30 21:27:48 +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
Toni Saario
3271bb2fe2 Provisioning: Add delay after network setting change
In many cases without waiting, next script would be missing network
and fails.

Pick-to: 5.15
Change-Id: Iab50945716860618b495029ce179183d844dc98a
Reviewed-by: Simo Fält <simo.falt@qt.io>
2020-07-22 05:33:26 +00:00
Simo Fält
bdea3c8164 Provisioning: Fix Python3 install in 32 bit win10
There is no 32 bit win10 configurations in CI, so we do not verify
any of the provisioning changes on it.

Pick-to: 5.15
Change-Id: I1c1e183908ffb09be4e2992ccbd1da7af2640181
Reviewed-by: Toni Saario <toni.saario@qt.io>
2020-07-21 09:43:32 +03:00
Simo Fält
607b33aab2 Provisioning: Install Python 3.8 for testing Qt for Python
This installs Python 3.8.1 to be used with Qt for Python. It keeps
the old 3.6 as a default python3.

Pick-to: 5.15
Change-Id: I8ea121514f6a4092f700688363c282cbea37a75b
Reviewed-by: Toni Saario <toni.saario@qt.io>
2020-07-16 10:10:23 +03: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
Qt Submodule Update Bot
331fa17a71 Update submodules on 'dev' in qt/qt5
Change-Id: Ieb8a21e50924f8eed9bcecddf37fd3c4a8696c64
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2020-07-04 15:11:41 +03:00
Qt Submodule Update Bot
549b594549 Update submodules on 'dev' in qt/qt5
Change-Id: I90b87267ff456c536e188ca61132f06adcac9117
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2020-07-03 13:09:18 +03:00
Liang Qi
10cc4b07cb Merge "Merge remote-tracking branch 'origin/5.15' into dev" 2020-07-02 11:34:45 +02:00
Liang Qi
029cabb729 Merge remote-tracking branch 'origin/5.15' into dev
Conflicts:
	coin/platform_configs/default.yaml
	coin/platform_configs/qt5.yaml
	coin/provisioning/qtci-linux-SLES-15-x86_64/02-zypperpackages.sh

Change-Id: I57f8a62c4f146cd1eda26885ce1507c072cb107f
2020-07-02 11:22:30 +02: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
Qt Submodule Update Bot
67ff8eb958 Update submodules on 'dev' in qt/qt5
Change-Id: Ia30e89934e7d8cc7f7bdb5af6180bba8a8d5f10f
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2020-07-02 00:00:53 +03: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
Heikki Halmet
7143d018dc Provisioning: Update OpenSSL to version 1.1.1g
Task-number: QTQAINFRA-3819
Change-Id: Ie7d0f3a0c73d123c3f3536e6b2dd2eb8608eb9cd
(cherry picked from commit 2ac3dd2d6f)
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2020-06-30 07:00:46 +00: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
Tony Sarajärvi
75ae2c8579 Disable LSO from the network adapters on Windows
Disabling LSO from the adapter gives us huge performance boosts
on Windows. In our tests 2 VMs within the same hosts had transfer
speeds of 30 Mbit/s with this enabled, and 2Gbit/s with this disabled.

Change-Id: Id794e7559c9e9005043361289a3db246a8528dd4
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
(cherry picked from commit 97aa7a0031)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2020-06-29 05:21:35 +00:00
Qt Submodule Update Bot
e40b12af18 Update submodules on 'dev' in qt/qt5
Change-Id: I195fa0ce77f1dd176c74cdf7d8b34f88fd8def42
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2020-06-26 18:41:30 +03:00
Tony Sarajärvi
97aa7a0031 Disable LSO from the network adapters on Windows
Disabling LSO from the adapter gives us huge performance boosts
on Windows. In our tests 2 VMs within the same hosts had transfer
speeds of 30 Mbit/s with this enabled, and 2Gbit/s with this disabled.

Pick-to: 5.15
Pick-to: 5.12
Change-Id: Id794e7559c9e9005043361289a3db246a8528dd4
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2020-06-26 10:22:54 +00: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
Heikki Halmet
2ac3dd2d6f Provisioning: Update OpenSSL to version 1.1.1g
Pick-to: 5.15
Pick-to: 5.12
Task-number: QTQAINFRA-3819
Change-Id: Ie7d0f3a0c73d123c3f3536e6b2dd2eb8608eb9cd
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2020-06-23 06:36:38 +00:00
Qt Submodule Update Bot
cd021169a1 Update submodules on '5.15' in qt/qt5
Change-Id: I23e14120044d3d165bdd6fb516b207471c090faf
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2020-06-22 23:46:29 +02:00
Qt Submodule Update Bot
bc437dd773 Update submodules on '5.15' in qt/qt5
Change-Id: Ic137eafef1116252f2ed4317463713b9bdfd9d67
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2020-06-20 23:47:34 +02:00
Qt Submodule Update Bot
1095b1abc6 Update submodules on '5.15' in qt/qt5
Change-Id: I136877d3881f9288086f4ef34a8768ca4333adf3
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2020-06-19 23:46:35 +02:00
Qt Submodule Update Bot
de3cffca04 Update submodules on '5.15' in qt/qt5
Change-Id: Ia61caaf7838df31baa1ed53abce2de3f4d514b05
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2020-06-19 11:02:41 +02:00
Alexandru Croitor
43b7a3693e CMake: Fix parsing of .gitmodules to be more robust
Fix empty lines in .gitmodules, rather than failing to configure
with an error message that the line is malformed.

Quote all relevant values, to avoid errors that string REGEX does
not have enough arguments in cases when the parsed content is
malformed.

Remove some dead code.

Change-Id: I300a76f82fe174290442c659ca2e84391db361a1
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-06-18 12:57:51 +02:00
Qt Submodule Update Bot
ac489d92a3 Update submodules on '5.15' in qt/qt5
Change-Id: I2c3da4ef65c9a669a54ada33c2760f541585fd8d
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2020-06-17 23:46:52 +02:00
Qt Submodule Update Bot
da578e2b17 Update submodules on '5.15' in qt/qt5
Change-Id: I276a28fe36ae88d770bd8385810a17149ac7f6ee
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2020-06-17 19:29:47 +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
Alexandru Croitor
349bd02173 CMake: Update instruction file to accept cross-compiling configs
This is needed for consistency.

Previously if you scheduled a test build for a qt5.git change, the
cmake cross compiling configurations would not appear and not be
tested.

But when staging the change, each repo WOULD start building the
cross-compiling configurations, except for the qt5.git top-level
builds.

The current change will make sure that configurations is done both
during scheduled test builds and actual staged builds.

Change-Id: Ia2cbb08cee97414c39287a2ab9ff8d312dcd813a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Liang Qi <liang.qi@qt.io>
2020-06-16 15:46:53 +02:00