Apparently qmake doesn't actually use the env var, but this failed
the WIP CMake Android configurations.
Amends e3600116b3
Change-Id: I30866af0eb63efefe72b709182f8cb5ba3250b12
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
In Qt 5 times, qmake was able to build libraries for multiple Android
ABIs in one build tree.
In Qt 6.0 + CMake we can't do that yet, which is tracked in
QTBUG-80943.
We still need to build and ship libraries for all the ABIs, so use the
old style approach of one configuration per ABI.
Add some of the missing ABIs for the Linux host case:
arm64-v8a, armeabi-v7a, x86.
The x86_64 ABI will be added in a separate change, due to a bug in
qtbase regarding Gui's qdrawhelper.cpp and avx2.
Because it's a lot of copy pasting, move the configs into a separate
yaml file so it's easier to search and replace in the future.
Task-number: QTBUG-86053
Change-Id: If8419ce20ac033b644c49c0bac70196cd30fd679
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Toni Saario <toni.saario@qt.io>
Now that we reuse host artifacts, there's no point in specifying host
configure arguments on target configurations, they aren't used.
Remove them to avoid confusion.
Change-Id: I176fe421bc36772cb29929c082ea76946210f98b
Reviewed-by: Toni Saario <toni.saario@qt.io>
Python installation is flaky and we haven't be able to determine the
root cause for it. Re-running the installation might help.
(Might) because we can't reproduce this manually.
Task-number: QTQAINFRA-3875
Change-Id: Id46d250a02e01007f03dfbb886d75b23c23a6216
Reviewed-by: Toni Saario <toni.saario@qt.io>
Add Squish for Web installation, update Squish license.
Pick-to:5.15
Change-Id: Id418830e82718afc20ac7390400342a6b0401a64
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
This reverts commit 59f141ec3c.
Reason for revert: Provisioning will continue even if python installation fails
Change-Id: Iaa0a48a2179c2198a32fb9a4feb55266cc64c396
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Print verbose, debugging and error messages to log in case of installer
failure.
Task-number: QTQAINFRA-3875
Change-Id: I2a701a655bd5e9b434011d3c68a2d8a31e119103
Reviewed-by: Toni Saario <toni.saario@qt.io>
Add a new Ubuntu 20.04 host to be used for the qemu configs.
We might be able to use the RHEL 7.6 host artifacts for qemu target
configs, but i'd rather we test on the same distro / OS for both
host and target.
Use the macOS host for iOS builds.
Task-number: QTBUG-85623
Change-Id: I6305f924b843a5a832bd94e5060211583c9c7f98
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Latest Windows 10 v2004 needs more sleep for msys2 installation so that
gpg-agent will be killed after the installation process is finished.
Otherwise the provisioning won't continue and it will fail to timeout.
Task-number: QTQAINFRA-3691
Change-Id: I8b214415e777845e9ff711c1de9b09553b715d92
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
These are missing from the initial patch:
716144073c
And currently block qtbase integrations.
Change-Id: Ife192aebf93b6344ff0341aed275ea2e104c6799
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>