Sometimes items are locked by some windows process so that they can't be
removed. This will fail provisioning instantly.
Let's give the removing process more time by retrying if it will fail
on first attempt
Change-Id: Ic5c16c0d920ed0625d0c6830323d0bc6ba2cd608
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
We want to be able to build qdoc and lupdate on MSVC with
Ninja Multi-Config.
Task-number: QTBUG-85411
Task-number: QTBUG-88139
Task-number: QTBUG-87315
Change-Id: I53b705535981b67c817f4d49d435e8f2a0553f74
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
This version should fix the iOS PCH builds and Ninja Multi-Config,
as well as the issues with AUTOMOC and Ninja.
Temporarily explicitly disable the pkg_config feature on Windows
hosts, because otherwise the configuration will break. The
FindPkgConfig module in 3.18 has some additional behavior for checking
if the found pkg-config works, and that's not handled by our
qt_build_internals_disable_pkg_config_if_needed function in qtbase.
Fixes: QTBUG-86862
Change-Id: I80514d3d7896ae09ab252aed10e86725fae0cc9c
Reviewed-by: Toni Saario <toni.saario@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>
This should fix the ninja deps issue we had on Windows with the
Ninja Multi-Config generator, where calling ninja a second time to
rebuild the project failed.
More details at https://gitlab.kitware.com/cmake/cmake/-/issues/20723
Change-Id: I0029e57fbc704120d2241499a87cad0ad40c2e50
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
We want to test debug_and_release builds with CMake as soon
as possible.
Change-Id: I7d4c0a4e33adc26129844ff34ea8df6b149e184f
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Update required as there's a bug with setting the CXX_STANDARD on
android. Updating to this version fixes the issue.
Change-Id: I50b0bc2941e0919232b46bbf5b28133149878649
Reviewed-by: Liang Qi <liang.qi@qt.io>
It amends a6d159c9e7. Seems that I
computed sha1 for a wrong file.
Change-Id: Ie524b2c825189a91cd6b809ff7991af20bd301b1
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
Previously all files got downloaded to a hardcoded path, including the
username for the CI machines. Usually, it does not fit the username of a
local development machine, complicating to reproduce bugs.
Introduce Get-(Default)DownloadLocation functions in helpers to
specify the default download location. This helps to run the
provisioning scripts on a local machine.
Change-Id: I761a92bf5e3e774358756a95dddb9a5d6ee54db9
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
The builtin way of Windows for handling zip files is much slower than
using 7zip. A small benchmark (not representative, just extracting the
android ndk) showed 11 minutes using Extract-Zip vs 2,5 minutes using
Extract-7Zip on my machine.
Change-Id: I5198aabb5b75860ead687581fc5e368eb75e48ae
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
While Coin should also see exit codes != 0 as error, we should
stick to one way of handling script errors. As Power Shell cmdlets
signal an error by throwing an exception we should do the same
(and that approach also works in Coin).
Additionally extracting 7zip files was unified across scripts by
using the existing helper function instead of reinventing the wheel
again and again.
A similar helper function was introduced for starting an external
application (and handling its errors).
Also echo and other "cmd" commands were replaced by their PowerShell
equivalents to have a unified approach across our Windows provisioning
scripts.
Change-Id: I70129ce38692f1396c33c13b33a2918485fa5271
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
This change will split common folder to four different folders:
Linux, Unix, Windows and MacOS. Each of these folders includes scripts
which are common for their operating system familes
Task-number: QTQAINFRA-1451
Change-Id: Ic93b2183052335dee875d1452b21e38d268b6474
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>