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>
Updated to match new default configurations.
Change-Id: I536454b5c3de4a4917cb8d1f0b391fbb20e6f8d1
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>