Compare commits

..

333 Commits
6.7.2 ... 6.8.0

Author SHA1 Message Date
Qt Submodule Update Bot
0c20a491c1 Update submodules on '6.8.0 in qt/qt5'
Change-Id: Id5147c9f3ed485a435a1a36cc70a503745c20407
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-10-02 20:45:54 +00:00
Qt Submodule Update Bot
2c1f932497 Update submodules on '6.8.0 in qt/qt5'
Change-Id: I39c23ef88c82479a0a01c999fa5cc9966d877a6d
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-09-30 09:21:56 +00:00
Liang Qi
4c7b2b6dad Provisioning: Install libicu to /usr/local on Ubuntu 24.04 arm64
This amends 86a9bd1bb2 .

Task-number: QTQAINFRA-6510
Task-number: QTBUG-129422
Change-Id: I7ffa5c23dda20fbe3a32e302adc20d2b8e41f52f
Reviewed-by: Liang Qi <liang.qi@qt.io>
2024-09-27 12:00:50 +00:00
Qt Submodule Update Bot
ef9a5d70e6 Update submodules on '6.8.0 in qt/qt5'
Change-Id: I831f0353843f4fe1b407b1443cd361a9059ed0de
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-09-27 05:22:45 +00:00
Qt Submodule Update Bot
563eed7da3 Update submodules on '6.8.0 in qt/qt5'
Change-Id: I764e341b3e3c0c454fcd71304d331ff4b7fa4989
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-09-26 01:45:25 +00:00
Liang Qi
432eb5f687 add support for ffmpeg on Ubuntu 24.04 arm64
This follows
* 5a79cf9168 adding 90-install-ffmpeg.sh
* 83adc86c53 patchelf and -DQT_DEPLOY_FFMPEG=TRUE

Task-number: QTBUG-126289
Change-Id: I15300c5be750a784490d1e6cce935aeb423609ab
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 522ac7fd76)
Reviewed-by: Liang Qi <liang.qi@qt.io>
2024-09-23 05:05:29 +00:00
Qt Submodule Update Bot
632f3ae15c Update submodules on '6.8.0 in qt/qt5'
Change-Id: Ic978de6a65bdfabc1c5d42e7bb828cf4f964286f
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-09-19 22:18:31 +00:00
Liang Qi
f43651e4d8 platform_configs: try to use lld linker on u24.04 arm64
Task-number: QTBUG-128887
Change-Id: I952f51560d5f01cc6093cd416c6ee49b9de7c922
Reviewed-by: Liang Qi <liang.qi@qt.io>
2024-09-14 09:49:36 +02:00
Liang Qi
5d95de4451 Ubuntu 24.04 arm64: enable the usage of sccache
Change-Id: If5c615ccadcf1c5e6e2dac5efdff8c65938f5c25
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 0e210958e6)
Reviewed-by: Liang Qi <liang.qi@qt.io>
2024-09-14 09:49:35 +02:00
Qt Submodule Update Bot
ef7f387bc0 Update submodules on '6.8.0 in qt/qt5'
Change-Id: Ib3d29883be5a961a35e84696572a38182d080e13
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-09-14 07:49:34 +00:00
Tero Heikkinen
a521c4d920 Provisioning: Install nodejs to Ubuntu 24.04 arm64
Fixes: QTQAINFRA-6509
Fixes: QTBUG-128842
Change-Id: I91bfbb24dadaf74707496ed1167de684b2f9dd61
Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
2024-09-14 09:49:31 +02:00
Liang Qi
6cc4ed9a9b sccache: Add arm linux support
Change-Id: I630cdc7bbff320c6ca8e17b33f0e9fc05f6a63af
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
(cherry picked from commit cad194524e)
2024-09-14 09:49:30 +02:00
Jani Heikkinen
63fdac3852 Adjust submodule branches
Change-Id: I60201cae57ae813b4f622eb1e9500b7864985c51
2024-09-11 05:55:55 +01:00
Fredrik Ålund
f9f017bf5a Update Mimer SQL macOS binaries
The Mimer SQL macOS binaries had a problem fixed in version
11.0.8E. Update provisioning script with new version. Since Mimer SQL
on macOS is now universal binary only, remove the arm64 and x86_64
versions.

Fixes: QTQAINFRA-6559
Change-Id: I7e202ffc945167db79430846571cd7e1bb5158f6
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit 90308d841e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-09-10 11:11:16 +00:00
Qt Submodule Update Bot
852ea47350 Update submodules on '6.8 in qt/qt5'
Change-Id: I3e0a4857cedbf2eecc5685691b0933f7b1639d97
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-09-10 08:48:15 +00:00
Alexey Edelev
72a4842796 Add the missing provisioning of protobuf on the Ubuntu 24.04 aarch64 machine
Fixes: QTBUG-128285
Change-Id: I2b0cd6098fdbcfb07d5210316d95749557970d07
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2024-09-09 05:11:03 +00:00
Jani Heikkinen
0da50b7562 Move static test build from msvc2019 to msvc2022
It has been agreed to drop MSVC2019 support from Qt 6.8 -> so let's drop
that last build from dev and 6.8.

See https://lists.qt-project.org/pipermail/development/2024-April/045178.html

Change-Id: Iba32a6372cd0dfff6de2866be8dd08b8e2f14896
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
(cherry picked from commit e13bea5189)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-09-09 05:10:56 +00:00
Eike Ziller
5b09ad616e COIN/QtCreator: Use MSVC2022
Change-Id: I6b2c14fdcb7e7f536489b840dee02282c4d2be77
Reviewed-by: David Schulz <david.schulz@qt.io>
(cherry picked from commit 2dc7eaf911)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-09-06 12:31:26 +00:00
Qt Submodule Update Bot
b02cca2418 Update submodules on '6.8 in qt/qt5'
Change-Id: I787e942ab321d647acc932899f930ba96d786115
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-09-06 09:17:11 +00:00
Tero Heikkinen
15179451a1 Provisioning: Add ICU to Ubuntu 24.04 arm64
Fixes: QTQAINFRA-6510
Change-Id: Ia6aed07afe9b69ca109d95945faa87c1424f557b
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 86a9bd1bb2)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-09-05 20:12:28 +00:00
Alexandru Croitor
cc79b9ec5d CMake: Generate SBOM for more platforms tagged with Packaging
Amends 3017e86d54
Amends 562b56c8d7

Task-number: QTBUG-122899
Task-number: QTBUG-127335
Change-Id: Ibad8957c4bc90d26f9f2f3ffe543ca243f72eb9b
Reviewed-by:  Alexey Edelev <alexey.edelev@qt.io>
(cherry picked from commit 2cf7569504)
Reviewed-by:  Alexey Edelev <alexey.edelev@qt.io>
2024-09-05 12:48:31 +02:00
Liang Qi
e7345107cb platform_configs: remove qtbase-linux-arm64-offscreen.yaml
We have u2404 arm64 offscreen tested in qt5 since
420b779335.

Change-Id: Ibbb7d275d4abe4fc73646747939b2361c5317b26
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit dd2f96bcee)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-09-05 12:48:25 +02:00
Liang Qi
7562d37e66 platform_configs: remove a few configs in qtwayland.yaml
Since Dec. 2022, qtwayland.yaml was included in qt5 integration,
which has too many InsignificantTests configs, let's remove some.

Change-Id: I7893578797895704bbb8d3ad05070816e30f4678
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 262a798cdb)
Reviewed-by: Liang Qi <liang.qi@qt.io>
2024-09-05 12:48:21 +02:00
Tero Heikkinen
e4defad5e2 Provisioning: Build FFmpeg for Windows ARM64 in ARM64 host
Install msys2 and FFmpeg for QtMultimedia plugin

Task-number: QTBUG-124399
Pick-to: 6.7
Change-Id: Ied2bc1039d9571611666530850c525c35c170c69
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 88ce036073)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-09-05 10:48:07 +00:00
Jani Heikkinen
a24acb5375 Restore WoA cross-compile build
Task-number: QTBUG-128554
Change-Id: I53cd170a1f63299dee0d59ddb92f38e30d214043
Reviewed-by: Simo Fält <simo.falt@qt.io>
2024-09-04 05:07:56 +00:00
Liang Qi
ccca79aa5e platform_configs: drop 3 tests configs on debian-11 arm64
Change-Id: Ie9981ec2760780779a328370acb81fdb664e71a1
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
(cherry picked from commit a32af8a106)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-08-30 19:30:11 +00:00
Liang Qi
9bc2004e5c platform_configs: remove InsignificantTests for u2404 arm64 offscreen
Change-Id: I9c92566f59e3e6b651c86c5652b6acf12e2b74eb
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
(cherry picked from commit 420b779335)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-08-30 19:30:09 +00:00
Liang Qi
e171873514 platform_configs: move QtLite to Ubuntu 24.04 arm64
Change-Id: I447116f31f0f555d2ee41ae2f32332da07353c37
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Jari Helaakoski <jari.helaakoski@qt.io>
(cherry picked from commit b153b3860e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-08-29 18:58:21 +00:00
Tor Arne Vestbø
6a340438f8 coin: Add kTCCServiceScreenCapture permission to ssh/bootstrap-agent
The screen capture permission might be useful for Qt Multimedia, and
also allows us to do screen capturing of the state of the VM in case
of test failures.

For macOS 15 we need to work around the monthly nagging that an
app has permission to capture the screen, otherwise this popup
may interfere with test runs.

Change-Id: I0398488c78b19a85ba527b780b264e0b915b6024
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
(cherry picked from commit 3a5f7bb8d8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-08-28 18:50:30 +00:00
Tor Arne Vestbø
8f7410b202 coin: Extend TCC permissions to SSH server and bundled boostrap agent
We are experimenting with various ways of running and packaging the
bootstrap agent. To support this, let's add the required permissions
to both a standalone bootstrap-agent executable, as well as an app
bundled version of it, if found.

In addition, add the permissions to sshd-keygen-wrapper, which is
the responsible process for the SSH server, and any ssh login
sessions spawned by that. This serves two purposes. Firstly, this
matches the permissions between a coin run (by the bootstrap agent)
and what a developer will see when SSH'ing into the CI machine to
debug an issue. Secondly, we might use ssh as an entrypoint to
run the bootstrap-agent, in which case we need the permissions
on sshd-keygen-wrapper anyways, so that they are inherited by
the bootstrap-agent.

Change-Id: I576349e93ca19d98384490c99102966e8ffe2833
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
(cherry picked from commit 5368f47fe0)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-08-28 18:50:28 +00:00
Johanna Äijälä
0e0732df1d Provisioning: Update Squish 8.0.0
Add Squish provisioning to linux on arm and windows on arm machines
also.

Pick-to: 6.7
Change-Id: I52f0e8fc4931efd7c7fcf36c555cbae76e2f347b
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 29194b8803)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-08-28 18:50:12 +00:00
Jukka Jokiniva
3974ea45d2 Make build phase blocking for qemu-arm64/arm7-developer-builds
Task-number: QTQAINFRA-6266
Change-Id: I3a7fc89518e71d0bf580a6abd6876b7b1d292a16
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 86529cd5bc)
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2024-08-28 20:49:59 +02:00
Alexandru Croitor
9d623692a8 CMake: Provision llvm-mingw for latest Windowss 11 23H2 image
It was previously missed, and thus qdoc wasn't built for the
windows-11_23H2-llvm Packaging configuration.

Amends 9975595a5e

Pick-to: 6.7
Fixes: QTBUG-121548
Task-number: QTBUG-111580
Change-Id: I1142b593f36c8366ceaeac91eba81e16f1a2557d
Reviewed-by:  Alexey Edelev <alexey.edelev@qt.io>
(cherry picked from commit 8aa15db27f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-08-28 18:49:53 +00:00
Liang Qi
52322049be coin: force qtbase tests for offscreen on linux arm64
Task-number: QTQAINFRA-6112
Task-number: QTBUG-125446
Change-Id: Id88e0b7717fdbd86fc001809073c491aaa669d61
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
(cherry picked from commit 18be2625a0)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-08-28 20:49:47 +02:00
Liang Qi
1e38bd21bd platform_configs: drop the offscreen documentation build
We still have one offscreen build(non-dev).

Change-Id: Ib0a4314387bc4388e75cb6dc65c220e167980805
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit a9b9ebd2de)
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2024-08-27 20:44:37 +02:00
Liang Qi
8910e90705 Install patchelf in Ubuntu 24.04 x64
This amends ac2a19ab7e .

Change-Id: I5124eb5f5860bab7e76689ea84ffb5d284b6eef8
Reviewed-by: Liang Qi <liang.qi@qt.io>
2024-08-27 20:44:32 +02:00
Johanna Äijälä
addf3a0794 Provisioning: update Java 17 to Ubuntu24.04 x64
Needed by RTA Android tests.

Change-Id: Iec5a63f3c81f9758e1910f81508ea775ba30c388
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 30443436c4)
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2024-08-27 20:44:27 +02:00
Liang Qi
3cc306b68a Disable docker for network auto tests on Ubuntu 24.04
both x64 and arm64.

Don't have enough resource to make sure docker setup works fine
for new platform now.

Task-number: QTBUG-126410
Change-Id: I58de4836af9d7589c1a1db5371c410099e671793
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit adc927b02b)
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2024-08-27 20:44:23 +02:00
Liang Qi
8af8e9081b platform_configs: disable glx on offscreen integrations - 2
It's broken in the VMs in our CI.

This follows 94a4f06fb88ec6c7fa5e31dfd28af4e9b3cdbdd8 in qtbase.

Fixes: QTBUG-126250
Task-number: QTBUG-125446
Change-Id: Id61f3d51cea33a8648aa99941c0dc77b9da5c498
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 397ef196b7)
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2024-08-27 20:44:18 +02:00
Liang Qi
a604af6991 Make offscreen plugin the default one for ubuntu-24.04-arm64-documentation
This follows 37ce15a3b0.

Change-Id: I8ad866b409d84730edaac1785db9ce599be2844c
Reviewed-by:  Alexey Edelev <alexey.edelev@qt.io>
(cherry picked from commit 9592341d1a)
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2024-08-27 20:44:15 +02:00
Tero Heikkinen
79134ebf0e Provisioning: Add Ubuntu 24.04 x64 as non-blocking in CI
Adding all builds Wayland which is the default display
server for Ubuntu. Testing each module in X11, and
testing Wayland client plugin for each module in
Qt Wayland integration. [CI Platforms]

TestDocs was removed, see also QTQAINFRA-6068.

Task-number: QTQAINFRA-6322
Task-number: QTQAINFRA-6098
Task-number: QTQAINFRA-6203
Change-Id: I8db0d861940bdd558384f1cc24243c6a84e133e2
Reviewed-by: Liang Qi <liang.qi@qt.io>
(cherry picked from commit 5a79cf9168)
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2024-08-27 20:44:10 +02:00
Alexey Edelev
456bb49e7d Make offscreen plugin the default one for debian-11.6-arm64
Fixes: QTBUG-124449
Change-Id: Icfc3a11bcbcafef28e186f3b4e481309bb58c191
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit 37ce15a3b0)
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2024-08-27 20:44:05 +02:00
Qt Submodule Update Bot
418b0e5b47 Update submodules on '6.8 in qt/qt5'
Change-Id: I283f4ed18d691510f1dc35221971235d53e7486b
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-08-26 20:00:31 +00:00
Liang Qi
6011e6a29b Ubuntu 24.04 arm64: Add documentation targets as non-blocking in CI
build on wayland and test offscreen and wayland

Task-number: QTQAINFRA-6112
Task-number: QTQAINFRA-6308
Change-Id: I31a57794d455316fc98f1d84d3d275fa6e934b8e
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
(cherry picked from commit b0dc1225cb)
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2024-08-26 08:01:59 +02:00
Qt Submodule Update Bot
df249cc06f Update submodules on '6.8 in qt/qt5'
Change-Id: Ia10a2ad1ebc809200c24f729033e63e07c16d59c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-08-24 22:52:45 +00:00
Paul Wicking
47b58a4f6b coin: Provision new QDoc and qtattributionsscanner binaries
Update QDoc and qtattributionsscanner to the latest versions from
qttools/dev.

The QDoc binary is built against libClang v18.1.7. It supports new
commands introduced in Qt 6.7 and 6.8. It also ignores duplicate
warnings that QDoc issues for certain attribution files in CI only,
which have been known to block qt5.git integrations previously.

Fixes: QTBUG-126407
Change-Id: I69aad04bbe73e1fdf1d6cb4ff797616a23abcdaf
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
(cherry picked from commit 957b74a7fa)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-08-22 07:24:01 +02:00
Paul Wicking
3964060835 Update libclang for QDoc to 18.1.7
* Update the version variable used to identify the correct libclang
  package for download and cache sites.
* Add provisioning package locations for Ubuntu 24.04 ARM64.
* Update SHA1 for provisioning packages on all platforms.

Fixes: QTBUG-126412
Task-number: QTQAINFRA-6112
Change-Id: Id30841efb29d78c9d2d54ffa6af9993b12734c0b
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
(cherry picked from commit ee8e66fd2a)
2024-08-22 07:23:55 +02:00
Qt Submodule Update Bot
7af09a0f3d Update submodules on '6.8 in qt/qt5'
Change-Id: I322753bb57f9aa8120a6c5e66ed147e75ad23ca0
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-08-21 07:32:58 +00:00
Jani Heikkinen
9e76e174ef Remove preview status from qthttpserver
Qt HTTP Server will be officially supported from Qt 6.8.0 ->

Task-number: QTBUG-125155
Change-Id: I3286b2b0bdfcb675774d67909d485e88d100c09d
Reviewed-by: Antti Kokko <antti.kokko@qt.io>
(cherry picked from commit 9a59f1d50f)
2024-08-20 08:54:05 +00:00
Jani Heikkinen
cac4a76366 Remove preview status from qtgrpc
It will be officially supported from Qt 6.8.0 ->

Task-number: QTBUG-125156
Change-Id: Idd5d2851dfa9d4c04643b3385ee8b4da86226772
Reviewed-by: Antti Kokko <antti.kokko@qt.io>
(cherry picked from commit 5f0b5bfdcb)
Reviewed-by:  Alexey Edelev <alexey.edelev@qt.io>
2024-08-20 08:54:00 +00:00
Jani Heikkinen
e609ade2a4 Remove preview status from qtgraphs
Qt Graphs will be officially supported from Qt 6.8.0 ->

Task-number: QTBUG-125143
Change-Id: I3dd57696188ef03b1ea67d15fce407fc48d333ec
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
(cherry picked from commit a6529838ce)
Reviewed-by: Antti Kokko <antti.kokko@qt.io>
2024-08-20 08:53:56 +00:00
Tero Heikkinen
aa22a35f05 Windows: Enable proxy with fix to cert issue with Py 3.10+
Packaging reported issue that python installation
without proxy didn't work - therefore enabling proxy
back was needed but with a fix to handle Py 3.10+ changes

Py 3.10+ pip 24.2 has moved to use system certifications
by default which caused issue when proxy is used
and if host didn't have one specific certification
GlobalSign Root CA - R3 for pypi.org.

Also noticed that sometimes Windows x64 images seemed to
have this missing certification, but after installing it
to Windows ARM (which was clearly missing it) - logs showed
they didn't have it - and direct check to both Win x64
Tier1 images showed that they didn't have that cert.

Not sure what steps in provisioning or proxy usage could have
affected to that, but missing certification is now added directly
to all of these new three Windows Tier 1 images:
   - qtci-windows-10_22H2-x86_64-52 (via QTQAINFRA-6207)
   - qtci-windows-11_23H2-x86_64-53
   - qtci-windows-11_22H2-aarch64-53

Therefore --use-deprecated=legacy-certs flag is not needed
when system has correct certification available as Py 3.10+
has moved to use them by default.

Long-term improvements could still be added in future, in two ways:
   1) Internal package cache (QTQAINFRA-6485 QTQAINFRA-5531), or
   2) To update system certificates with Py 3.10+

But those will need more time to decide and implement.

Therefore this improved quick fix to get proxy back with Py 3.10+
was needed now and it removes previous quick fix to unset proxy.

Task-number: QTQAINFRA-6490
Task-number: QTQAINFRA-6473
Pick-to: 6.7 6.5 6.2
Change-Id: I0805a70cf1163012094505162d28640e9ea8e6bb
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
(cherry picked from commit 61c5bb072f)
2024-08-20 10:06:29 +03:00
Elias Toivola
368369beb1 Windows-10_22h2-x86_64: Disable MS services that we do not use
qtci-windows-10_22H2-x86_64-51 was copied as -52

In this new tier-1 image, the following services were disabled:
  - backgroundDownload.exe (part of MSVC)
  - Microsoft Edge update/installer and Onedrive

Also missing certification GlobalSign Root CA - R3 was added.

Pick-to: 6.7 6.5 6.2
Task-number: QTQAINFRA-6207
Task-number: QTQAINFRA-6490
Task-number: QTQAINFRA-6473
Change-Id: Ifd51d25a6c8d43b008ca65af22ebbd592cf57b85
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
(cherry picked from commit d58045688b)
2024-08-20 10:06:27 +03:00
Tor Arne Vestbø
55bef8cb0c Provisioning: Remove mac certificates and signing tools
Those will be provided by Coin.

Follow-up to 4e09a6db79 for macOS ARM.

Pick-to: 6.5 6.2
Change-Id: Iffe433b606e6fb28580b8d2a265ee82f4bda7eb8
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 73c8e4d387)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-08-19 08:57:18 +00:00
Pavel Dubsky
2007bdb634 Update FFmpeg version to n7.0.2
Task-number: QTBUG-127868
Pick-to: 6.7 6.5
Change-Id: I95f8f021cd23fdb35eb171d4609bf204878e105d
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
(cherry picked from commit f2535cdcef)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-08-18 18:06:33 +00:00
Tim Blechmann
aa419b10fb Provisioning: install dummy sound device on ubuntu VMs
Pick-to: 6.7 6.5
Change-Id: I71a518576c1ef0677855561edbd2dc5560727c35
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
(cherry picked from commit 0020fd1b3e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-08-17 02:15:52 +00:00
Qt Submodule Update Bot
f5430bded0 Update submodules on '6.8 in qt/qt5'
Change-Id: I93429b55467475d163d95a1073051ba98c676a30
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-08-16 06:26:13 +00:00
Alexandru Croitor
c3a5651bd0 coin: Explicitly provision the libzstd-dev package
It used to be installed as a dependency of some other package, but
stopped doing lately, which causes qtbase to build without zstd
support.

This change explicitly installs the libzstd-dev package to prevent
this from happening again.

Pick-to: 6.7
Fixes: QTBUG-124787
Fixes: QTBUG-127644
Change-Id: I72793ed96ef39ec07244079c51efe17ae1f9af66
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
(cherry picked from commit 8ad05756ed)
Reviewed-by:  Alexey Edelev <alexey.edelev@qt.io>
2024-08-13 17:57:03 +02:00
Qt Submodule Update Bot
3f4790463c Update submodules on '6.8 in qt/qt5'
Change-Id: Ibc71f98d1ca5ad73da7dff2b3c2ed79aac7ff94e
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-08-09 21:35:55 +00:00
Jani Heikkinen
0fecad52b8 Add 'Packaging' -flag for ubuntu 22.04
Task-number: QTBUG-124630
Change-Id: Ie5f5a5b904c91df8c96bf8a00448e465863ee906
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2024-08-09 05:25:40 +00:00
Bartlomiej Moskal
74cdd355d6 coin: Downgrade patchelf version on CI
Downgrade patchelf version from 0.18.0 to 0.17.2 on MacOs, Linux and
Windows.

It looks like there is a problem with 0.18.0 version, when modyfing the
Android libs. It causes an unresolved dependencies error when loading a
changed library.

Fixes: QTBUG-126861
Change-Id: I5a95daae0a78aadede009535b2813483afcbc99d
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
(cherry picked from commit 64aee78df8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-08-07 06:48:56 +00:00
Bartlomiej Moskal
a11202a0b6 coin: Move install-patchelf script to unix directory
This patch prepare install-patchelf.sh script for use on MacOs

Task-number: QTBUG-126861
Change-Id: Id16462a2819da748ecd0b04f1df57968e9d90c37
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
(cherry picked from commit 62b60c4caa)
2024-08-07 08:48:51 +02:00
Qt Submodule Update Bot
f68d6a976c Update submodules on '6.8 in qt/qt5'
Change-Id: I8417191ea92caf11fac8283c12009b76d1f72eaa
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-08-06 03:40:31 +00:00
Tero Heikkinen
09aa68b3de Python: Unset proxy for python pip cert issues
Task-number: QTQAINFRA-6473
Pick-to: 6.7
Change-Id: I43cfd0cba3fcdcd7acdf1d75ee2347dac8b77175
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
(cherry picked from commit 31774f9103)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-08-03 12:12:04 +00:00
Qt Submodule Update Bot
83500b62c4 Update submodules on '6.8 in qt/qt5'
Change-Id: I931a73d915bd314f742742b72ceb070f377c5910
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-07-31 20:22:31 +00:00
Simo Fält
72e5affa21 CI: Use Ubuntu 22.04 with WebOS configs
Change-Id: I2d4a2f024140d79a2a893b02fe903a3e3ee8d37f
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 9b0a15268e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-07-31 12:01:49 +00:00
Pavel Dubsky
21a8e07fb3 Update FFmpeg version to n7.0.1
Fixes: QTBUG-126687
Pick-to: 6.7 6.5
Change-Id: I327a33a65aaa0285a93fa228f47d6914623f8d3d
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
(cherry picked from commit a68d7302cd)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-07-27 09:11:15 +00:00
Daniel Smith
44a2c39aa7 Update commit template for Reopens footer
Task-number: QTQAINFRA-6248
Pick-to: 6.7 6.5 6.2 5.15
Change-Id: Ie1b888a339eb62adc05e73a2307d4d23429c9aff
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
(cherry picked from commit 6a343fd319)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-07-26 14:02:45 +00:00
Qt Submodule Update Bot
5615fb5fc2 Update submodules on '6.8 in qt/qt5'
Change-Id: Ib9255ddee3c279c7a83c5d86c9c2f212fe007f88
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-07-25 17:13:08 +00:00
Elias Toivola
6e3c55a33d Provisioning: Add Java 17 to Windows on ARM
There are no WoA versions of JDK builds available from Oracle but
Microsoft maintains a WoA compatible OpenJDK build.

This change also removes the registry edit to disable Java
auto-update as the auto-update function in Java no longer exists.

Task-number: QTQAINFRA-6109
Task-number: QTQAINFRA-6385
Change-Id: I672ef4ac7cbca3d62ecd6a646fd769aff1cad4c5
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit b3f5b4fd64)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-07-24 13:30:51 +00:00
Tero Heikkinen
3303e2fe46 Provisioning: Update Java on Windows x64 to 17
Java 17 for Android, needed by RTA

Task-number: QTQAINFRA-6385
Change-Id: I1200fc5fc4dfdac1faea6b262277aae525efc835
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 84bf41ba5b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-07-24 13:30:44 +00:00
Alexey Edelev
319f1f7945 Remove -DFEATURE_native_grpc=OFF
The flag was removed from qtgrpc repo and has no effect now. Clean it
up from all platform configs.

Change-Id: I59e200c6bcd63e03cc7c7477d502e456af8c9b01
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit b3fda4d0fe)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-07-24 08:20:20 +00:00
Alexey Edelev
39a7a1a663 Enable building QtProtobufWellknownTypes module on Packaging platforms
Add the missing QT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR for qnx and
Android 14 platforms.

Fixes: QTBUG-127272
Change-Id: I60caa0141aa2d8566311d30677891201b12c4ed6
Reviewed-by: Dennis Oberst <dennis.oberst@qt.io>
(cherry picked from commit 8d190a38ce)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-07-24 08:20:15 +00:00
Jukka Jokiniva
df8c39ba7b Change precheck windows target to windows-11_23H2-msvc2022
Configuration windows-10_22H2-msvc2019-developer-build has been removed from CI.

Fixes: QTQAINFRA-6386
Change-Id: If2e5a2727101feb787d5e8bc3be7898156978c53
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit a41d562205)
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2024-07-22 16:45:11 +00:00
Alexandru Croitor
8771cbab9c coin: Add reuse python package to allow generating a source SBOM
Task-number: QTBUG-122899
Task-number: QTBUG-125211
Change-Id: Iaf22d5b2ce3c5d5b0d1b22e595da9cc28d0c2719
Reviewed-by:  Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit b3c7f07436)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-07-22 16:45:06 +00:00
Alexandru Croitor
471fa2306c coin: Fix pip3 installation on macOS arm
The pip3 install calls contained the word 'install' twice.

Starting with newer pip versions, this seems to fail with:

 /Users/qt/.pyenv/versions/3.9.7/bin/pip3 install --user install
   virtualenv wheel html5lib
 ERROR: Could not find a version that satisfies the requirement
   install (from versions: none)
 ERROR: No matching distribution found for install

Make sure install only appears once.

Change-Id: I1bfc784d4e3d6a1c34d112e72e2739678d2f07ae
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
(cherry picked from commit 866b4cedaf)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-07-22 16:45:04 +00:00
Qt Submodule Update Bot
504304234d Update submodules on '6.8 in qt/qt5'
Change-Id: I98f9be4f0bdca153856980080882534a76e9db74
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-07-19 21:19:31 +00:00
Alexandru Croitor
3624ced5cf coin: Mark platforms that should verify the generated SBOM
Task-number: QTBUG-122899
Change-Id: Ia4854f3af188e971b555cc1bd7bd6463fbbf7273
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit 562b56c8d7)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-07-18 22:03:10 +02:00
Alexandru Croitor
a066902627 coin: Mark platforms that should generate an SBOM
Task-number: QTBUG-122899
Change-Id: I3722c048ec4be894a09d3b023d6af95d4dfedc6f
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit 3017e86d54)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-07-18 22:03:08 +02:00
Alexandru Croitor
2792250242 Update qtqa sha1 to latest qtqa/dev/HEAD to fix an SBOM issue
Bring in a435bfcc674707855e6f6e3ad315fc6747c944d5 from qtqa to ensure
SBOM generation can be enabled in 6.8 branch.

Change-Id: I35245844f74ba6ffb2a1852ef040a785254f360f
Reviewed-by: Daniel Smith <daniel.smith@qt.io>
2024-07-18 22:03:06 +02:00
Jari Helaakoski
9d37579b5d Enable unit test build for QtLite configuration
Task-number: QTBUG-122999
Change-Id: I7be6b2cd28a3e8f319f10c33d39245ccd528a552
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Reviewed-by: Alex Bu <alex.bu@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 055cfcd501)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-07-17 14:30:04 +00:00
Qt Submodule Update Bot
ffe464c889 Update submodules on '6.8 in qt/qt5'
Change-Id: I8bc76743e19a71fca96c15e3984ead1f30c1ec0c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-07-16 16:09:56 +00:00
Dominik Holland
367cacbb01 Provisioning: Apply the bwrap fix also to Ubuntu 24.04_x86
Change-Id: I8a5e93e7ed04ed9b090209696e649835a88604a5
Reviewed-by: Robert Griebl <robert.griebl@qt.io>
(cherry picked from commit e6a7a49d2f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-07-15 11:18:28 +00:00
Qt Submodule Update Bot
128b526cea Update submodules on '6.8 in qt/qt5'
Change-Id: I0b04c7cf3af631ef7d6924137d8c0c14b7e91067
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-07-13 23:35:01 +00:00
Luca Di Sera
1b97371ea0 Update QDoc libclang to 17.0.6
The version variable that is used to define the packages to download was
updated to reflect the new version.

A new case was added for the new "Debian11" on "arm64" package which was
not a provisioned package on older version but is now provided.
As "Debian11" was not currenly loading "libclang.sh", a new script that
performs this process was added to
"coin/provisioning/qtci-linux-Debian-11.6-aarch64".

The newly sourced "libclang.sh" includes
"coin/provisiong/common/unix/common.sourced.sh", which sets up certain
common variables such as the used architecture and the platform id.
When "common.sourced.sh" sets "PROVISION_ARCH", that contains the
current platform architecture, it fails if the platform architecture is
not supported.

For "Debian11" on "arm64", the architecture, as reported by "uname -m"
is "aarch64", which is equivalent to "arm64".
"aarch64" was not handled by the script, so that a platform with that
architecture would result in a fail when sourcing "common.sourced.sh".

To avoid the failure, the case that sets "PROVISIONING_ARCH" to "arm64"
will not trigger when the reported architecture is "aarch64".

The specialized RedHat case was update to work specifically for version
9, to use the new specifically built package for Rhel9.2.

The default case, previously using an "ubuntu20.04" package, was
modified to use a "Rhel8.8" package.
A package for "Ubuntu20.04" is not currently provided anymore as the
platform was removed from CI and the new "22.04" package is not
compatible with all the platforms that would use it.

In particular, the new packages are built on a too new glibc, which will
then fail to link, due to undefined symbols in the produced Clang
libraries, when used on older-glibc platforms such as "OpenSuse15" and
"Rhel8.8".

The "Rhel8.8" package was specifically used as the platform for the
default package as it ships the older glibc, "2.28", of the supported
platforms, which should ensure that it works on the older-version platforms.

The "sha1" variables for cached downloads was updated to reflect the new
packages.

For provisioning on windows, the version variable and the sha1 variables
were updated to reflect the new version and the new packages, respectively.

Pick-to: 6.7
Task-number: QTBUG-111580
Task-number: QTBUG-121548
Change-Id: Ie7c1a8d8fe9114912d53a87f70ebfa00341a9d8a
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
(cherry picked from commit 9975595a5e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-07-13 23:35:00 +00:00
Simo Fält
bcaf172368 Provisioning: Install mqtt broker also for arm linux configs
Task-number: QTBUG-126974
Change-Id: Ifcd61385057fcc6cef8943b3e0477d905d01b198
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
(cherry picked from commit 00527a5de1)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-07-12 10:34:57 +00:00
Pavel Dubsky
66bcdbd0b3 Use single installation archive for FFmpeg provisioning on all platforms
Fixes: QTBUG-125955
Change-Id: Ibfa97e3d765eb3c4ff5613004bc881e49ddf10e9
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
(cherry picked from commit 49c03849e3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-07-11 22:54:09 +00:00
Tor Arne Vestbø
95c6513432 coin: Give coin agent permission to access Bluetooth
The Qt Connectivity tests rely on this.

Change-Id: I7218485e583ebe2c8d381a0104012a86350e6eac
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
(cherry picked from commit 3ad98d0b27)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-07-10 09:54:48 +00:00
Piotr Wierciński
be5eb71399 wasm: Update Emscripten to 3.1.56
Update Emscripten to 3.1.56 for Qt 6.8 release.

Change-Id: Ic5054aa7b00fba1f155824a710b9562d2a8a2f95
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit e4f7db1379)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-07-10 09:54:46 +00:00
Jukka Jokiniva
88c5532d08 Change msvc packaging targets back to c++17
Packaging targets were accidentally moved to c++20.
Amends bf633f08b7
Amends b4bcf1e6ca

Fixes: QTQAINFRA-6424
Change-Id: Iad6f8202329b471733cc1bc8ddf22feb3ffadfb4
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit b9fdfb3fb3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-07-04 05:02:32 +00:00
Eike Ziller
36cf1fd484 Qt Creator: Switch to ARM macOS 14
Used for packaging now, too.

Pick-to: 6.7
Change-Id: I8b9edbff7abcc02a43011e078ec55ff195477dfa
Reviewed-by: David Schulz <david.schulz@qt.io>
(cherry picked from commit 6120442e7c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-07-03 12:57:58 +00:00
Qt Submodule Update Bot
71802eb0ed Update submodules on '6.8 in qt/qt5'
Change-Id: I32025e7fac0b6ab134a14cf42c6924afdd153cc9
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-07-03 10:41:52 +00:00
Tor Arne Vestbø
88e06e1265 coin: Replace bare metal macOS ARM configurations with Tart VMs
Change-Id: Idf84ead53ea27eedfa571ee5d7a44b7a496229bb
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit c1485ecb2c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-07-01 11:55:58 +00:00
Toni Saario
2cc1596d9f Enable test building for VxWorks with qtbase
This enables blocking test building.

Pick-to: 6.7
Change-Id: I184bd16a1c6a0ec45bfd9ee9b96c478dd2cf7c33
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 71d8f797ba)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-07-01 06:02:30 +00:00
Qt Submodule Update Bot
3cc1081d4a Update submodules on '6.8 in qt/qt5'
Change-Id: I821198b9e8a21afb8483180ac57a14c551625428
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-06-28 23:59:50 +00:00
Liang Qi
a864e58616 platform_configs: disable glx on offscreen integrations
It's broken in the VMs in our CI.

This follows 94a4f06fb88ec6c7fa5e31dfd28af4e9b3cdbdd8 in qtbase.

Fixes: QTBUG-126250
Task-number: QTBUG-125446
Change-Id: I34f5384282aa78015ba6520887f51391d9332780
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit e19eeba9de)
2024-06-28 14:39:00 +02:00
Liang Qi
dcff43ca54 Ubuntu 24.04 arm64: build on wayland and test offscreen and wayland
This amends 9eae314404 .

Change-Id: Id44f1b0945ad0ef1a95a61152cad6799e7506383
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
(cherry picked from commit bd4c8c26ba)
2024-06-28 14:38:59 +02:00
Liang Qi
af77e84b88 provisioning: install locales-all package for Ubuntu 24.04
tst_qfloat16format needs that.

Fixes: QTQAINFRA-6390
Change-Id: I53aefba241de614f3a9e141158e67006718a030a
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
(cherry picked from commit fa72ab35f9)
Reviewed-by: Liang Qi <liang.qi@qt.io>
2024-06-28 14:38:57 +02:00
Alexandru Croitor
90c88a451f coin: Add python packages to allow validating Qt generated SBOM files
Add a sbom_requirements.txt file and install it using the
various platform specific pip installations.

Partially restores b87b44168c but
without the wheel cache.

Task-number: QTBUG-122899
Change-Id: I8002898866acbc226ffebb59dcf5b3a58237ea34
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 1f2fb6312c)
2024-06-28 06:24:39 +02:00
Timur Pocheptsov
c98282cb03 Update provisioning script to build FFmpeg as dynamic libs
Previously, iOS (where we mostly using static linking) was also using
FFmpeg built as static libs, now switch to dynamic libraries, as
it was already done for macOS. Requires changes in cmake file in
qtmultimedia in order to configure with -DQT_DEPLOY_FFMPEG=TRUE.

Fixes: QTBUG-120991
Change-Id: I0b014f24db3127697b76c6d1774437faae64a7c8
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2024-06-28 06:24:34 +02:00
Eike Ziller
91c649c20e COIN: Fix sccache installation on ARM Macs
Install the ARM sccache binary to fix

/usr/local/sccache/sccache: Bad CPU type in executable

Pick-to: 6.7
Change-Id: I033a7c8cf88d0d1ad35a4406a5d2a878da8d17a7
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit c872c35cc6)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-28 04:24:30 +00:00
Alexey Edelev
a56512b45b Fix the UNSUPPORTED argument handling in qt_ir_commandline_option
Set the argument name but not it's value in SHORT_NAME condition.
It works currently since the argument is visible from upper scope.

Pick-to: 6.7
Change-Id: Ie470a256f4735aeac5f50f0e6e5d17e2bb274ba2
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit f83837ec29)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-28 04:24:26 +00:00
Alexey Edelev
92ce5a7b99 Fix the support of the '-verbose' argument in configure script
Init repository logic eats the '-verbose' argument as the one that
is handled by internal init repository logic. The argument is also
a valid argument for configure script.

Introduce the 'COMMON' argument for of the qt_ir_commandline_option
macro. The argument indicates that the option is applicable for both
configure and init-repository scripts.  This is implemented only for
boolean arguments. The '-verbose' argument adopted the new feature.

Pick-to: 6.7
Change-Id: I5cb76502c8ecccccf3546fd7f7f111fe25700d0a
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit 780c780763)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-28 04:24:22 +00:00
Tor Arne Vestbø
398a8aa151 coin: Set TCC permissions for macOS 12 and 13 ARM VMs
Task-number: QTBUG-126119
Task-number: QTBUG-125389
Change-Id: I9433765308aad17c073b887c4efbcc5c6e4dd623
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Pavel Dubsky <pavel.dubsky@qt.io>
(cherry picked from commit 76d2f6f947)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-28 04:24:18 +00:00
Simo Fält
9d69572e74 Provisioning: Add retry for disabling Spotlight indexing
Task-number: QTQAINFRA-5996
Change-Id: I6c85816f7b490fbb2423cbf7d0efe862056bc001
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit f9bb6b202a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-28 04:24:14 +00:00
Elias Toivola
d8f8c02ae4 Provisioning: Update MQTT broker
There's a certificate issue in Paho MQTT which should be fixed in
the latest paho.mqtt.testing branch.

Pick-to: 6.7 6.5 6.2
Task-number: QTBUG-126364
Change-Id: I1550122939ea8e6172dba005752978fcf3232fcb
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
(cherry picked from commit ea425ca764)
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
2024-06-28 04:24:09 +00:00
Qt Submodule Update Bot
0ee71c9edc Update submodules on '6.8 in qt/qt5'
Change-Id: Ic5eb55e3d8c2c9e315a31204852fbb417b87997b
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-06-27 15:17:44 +00:00
Zoltan Gera
b12fd026dc Include python venv installation also in Ubuntu 24.04 provisioning
The venv package is part of all other Ubuntu and Debian configurations
but was left out from the 24.04 one.

Change-Id: I1daf2e78ca755cdeef0e6c6e17820badce65bbc3
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 105074d730)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-26 18:38:50 +00:00
Tor Arne Vestbø
3b330e86fb coin: Pre-check on macOS 14, not macOS 12
Change-Id: I8aee5caa9cbe89e8f46d73d6c1938ab0e7aae3f8
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 770546eb9c)
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-26 18:38:45 +00:00
Aku Pietikäinen
fc1e3c7084 Provisioning: update Java 17 to Ubuntu20.04 x64
Change-Id: I9eec100e11c00c1d984151b09bc1e4dc29f402c1
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit f63db53d98)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-26 18:38:40 +00:00
Alexandru Croitor
fbd9ecb0d5 coin: Update linux SLES Python to 3.12.3
Change-Id: I217feaee4071ff06f6fd16a2f3b2111d87ce1862
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Toni Saario <toni.saario@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 6ab08cfdc4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-26 18:38:35 +00:00
Assam Boudjelthia
657c38f3b5 Coin: write multiple lines from bash script with different syntax
The current way of using "cat <<EOB" works but then confuses
Gerrit's online editor and syntax highlighting after it becomes
wrong. using echo does the same and avoid this syntax highliting
confusion.

Change-Id: Id97bf23f51dd9321cf7e02f263b957ed7655bfb5
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 695d249f21)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-26 18:38:30 +00:00
Assam Boudjelthia
9657e3970e COIN: rename android multi abi test target to more appropriate name
The current name starts with "rhel_8.8" which can be confused
with a target on RHEL tests. The new name follows the other
Android test targets and make it clear that it's a multi-abi
test target.

Change-Id: Ie90978ffe949603b75e9a57ef13e26aaa7e033ba
Reviewed-by:  Alexey Edelev <alexey.edelev@qt.io>
(cherry picked from commit d611cd1985)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-26 18:38:25 +00:00
Assam Boudjelthia
33eb114747 COIN:Android: update sha and versions for Gradle caching
Update AGP, minSDK and androidx.core versions and qtbase
sha. This is needed after Gradle, AGP and minimum Android
version bumps done in:
* f22e9795d9a32fc4e9f4d6f2a70c2f831028342b (Gradle and AGP)
* 841bbbe8ec5eb9c822af4359278f73ae9a6599bb (Android 9 bump)

Change-Id: I88d598ab1041847a995c37fc665467a2e9d12ab5
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 2e9af73a58)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-26 18:38:20 +00:00
Johanna Äijälä
194f4b8d83 Provisioning: add QNX710 to Windows11 x86_64
Needed by RTA.

Change-Id: I74bac144d66cc005179e06f983d4baa808618a40
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 2764cdef92)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-26 06:11:06 +00:00
Johanna Äijälä
b45c69436f Provisioning: update java on Ubuntu22.04 x64 to 17
RTA uses Ubuntu22.04 x64 in Android (linux) tests so java version needs
to be updated to 17 as it is on RHEL8.8 where the Android binaries are
compiled in CI.

Change-Id: I1b0f0adfbedea58d3875b700d723db77163ab737
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 98b8e35ff5)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-26 06:11:04 +00:00
Alexey Edelev
7cc4b34006 Remove the -c++std c++17 from nightly ubuntu
The flag does nothing for ages and the standard is enforced by default.

Task-number: QTBUG-125015
Change-Id: I901c0bf58d91cb795d63c4769fb054eee5c5788a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit 9e4c4c5aab)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-26 06:11:00 +00:00
Jani Heikkinen
9d0caddfc5 Drop unnecessary, duplicate builds from dev and '6.8'
- We don't need msvc2019 builds; msvc2022 is used from Qt 6.8.0 ->
- Drop windows-10_22h2-msvc2019-developer-build and windows-11_23H2-msvc2022-developer-build will be added in separate change
- We have windows-11_23H2-llvm so windows-10_22h2-llvm ins't needed
- We have windows-11_23H2-mingw13-developer-build so windows-10_22h2-mingw13-developer-build isn't needed

Change-Id: Id6c9637a70b7e3f5023c9397619621a27a83dc59
Reviewed-by: Liang Qi <liang.qi@qt.io>
(cherry picked from commit b4bcf1e6ca)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-26 06:10:58 +00:00
Tero Heikkinen
9e6a8a0f9d Windows ARM: Disable OpenGL as not supported on WoA
Task-number: QTQAINFRA-6109
Task-number: QTBUG-126030
Fixes: QTBUG-125438
Fixes: QTBUG-125439
Fixes: QTBUG-125444
Fixes: QTBUG-125445
Pick-to: 6.7
Change-Id: I05297b056bf1f39e6a77198a2244eedd05c1f963
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit 0491900249)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-26 06:10:56 +00:00
Pavel Dubsky
f956053d4c Add GetVsInstallationPath and GetVsProperty helper functions
Introduce GetVsProperty helper function that allows to retrieve Visual
Studio installation property by providing required component (optional).
It also offers the ability to choose which version of Visual Studio to
use (the oldest or the newest). Also add GetVsInstallationPath helper
function which is a handy shortcut to retrieve installation path
property.

Pick-to: 6.7 6.5
Change-Id: I90afca74db9a6f87b622c7fafec2243e085e89e0
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
(cherry picked from commit 71b10bfe48)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-26 06:10:53 +00:00
Eike Ziller
feb1c21223 COIN/QtCreator: Remove Windows 32bit configuration
It fails to provision, and we don't need it anymore

Pick-to: 6.7
Change-Id: Ifa5446613d00cbc6fbe90fe93718387d86f67eac
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
(cherry picked from commit e873c1e269)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-06-26 06:10:51 +00:00
Bartlomiej Moskal
13a07d01d5 Coin: Turn on Dynamically linked FFmpeg for Android
Turn on dynamically linked ffmpeg on Android on all hosts (Linux,
Windows and macOS).

Task-number: QTBUG-122010
Change-Id: Ib3739173bee209ce73e77b75d7b345208da002e4
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit a675a87446)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-25 04:20:04 +00:00
Bartlomiej Moskal
c9009d7c7a Coin: Dynamically linked FFmpeg for Android (on macOS host)
Prepare for turning on dynamically linked FFmpeg on macOS:
  - install binutils (for readelf) on macOS;
  - readelf need to be used with absolute path on macOS. Prepare
    workaround solution for this system in
    fix_ffmpeg_dependencies.sh script;
  - install patchelf on macOS;
  - ensuring compatibility of sed call on Linux and macOS;

Task-number: QTBUG-122010
Change-Id: I810566786de4363b4383f29467c6ca4395f9f668
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit b5e6c9e59b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-25 04:19:59 +00:00
Bartlomiej Moskal
f63272740c Coin: Dynamically linked FFmpeg for Android (on Windows host)
Prepare install-ffmpeg.ps1 script for turning on dynamically
linked FFmpeg on Windows.

Script on Windows will use MSYS2 and run same bash script as Linux host.
To make it possible first need to install binutils (for readelf) and
patchelf. As patchelf is not available by pacman, it is compiled and
installed from sources.

Task-number: QTBUG-122010
Change-Id: Ide1e7da82f73b1663a3c5d7657c53057281ebe94
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 7c96a8225a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-25 04:19:55 +00:00
Bartlomiej Moskal
d35d6de212 Coin: Move fix_ffmpeg_dependencies.sh to shared directory
Move fix_ffmpeg_dependencies.sh script from "linux" to "shared"
directory.

The script will be used on macOS but also on Windows (using MSYS2)

Task-number: QTBUG-122010
Change-Id: If63d5e3ba7562b230cce26c7bfba728a2ae0a382
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit b6c6812798)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-25 04:19:50 +00:00
Bartlomiej Moskal
b790f9314e Coin: Dynamically linked FFmpeg for Android (on Linux host)
Prepare install-ffmpeg-android.sh script for turning on dynamically
linked FFmpeg

Task-number: QTBUG-122010
Change-Id: Id186e546b1b3c9bbb5a84492766411f806f51b4e
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 9e0d693caa)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-25 04:19:46 +00:00
Bartlomiej Moskal
f010bb13a9 Coin: Extend script for fixing FFmpeg dependencies to stubs
Add an additional parameter to disable the rpath setting.
The rpath update somehow interferes with the ffmpeg libraries fails
with: "java.lang.UnsatisfiedLinkError: dlopen failed: empty/none
DT_HASH/DT_GNU_HASH"

Task-number: QTBUG-122010
Change-Id: Idfe4addacee68edfb0f7ccaac1a19860c539c0e0
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 4f3b057d01)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-25 04:19:42 +00:00
Bartlomiej Moskal
01c0814cc5 Coin: Extend script for fixing FFmpeg dependencies to stubs
The fix_ffmpeg_dependency.sh script should also take into account
libraries with a _3 suffix in their names. This suffix will not be
used in the stub name.

Additionally, Android libraries have a suffix specifying the
architecture (e.g. _x86_64 or _arm64-v8a). Add an additional parameter
to the script with stub_sufix.

Task-number: QTBUG-122010
Change-Id: Ia844b7b1f73c2d5264384ef26b41a292ea70d749
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 5cef9d32c5)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-25 04:19:37 +00:00
Artem Dyomin
d34850071d Install patchelf on RHEL
Patchelf is needed for fixing FFmpeg dependencies,
the previous CR reveals details.
Patchelf is not available in the standard package manager on RHEL,
let's install it from sources.

Change-Id: I724ffed9c48b9811e10de89519d8271e2f82260d
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit 49b0435e7e)
2024-06-25 04:19:32 +00:00
Volker Hilsheimer
ac2a19ab7e Build shared FFmpeg on Linux and set dependencies to stubs
Task-number: QTBUG-120990
Change-Id: I8fccf8ef58cf6334e71287450ee30cc2256516d9
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit 83adc86c53)
2024-06-25 06:19:28 +02:00
Tim Blechmann
6eed0ab93a provisioning: install gstreamer plugins
This allows us to run unit tests that require real-world codecs on
debian/ubuntu

Pick-to: 6.7 6.5
Change-Id: I99a73506610ea430948692f8a88045394e747750
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 02af86d2aa)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-25 04:19:23 +00:00
Pavel Dubsky
d4046310f8 Update FFmpeg version to n7.0
Fixes: QTBUG-124482
Pick-to: 6.7 6.5
Change-Id: I69727981344d935151f19148960c711b65cb2307
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
(cherry picked from commit eb8bbfe971)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-25 04:19:19 +00:00
Liang Qi
2cb772c046 Provisioning: install pipewire dev packages on Linux
Task-number: QTBUG-121452
Change-Id: I5e9087b09f64750135ebea9030073cd1a20c5f46
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit fcdce53b89)
Reviewed-by: Liang Qi <liang.qi@qt.io>
2024-06-25 06:19:14 +02:00
Marianne Yrjänä
f042009b4d QNX: Fix typos in QNX toolchain file
Fix CMAKE_SYSTEM_PROCESSOR definition for armv7le. This is needed when
using Windows host to cross-compile Qt binaries for QNX.

Fixes: QTBUG-125450
Pick-to: 6.7 6.5
Change-Id: I19df2ef9d4cc988f5acf4f09fa46b7014fac80d2
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 9e560e22a4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-25 04:19:08 +00:00
Dominik Holland
2f4bed0ee6 Provisioning: Downgrade python to 3.11.9 on windows aarch64
Python 3.12.3 is causing issues with Nuitka

Change-Id: I0b497671bb328c129e6a7b2a7a83a563a234f9ec
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 6548b7e168)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-24 12:26:21 +00:00
Dominik Holland
22ce6068c5 Provisioning: Fix bwrap with apparmor on Ubuntu 24.04 Part 2
Also make sure apparmor parses the new rule after installing it.

Change-Id: I25d2e753594fa86be2151e8a8da73b15b31b1584
Reviewed-by: Robert Griebl <robert.griebl@qt.io>
(cherry picked from commit 5f8279db59)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-24 12:26:19 +00:00
Dominik Holland
3f18574eff Provisioning: Install dependency-walker on windows arm64
There is no arm64 version of it, let's just use the x86_64
binary for now and use the emulation.

Change-Id: Ife46fe432ce9594d7e6adab8159318a5322e1cef
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit bcec02dc0f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-24 12:26:17 +00:00
Olli Vuolteenaho
b4861bc8d1 Update QtAA maximum supported SDK level
Like regular Android we test QtAA in CI with the maximum and minimum
supported SDK levels - currently 10 and 13. This commit bumps the
maximum level to 14 starting from QtAA 6.8.

Task-number: QAA-2410
Change-Id: I8ef645b2c7bb1ee2b1fd20980bad0f593d308df8
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit eb75583856)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-20 02:18:21 +00:00
Dominik Holland
6119c40c8e Provisioning: Fix bwrap with apparmor on Ubuntu 24.04
Ubuntu 23.10 introduced new apparmor features and those prevent bwrap
to work correctly until a apparmor configuration file is installed.

Change-Id: Ie02bd98adb9e55c930c399e5e209c0c612907233
Reviewed-by: Robert Griebl <robert.griebl@qt.io>
Reviewed-by: Toni Saario <toni.saario@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit f7a8184c17)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
2024-06-19 21:16:34 +00:00
Liang Qi
aa75e9fc09 Make offscreen plugin the default one for ubuntu-24.04-arm64
This follows 37ce15a3b0 .

It's needed when we test offscreen on Wayland(with XWayland).

Task-number: QTBUG-125446
Change-Id: I20d9afec8800b51aa7cbc82bc336bed76bba4a49
Reviewed-by:  Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
(cherry picked from commit 9fb04e1e71)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-17 08:14:02 +02:00
Qt Submodule Update Bot
1a61ed35d3 Update submodules on '6.8 in qt/qt5'
Change-Id: I2649e768019fc55e2bd1160afe506792e984ede1
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-06-16 07:52:16 +00:00
Pavel Dubsky
629657da09 Replace global configuration of FFmpeg provisioning with parameter
FFmpeg provisioning script for Windows loads common configuration
options from a file and stores them in a global variable which is
modified per toolset (LLVM, MinGW, MSVC, Android). This results in
possible side effects when an installation for a certain toolset is
appending to the current state of the configuration.

Better approach would be to replace global variable usage with
additional parameter to InstallFfmpeg function and make each specific
installation pass complete set of configuration options that it
requires.

Fixes: QTBUG-125953
Pick-to: 6.7 6.5
Change-Id: I2484c8f65485d56efc5e02502fd31839ea14f164
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit ca73305d19)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-16 01:07:23 +00:00
Fredrik Ålund
22c80a8889 Only install necessary Mimer SQL components
When installing Mimer SQL only install the parts that we need for the
build. Avoid the Mimer SQL Server, DbVisuzlier, Java, documentation,
and replication support.

Change-Id: I4cc3fb6f77469a2a566d35483034fe1eea9d6ffd
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 37be28e63e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-15 07:45:28 +00:00
Qt Submodule Update Bot
419c5bfc2f Update submodules on '6.8 in qt/qt5'
Change-Id: Ic907a9edaf977c9e94aa201b5ff7d07e73d485dc
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-06-03 19:54:41 +00:00
Jani Heikkinen
5a6b72fa1b Adjust submodule branches
Change-Id: I88b5554e3b2eb31ddfc88dd59f2711c9c6739700
2024-06-03 05:53:49 +01:00
Qt Submodule Update Bot
811e778531 Update submodules on 'dev in qt/qt5'
Change-Id: I4f9e393e622da055b6470c01ca40c81f1522e3bc
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-06-01 07:04:21 +00:00
Tor Arne Vestbø
cc741a2c52 coin: Make the macOS Tart test configurations granularly significant
The significance of these configs are now controlled by the logic in
qtbase/coin/instructions/cmake_regular_test_instructions.yaml and the
per-repo override of the TART_SIGNIFICANT_TARGET_OSVERSIONS.

Change-Id: I4310eeb59ade34ed7a305a9aa08f63b23d557c07
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2024-05-31 13:57:22 +02:00
Qt Submodule Update Bot
c6ac207d12 Update submodules on 'dev in qt/qt5'
Change-Id: I0cd0ba2a19856afd058e00eb711c36af7b1ddd0f
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-05-31 05:51:10 +00:00
Qt Submodule Update Bot
3def887985 Update submodules on 'dev in qt/qt5'
Change-Id: I789edac0d5f07295abcfb3415593278e89b93ee7
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-05-29 17:06:34 +00:00
Qt Submodule Update Bot
bbf4621c7d Update submodules on 'dev in qt/qt5'
Change-Id: I1d3703ce41a724fe277767e687c72aca3ab70716
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-05-27 15:27:08 +00:00
Eike Ziller
dec2de7b82 COIN/QtCreator: Add configuration for Windows without tests
Windows is most picky wrt exporting/symbol resolution,
so it is a good platform to do a build check without tests.

Pick-to: 6.6 6.7
Change-Id: I477e20f8c8bf16e1206082ae0c2b3960c902989a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2024-05-23 08:53:51 +02:00
Eike Ziller
7bc8bfbf18 COIN/QtCreator: Remove Qt5 configuration
This isn't supported for a longer time now.

Pick-to: 6.6 6.7
Change-Id: Id10fb6c73459e5f10f854b417af6b14eec2e0f78
Reviewed-by: David Schulz <david.schulz@qt.io>
2024-05-23 08:53:50 +02:00
Jani Heikkinen
c23af318f6 Revert "Temporarily remove packaging -flack from windows-11_22h2-arm64-msvc2022"
This reverts commit a9205624ea.

Reason for revert: "Fix" for signing issue is finally in and we need these WoA packages

Change-Id: I4e05e3be150c6f472f2088a4478c414f215deb80
Reviewed-by: Simo Fält <simo.falt@qt.io>
2024-05-23 04:54:52 +00:00
Qt Submodule Update Bot
8ef48d626f Update submodules on 'dev in qt/qt5'
Change-Id: I2ba820c0e3f57e4e29e810b70ec10564f69f5d48
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-05-23 02:09:24 +00:00
Mike Krus
ed96381b5f Mark Qt3D as deprecated
As per tQtC request

Change-Id: I6de2d99305437c45460417ba82f5ac4d259dbc88
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Tuukka Turunen <tuukka.turunen@qt.io>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2024-05-22 07:06:06 +02:00
Teemu Holappa
7fe6905893 Fix qtsaferenderer-runtime.yaml configuration
Added new QEMU configurations
Fixed compile error in Axivion build (prevents dev update)

Change-Id: Iec75f86b241584c4b48904a13fa8e0aad032973a
Reviewed-by: Tarja Sundqvist <tarja.sundqvist@qt.io>
2024-05-20 10:01:50 +00:00
Marianne Yrjänä
295169f9fb Provisioning: Add QNX8 toolchain
Add QNX8 toolchain for linux host. Windows host not supported at the moment.

Change-Id: I6de2f408bba8e96fc5bc49afe43d84f7021885f4
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2024-05-19 07:47:27 +00:00
Marianne Yrjänä
319cbd99c8 Update QNX7.1 toolchain for CI
Pick-to: 6.7 6.5 6.2
Change-Id: I807fbfd468331a08b0672c4b2f02da1208470bf1
Reviewed-by: Toni Saario <toni.saario@qt.io>
2024-05-19 07:47:25 +00:00
Assam Boudjelthia
31d72b0e2c Coin: update jdk from 11 to 17 to support Android builds with Gradle 8+
Gradle 8 and AGP 8+ require JDK version 17 to work properly, this is
needed for CI test runs of Android.

Pick-to: 6.7
Task-number: QTBUG-106907
Change-Id: I437ee6752fe12ce4d40fbfe1af2bfff1b4ca243b
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2024-05-17 21:26:23 +03:00
Assam Boudjelthia
6b729467ca Android: bump minimum CI test emulator to Android 9 api 28
Following Android minimum version criteria, Android 9 would be the
version matching 90% market share range.

Fixes: QTBUG-125022
Task-number: QTBUG-124890
Change-Id: I6e103532f7c558f0111c9f1582a1b80cd61c47e4
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2024-05-17 21:26:02 +03:00
Ville-Pekka Karhu
4a4c5c1615 Platform configs: Add virtualized macOS 12 ARM tests as insignificant
Allows us to first see how macOS 12 tests in Tart on production works
before starting to move the blocking arm targets to Tart. Later configs
will be directly replaced and original ids will be used.

Change-Id: Ia4c64641af2dcdbe145e42f7aed97f5e98ef8fab
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2024-05-16 17:56:17 +00:00
Heikki Halmet
ae82c1ab18 Rhel 9.2 provisioning: Install xcb-util-cursor before updating repos
Task-number: QTQAINFRA-6325
Pick-to: 6.7
Change-Id: I88b2dda373f3a85bdc10cb79576efc733460b4aa
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2024-05-16 13:08:20 +00:00
Qt Submodule Update Bot
99ca6d5abb Update submodules on 'dev in qt/qt5'
Change-Id: I5c838c267491523ad63a076a7d2dc31902c47804
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-05-16 05:32:59 +00:00
Jani Heikkinen
a9205624ea Temporarily remove packaging -flack from windows-11_22h2-arm64-msvc2022
Signing in windows-11_22h2-arm64-msvc2022 is broken so we need to remove
packaging flag temporarily to enable submodule updates

Fixes: COIN-1149
Change-Id: Ia4a3ab07f2204c18b0f54dbe24d1a95fd28cad18
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2024-05-16 07:39:16 +03:00
Jani Heikkinen
bf633f08b7 Optimize 'Packaging' flag usage
Add 'Packaging' flag for new Windows on Arm build.

Remove 'Packaging' flag from builds which aren't used in packaging side:
- vxworks build on linux
- msvc2019 builds

Change-Id: I8b56d4f087c59a4e841d3789d1c3acff5fdb7b09
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2024-05-15 14:48:34 +03:00
Ville-Pekka Karhu
9387c715e9 Platform configs: Add virtualized macOS 13 ARM tests as insignificant
Allows us to first see how macOS 13 tests in Tart on production works before starting to
move the blocking arm targets to Tart. Later configs will be
directly replaced and original ids will be used.

Change-Id: I3e77d07f224bbfcb3b4673d83fb4684ad0de4887
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2024-05-15 11:48:31 +00:00
Zoltan Gera
ef13af8e5a Include python venv installation in Ubuntu provisioning
The venv module is part of the default Python installations in most
Linux distributions except the Debian line. However, we had this already
installed on Debian images, but not on Ubuntu images. This is required
for Qt Interface Framework.

Change-Id: I255f27edf53acbb7ab258d5495636759bddc888b
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2024-05-15 14:48:28 +03:00
Tero Heikkinen
3ac3b7d9f3 Provisioning: Add Windows 11 on ARM as non-blocking in CI
Visual Studio 2022 is the first msvc having natively support for
building and debugging ARM64 apps. [CI Platforms]

Provisioning needed to take new Get-CpuArchitecture
helpers.ps1 function into use in several installations.

Requirements for other branches
- Get-CpuArchitecture helpers.ps1 function
- Skip qtwebengine with Windows 11 ARM (QTBUG-124632)

List of excluded installations in Windows on ARM:

- Could be added later
  - MinGW - QTQAINFRA-6079
  - DirectX SDK for RTA
  - libclang
  - mcuexpresso
  - fbx for msvc2022
  - Ruby
  - For python
    - conan
    - emsdk

- Not supported yet
  - FFmpeg
  - Msys2 (for FFmpeg QTBUG-124399)
  - MySQL
  - PostgreSQL
  - Java JDK
  - Strawberry Perl

Task-number: QTQAINFRA-6109
Task-number: QTQAINFRA-5855
Pick-to: 6.7
Change-Id: I4130e78add53f8a6e05eb41b7617b3f9ca802178
Reviewed-by: Simo Fält <simo.falt@qt.io>
2024-05-14 19:47:28 +03:00
Tero Heikkinen
7aa7c459ac Provisioning: Remove Python2 from Windows provisioning
Python2 certificate failure blocks Windows provisioning.

Task-number: QTQAINFRA-6315
Change-Id: I6f1e273d30e60fc4cbe872cdae2e52330bdb1ac7
Reviewed-by: Simo Fält <simo.falt@qt.io>
2024-05-14 08:09:05 +03:00
Qt Submodule Update Bot
63f464da8a Update submodules on 'dev in qt/qt5'
Change-Id: I3a11349d1d3106cd37c3136a7f105bf716c0535e
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-05-11 00:48:22 +00:00
Alexey Edelev
a3a8e3421e Fix the broken semicolon separated list arguments for configure
When evaluating the arguments from the config.tl.opt file we need
to consider that arguments may contain the escaped semicolons for
the list arguments. The escaped semicolons '\;' needs to be converted
to a CMake brace escaped sequence to make sure that semicolon persist
when running the command.

Fixes: QTBUG-124265
Change-Id: I051f856b43f75b0bac17ae13bd8c7de540f8c794
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2024-05-10 17:08:30 +02:00
Tero Heikkinen
9eae314404 Provisioning: Add Ubuntu 24.04 ARM64 as non-blocking in CI
Documentation targets moved to nightly - QTBUG-125212 [CI Platforms]

Ubuntu 24.04 has gcc 13.2.0 .

Task-number: QTQAINFRA-6112
Task-number: QTQAINFRA-6098
Task-number: QTQAINFRA-6203
Change-Id: I2f7d24ed13f6a318d738e9cd2f607e928c6bb8a2
Reviewed-by: Liang Qi <liang.qi@qt.io>
2024-05-10 11:41:52 +00:00
Dimitrios Apostolou
d25f25f3af Copy mdns resolution workaround to the emulated platforms too
Applies fix from commit 5c6814fb18
to the emulated platforms.

Fixes: QTBUG-107696
Pick-to: 6.7 6.5
Change-Id: I9c282ecf9c29c57cce964ae9962f1857c953cfd8
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2024-05-10 07:31:29 +02:00
Dimitrios Apostolou
5f3586f59f Simplify command invocation
No need to wrap the sed call in a shell, just invoke sed directly.
And reduce the two separate sed invocations to one with two file arguments.

This change is purely aesthetic, functionality should be identical.

Pick-to: 6.7 6.5
Change-Id: If841301077e1c21fe846b28b5f7f6af422d86b93
Reviewed-by: Toni Saario <toni.saario@qt.io>
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2024-05-10 07:31:27 +02:00
Alexey Edelev
faf1f3c1bc Add protobuf conformance_test_runner installation
This allows running protobuf conformance tests in CI.

Task-number: QTBUG-114143
Change-Id: I7596a1848629285f1a06243fc66bfcddec226038
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2024-05-09 07:35:03 +02:00
Ville-Pekka Karhu
673c5ae87f Platform Configs: Replace macOS 13 with macOS 14 as build and packaging target
This also switches to building with Xcode 15, as that's the Xcode
currently provisioned on our macOS 14 VMs.

The gRPC provisioning has been disabled for macOS 14 on ARM
due to linking errors for OpenSSL due to a faulty CMake find
scripts or tests.

Change-Id: Ia99720c8f1813bb0baf2062e3488202a4191eaf0
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2024-05-08 16:36:46 +00:00
Jukka Jokiniva
d8e6489cef Revert "Add Git\usr\bin\ to path on windows"
This reverts commit 0477a26495.

Reason for revert: This change breaks qtinterfaceframework mingw build

Change-Id: Ib0790c2bee99aa0133925b7663999e80906d882d
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2024-04-30 11:05:20 +00:00
Kalle Viironen
715321a47d Add Ubuntu 22.04 aarch64 platform for RTA
Ubuntu 22.04 arm64 with minimal provision is added for RTA use only:
Git, Java and GCC are installed in 02-apt.sh script. Python 3.10.12
is found already in Ubuntu.

Task-number: QTQAINFRA-6212
Change-Id: Ib9931974179626afacdc7d6c03810a333ed3ae8e
Reviewed-by: Johanna Äijälä <johanna.aijala@qt.io>
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
2024-04-30 08:53:26 +03:00
Simo Fält
fe87f13d43 Remove 'Packaging' feature from qtlite config
Having 'Packaging' feature in config will cause binary artifacts to be
exported for release. This config is not part of release content.

Task-number: QTBUG-124818
Change-Id: Ie3add012ddaeacc771713958b328af7d334be266
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2024-04-29 22:43:39 +03:00
Tor Arne Vestbø
b86099c993 coin: Build OpenSSL as universal build for macOS ARM
Change-Id: I6769c4b1c62d9d89c502e90339841191cdfb674f
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2024-04-29 13:07:48 +02:00
Tony Sarajärvi
f074859391 Fix shellcheck problems
Change-Id: I277fd923f62aa5888d7e18c89471909732da30e5
Reviewed-by: Liang Qi <liang.qi@qt.io>
2024-04-28 06:06:50 +00:00
Qt Submodule Update Bot
ebdea5a794 Update submodules on 'dev in qt/qt5'
Change-Id: I8a5cd25ece719f1b21e71c423df5330711bdc733
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-04-26 21:14:16 +00:00
Simo Fält
e6f58ce000 Provisioning: Fix openssl lib path on Debian
This amends change Ia4bacf1b7751e15915fc7faca473cb0408a72e35.

Task-number: QTBUG-123049
Pick-to: 6.7
Change-Id: I0a3e24dd8157fd63c1bdfb06019faff2fa5ef3df
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
(cherry picked from commit 2ac1bddea4)
Reviewed-by: Toni Saario <toni.saario@qt.io>
2024-04-25 14:59:46 +02:00
Simo Fält
e34e62b3b2 Provisioning: Install openssl3 into Debian VM
Task-number: QTBUG-123049
Change-Id: Ia4bacf1b7751e15915fc7faca473cb0408a72e35
Reviewed-by: Toni Saario <toni.saario@qt.io>
2024-04-25 14:59:43 +02:00
Michael Brüning
92969b10f5 Use SetEnvVar instead of appending .bash_profile with LLVM variables
It seems that the existence of .bash_profile on Debian systems prevents
the .profile file from being read on login, which means some additions
to PATH that are essential for e.g. the Web Engine build are not made.

Pick-to: 6.7 6.6 6.5
Change-Id: Ib271ef49e573fc0588ffbaa9bebbfda4469b60f9
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2024-04-24 09:53:23 +01:00
Assam Boudjelthia
e47468b7d9 Android:Coin: fix shellcheck issues in android_linux.sh
use '=' and '?' instead of '\=' and '\?' and wrap the curl URL
in quotes.

Amends 39517ef0d0.

Pick-to: 6.7
Task-number: QTQAINFRA-6166
Change-Id: I6e6333cdb94043d5476cac5bc631ea1ca16bab1f
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2024-04-24 07:51:52 +00:00
Qt Submodule Update Bot
9a459d8136 Update submodules on 'dev in qt/qt5'
Change-Id: Ia5180416bb06568b47f1f0781bc399f42aad1003
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-04-23 18:12:37 +00:00
Jari Helaakoski
a877059c95 Add disable deprecated up to 7.0.0 into QtLite COIN pipeline
Removing deprecated functions from compilation will reduce binary size

Task-number: QTBUG-104898
Change-Id: I7675ec30a5bfc5e4d1dd4179949a72507ba32b21
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2024-04-23 11:16:36 +00:00
Assam Boudjelthia
2d7f6760dd Coin:Android: bump minimum CI test emulator to Android 8 api 26
Qt 6.7 has the minimum supported Android version as 8, this applies
that to the CI as well.

Pick-to: 6.7
Task-number: QTBUG-111919
Change-Id: Id4c9eda29f1b61bf739eae3624b07f44a893cfae
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2024-04-23 09:14:05 +00:00
Assam Boudjelthia
3d69ad8d8a Android: remove unused Android 13 (api 33) system image download
Android 13 system image was still being downloaded and an emulator
created for it while it's not being used in CI, so it's just adds
unnecessary load to provisioning.

Pick-to: 6.7
Change-Id: Ie33c82fd578dcfe68a77426c8e5c0cf047938833
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2024-04-23 09:14:02 +00:00
Elias Toivola
86c53b6cce Update MySQL and enable it for more Windows targets
Currently MySQL is enabled only for Windows 10 22h2 msvc2022 and it
uses deprecated MySQL Connector/C. This change updates MySQL client
library by replacing MySQL Connector/C with MySQL 8.0 Server package
which contains a newer client library that works in other
Windows targets.

This change also enables MySQL in other non-packaging
Windows 10/11 targets except ARM, as Windows on ARM still
lacks MySQL support.

Task-number: QTQAINFRA-4999
Fixes: QTBUG-106097
Change-Id: I4472d3e441668bada18268fc4486bbbeefc4afd6
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2024-04-21 18:21:32 +03:00
Pavel Dubsky
befe4a61d6 Update provisioning script to build FFmpeg for Windows ARM64
Fixes: QTBUG-122745
Pick-to: 6.7 6.5
Change-Id: Ib03484ac89f07d7ad6433b0035769f4a9363495b
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2024-04-20 08:37:10 +02:00
Oliver Wolff
8fae627f8b Provisioning: Add Get-CpuArchitecture helper function
For the addition of ARM64 to our checked packages, this helper function
will come in handy as it is more fine grained than Is64BitHost.

Change-Id: I8956c1ca6e445c0b783a39e4d42069199496f053
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2024-04-20 08:37:08 +02:00
Casimir Saastamoinen
0477a26495 Add Git\usr\bin\ to path on windows
Adding Git\usr\bin\ to path would make it possible to use vim and
compile in ssh session

Task-number: COIN-1060
Change-Id: Ic96d787de3cc71c685e09ae6fd00c35745e747a1
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2024-04-20 09:37:05 +03:00
Jari Helaakoski
c58680d7a3 Make QtLite COIN pipeline significant
Task-number: QTBUG-104898
Change-Id: I0abc1dddf34d9744db050a5bb9d7df1f5198c602
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2024-04-18 11:44:55 +00:00
Qt Submodule Update Bot
7a2aa8b94a Update submodules on 'dev in qt/qt5'
Change-Id: I343ffa9e873d6af9b3955ffafa26eda8b3c45193
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-04-18 06:28:56 +00:00
Axel Spoerl
bf66cc70bc Mark qemu-armv7i/arm64-developer-build insignificant
Linux developer builds on QEMU (armv7 and arm 64) block CI for unknown
reasons.

The platforms host Ubuntu 22. Since Ubuntu is a platform of its own,
mark this insignificant in order to unblock CI.

Task-number: QTQAINFRA-6245
Change-Id: I95dacca73eb9f5ea004601611e654cd75a3d0bf4
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2024-04-17 18:58:58 +02:00
Elias Toivola
25f4cc5db6 Remove Windows 11 22H2 targets from CI
22H2 is replaced by Windows 11 23H2.

Task-number: QTQAINFRA-6113
Task-number: QTQAINFRA-6075
Change-Id: Ifd960a4c18b19f91a2624a23eacffa59c2faefac
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2024-04-16 20:51:37 +03:00
Elias Toivola
dc919e14d8 Make Windows 11 23H2 targets blocking
This change removes 'InsignificantTests' feature from Windows 11 23H2
platform configurations as there has not been increased test fail
rates compared to 22h2 targets in the past 10 days.

Also add 'Packaging' to windows-11_23H2-msvc2022 target

Task-number: QTQAINFRA-6113
Task-number: QTQAINFRA-6075
Task-number: QTBUG-124244
Change-Id: I8ddb9dfa45199982511f46841d1be30757055b25
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2024-04-16 20:51:35 +03:00
Alexey Edelev
63f83fb13d Add the explicit INPUT_headersclean=ON flag for non-qtbase repos
The 'headersclean' flag is not a "feature" anymore, so qtbase doesn't
propagate it for other repositories. CI no need to set either
INPUT_headersclean=ON or add -headersclean flag to the
qt-configure-module script command line.

Task-number: QTBUG-121722
Change-Id: I6970d6a04dd51ad4d3df114212f6410b80ddc6a1
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2024-04-16 06:25:00 +02:00
Assam Boudjelthia
39517ef0d0 Android:Coin: do gradle build in provisioning to cache downloadables
If Gradle is not present in the system, it's downloaded from the URL
from the Gradle wrapper. Also, the same for AGP when an Android
project build is done. Currently, that's done on every integration,
and that can be unreliable due to networking flakiness. With this
patch, a Gradle build is done once during provisioning where the
downloads of Gradle and AGP dependencies are downloaded.

Fixes: QTQAINFRA-6166
Fixes: QTQAINFRA-4726
Fixes: QTBUG-117203
Fixes: QTBUG-114699
Change-Id: Ic9fd8aeea3379ca1d45ffeb4523a52e2846fcabb
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Toni Saario <toni.saario@qt.io>
2024-04-14 13:28:59 +00:00
Robert Löhning
6941e50a6d README.md: Update MinGW requirement
Pick-to: 6.7
Change-Id: I931202f00592d5fc6411fa2d8a7825c5b9117c4e
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
2024-04-08 16:48:07 +02:00
Alexey Edelev
38ab29daf4 Ensure that the list of modules to exclude is not empty
Change-Id: I4ad2044966d793f7d2596336120942d65d2187d9
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2024-04-06 08:22:46 +01:00
Assam Boudjelthia
a9f16c0abd Coin:Android: update emulator version to 34.1.19
Update to latest (as of now) Android emulator version 34.1.19, which
might solve Vulkan crashes on some CI tests.

Pick-to: 6.7 6.6 6.5
Task-number: QTQAINFRA-5971
Change-Id: Ic81158f44ac5c922bfdbe6f5c04900234e063615
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2024-04-05 05:47:09 +00:00
Liang Qi
3e57070389 coin: test gcc-12 for qtbase only
Task-number: QTQAINFRA-6203
Change-Id: I4515b2be1cf9b9fe2f559dddf52f25d67f0e131f
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2024-04-04 15:20:10 +02:00
Allan Sandfeld Jensen
ee56a3b8ae Add gbm dependencies for webengine to RHEL
Was previously only added for 8.4 and 9.0

Pick-to: 6.7 6.5
Change-Id: Ifa22b6836818ad59b6f3dcfd6b1a6dbc1293782b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2024-04-04 09:41:49 +01:00
Tor Arne Vestbø
0a8f1050f9 Fix shellcheck warnings in set_tcc_permissions.sh
Pick-to: 6.7
Change-Id: I6b4de6e02e92d4c85fbb58cb1573a0ab3a178b24
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2024-04-03 13:57:31 +02:00
Toni Saario
c06ac4d550 Move c++20 to msvc2022 on windows 11 23h2
Amends f22c8e459f

Change-Id: I328cd0fbe7b93c84903373224ebc8d230ea7f62f
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2024-04-02 15:45:17 +03:00
Elias Toivola
5157d1ef93 Add Windows 11 23H2 as non-blocking in CI
Windows 11 23H2 version which will replace Windows 11 22H2 once the new version is deemed as stable. Until then, 23h2 tests will be set as insignificant.

Task-number: QTQAINFRA-6075
Task-number: QTQAINFRA-6113
Change-Id: I15054813896210fadf14da815ad5a7b3e402e800
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2024-03-28 18:30:59 +02:00
Toni Saario
786faf4727 Update vxworks VSB and VIP
Adds flags
"_WRS_CONFIG_KERNEL_SSP=y"
"_WRS_CONFIG_RTP_SSP=y"
for VSB.

Task-number: QTBUG-123715
Change-Id: I069d86d9633148fc50654f2e43ab7b8c9152f973
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2024-03-28 09:31:42 +00:00
Matti Paaso
5073850891 Provisioning: Update Axivion bauhaus-suite
Update tool from version 7.7.1 into version 7.7.4. License file
is also updated.

Change-Id: Ia38ed9d58bd4b5e5c1efdacca866faf4bfe95a09
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2024-03-27 22:35:57 +02:00
Simo Fält
1f69b89aff Provisioning: Disable keyring password prompt
Fixes: QTQAINFRA-6215
Pick-to: 6.6 6.5
Change-Id: I50e70177f763493107d0919625f4885dc3a9713d
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 1716158656)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-03-27 17:36:56 +00:00
Fabian Kosmale
61dc233044 init-repository: Check for cmake
And bail out with proper warning if cmake is missing

Change-Id: I39a9e340f873f8de05264d57b2a80fb754b30fbe
Reviewed-by:  Alexey Edelev <alexey.edelev@qt.io>
2024-03-26 23:07:40 +01:00
Alexey Edelev
b1a9c94a19 Fix the typo in list(APPEND command
Amends 13a7e25f5d

Pick-to: 6.7
Change-Id: I52f0990c1b956a8a1c9315e02114e429548bd2d2
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2024-03-26 23:07:20 +01:00
Tero Heikkinen
272d49061e Provisioning: Update MSVC2022 in CI
Updated:
Visual Studio Professional 2022
Visual Studio Build Tools 2022
CL new version 19.39.33523

BackgroundDownloader.exe disabled to reduce CPU usage during idle.

Task-number: QTQAINFRA-6204
Task-number: QTQAINFRA-6190
Task-number: QTQAINFRA-6206
Change-Id: I25dfc393a4b320cbaddefda2c8ff4b1738a776d8
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2024-03-26 07:33:15 +02:00
Joerg Bornemann
c8a236e858 CI: Turn off FEATURE_clangcpp for MSVC2022
This feature turns off clang-support for lupdate.

Task-number: QTBUG-123611
Task-number: QTQAINFRA-6204
Change-Id: I192b711b6a310e3dd1da3fefe2ca0c8fb732a01c
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2024-03-26 06:33:11 +01:00
Dominik Holland
532938387d coin: Disable Tests for the nightly ubuntu lcov config
The actual tests run in a special setup which takes care the tests are
build and run accordingly. The 'DisableTests' feature should make sure
the standard test build is skipped.

Change-Id: I7889c86b19a0f049fd3f682c9f70ed8acf5aeabe
Reviewed-by: Toni Saario <toni.saario@qt.io>
Reviewed-by: Robert Griebl <robert.griebl@qt.io>
2024-03-22 11:20:36 +01:00
Ville-Pekka Karhu
6440fe6f51 Provisioning: Upgrade Xcode to version 15.3 for macOS 14 ARM and Intel
Task-number: QTQAINFRA-6211
Change-Id: I26995366ca954d6b619f5dfe70f7abb5da7a2b31
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2024-03-22 12:20:34 +02:00
Alexey Edelev
13a7e25f5d Avoid collecting dependencies from modules that were explicitly skipped
If either -skip <module> or BUILD_<module>=OFF is set from command line
we should avoid processing the module dependencies and exclude it from
the list of modules that needs to be build.

Pick-to: 6.7
Change-Id: Ieec8db085221cc4abd5d8ac83c06ecce25d5d4b0
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2024-03-22 11:20:31 +01:00
Alex Bu
d77a38f2aa Add platform configs for meta-boot2qt-riscv
CI configs for new Boot2Qt repo.

Change-Id: Ib94f58d067eee6cb2d436984cf5dda40f575bbb4
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2024-03-21 08:44:46 +02:00
Ville-Pekka Karhu
9ceb1b5ef5 Platform configs: Replace hardware macOS 14 ARM with virtualized macOS 14 ARM
Task-number: QTQAINFRA-5831
Change-Id: Ibdd2360a55855d04bf02d6047870f48319c2ce9d
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2024-03-19 09:30:09 +00:00
Qt Submodule Update Bot
bbde52b3c5 Update submodules on 'dev in qt/qt5'
Change-Id: Ie7762721a37bc954d2f7962467654c31b5464e37
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-03-19 02:28:27 +00:00
Joerg Bornemann
f22c8e459f CI: Turn off C++20 for MSVC2019
qtbase/45fd36f1480a6229879a4e59236ffa1d1d22dfbf triggers internal
compiler errors in MSVC2019 when configuring Qt with -c++std c++20.

Move the build-testing of the C++20 standard to
windows-11_22h2-msvc2022.

Change-Id: I7591223ae391471c61a80883f305c73e43945714
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Toni Saario <toni.saario@qt.io>
2024-03-18 12:47:34 +01:00
Liang Qi
23ce6f4378 Run tests on offscreen mode for debian arm
Debian arm only has Wayland, and there is no QtWayland QPA plugin
available yet during the integration of each module. We can run
offscreen mode for now. And enable tests on Wayland in qtwayland
and qt5 integration.

Pick-to: 6.7 6.6 6.5
Task-number: QTQAINFRA-5594
Change-Id: Ie06d0b88509f9e55c96ce3b05b18ff8cec672f6b
Reviewed-by: Liang Qi <liang.qi@qt.io>
2024-03-18 11:30:54 +01:00
Matti Paaso
1cda55ed91 Add new Axivion Analysis configuration for 7.7.1
code_annotations.json file added into configuration.

Change-Id: I64925cdcb592eb76d0e4231ea35a60f7fb29e0de
Reviewed-by: <sebastian.krings@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2024-03-18 08:16:31 +02:00
Qt Submodule Update Bot
09ca183bb6 Update submodules on 'dev in qt/qt5'
Change-Id: Ic8dbfdda6aac076980cad6a9e0824d5e1b5db331
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-03-15 19:30:23 +00:00
Ville-Pekka Karhu
25bc8c0ba9 Provisioning: Add Spotlight disabling to macOS 13 and 14 ARM
Pick-to: 6.7
Change-Id: Ibdb5d7d23d43b442811e4a47096b1038fcff3b27
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2024-03-15 15:18:07 +02:00
Artem Dyomin
a53b63019f Implement dynamical ffmpeg linking on macOS
* fix dependencies and install names (absolute => relative)
* fix compilation build of dylib on xcode 15.
* add matching build instructions to yaml.
* old macos versions don't have 'realpath', workaround is used.

Task-number: QTBUG-120989
Pick-to: 6.7 6.6 6.5
Change-Id: I22e413d8f6d05c8c7d6d09a5926691216e781fd3
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
2024-03-13 11:54:46 +00:00
Piotr Wiercinski
a84104df1c Provisioning: Install webdriver-manager for Python3
WebDriverManager will be used to install correct version of
chromedriver for WebAssembly Selenium testing.

Task-number: QTBUG-122729
Change-Id: I49b61da3d8dd20b36ec6965c258a6a608ac33a63
Reviewed-by: Simo Fält <simo.falt@qt.io>
2024-03-12 14:37:27 +00:00
Tor Arne Vestbø
b4de4de742 coin: Give bootstrap-agent permission to use microphone on macOS
The bootstrap-agent is the 'responsible process' in TCC terms when
it comes to whether a test should be allowed to access the microphone.

 https://www.qt.io/blog/the-curious-case-of-the-responsible-process

By giving this process the permission explicitly, by modifying the
TCC database, we ensure that all tests run as child processes also
get this permission.

Change-Id: Ia03084ac89f0717ac6457b0035769f4a9863495b
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2024-03-11 09:17:21 +00:00
Qt Submodule Update Bot
6d8dd19dae Update submodules on 'dev in qt/qt5'
Change-Id: I18ce853c20a31f99dfee4a1ece54017dcb10878d
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-03-10 23:13:15 +00:00
Simo Fält
a3f2c30374 CI: Use '-qt-doubleconversion' with Debian config
This is to avoid additional dependencies.

Fixes: QTBUG-123051
Pick-to: 6.7
Change-Id: Idb6937e9df353f1667eabedb2642a766131d02da
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
(cherry picked from commit 3bbe6f0250)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-03-08 01:08:10 +00:00
Alexandru Croitor
f818f73c09 CMake: Fix configure -help to work
The -help option was parsed by init-repository and not passed along
to configure. Make sure to pass it.

Currently this means a developer won't be able to see the
init-repository help when using the configure script.

Task-number: QTBUG-120030
Change-Id: I5d8c0f9147e1fcd5522ab98ad9ab0947a8411d1a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2024-03-04 17:22:39 +01:00
Alexey Edelev
7c8bab37bb Fix the broken standalone -submodules argument in top-level configure
Make sure that -submodules argument is processed when we assume that
the top-level Qt meta repository is already initialized.

Amends 2c9664ca33

Fixes: QTBUG-122954
Change-Id: Id7a325c2dd670667e8b0fdcd607b52080b118f4f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2024-03-04 16:24:46 +01:00
Qt Submodule Update Bot
6c57ec909d Update submodules on 'dev in qt/qt5'
Change-Id: I3e952781b1eb1ca3f3bd0a10be70c9a1db86f81d
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-03-04 15:24:27 +00:00
Simo Fält
859b4e0c8c CI: Restore lost variable for skipping Debian instructions
Change-Id: I6e0cbb9f974bbe305682afffdfece810307225e6
Reviewed-by: Toni Saario <toni.saario@qt.io>
2024-03-01 08:53:10 +02:00
Qt Submodule Update Bot
d20032ea60 Update submodules on 'dev in qt/qt5'
Change-Id: I3cc0c8a2dc4b907497be110d23b8f9b60419ef64
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-02-29 00:18:58 +00:00
Simo Fält
54245a4888 COIN: Update used chroot for Debian packages
Use Ubuntu 22.04 instead of 20.04

Pick-to: 6.7
Change-Id: If03ba14555fdcd0c98fab3843bdfd5c2ca1eba3f
Reviewed-by: Toni Saario <toni.saario@qt.io>
2024-02-28 05:24:10 +00:00
Alexandru Croitor
2c9664ca33 CMake: Integrate init-repository with the configure script
Calling configure will now implicitly run init-repository when
appropriate. See further down below for what "appropriate" means.

All supported init-repository options can be passed to configure as
except for -mirror, -oslo, -berlin.

This includes useful options like -submodules, -no-resolve-deps and
-no-optional-deps.

When running configure on a qt5.git clone without any submodules
cloned, configure will exit with a helpful error message suggesting to
pass -init-submodules, so it automatically clones missing repositories.
This means cloning is opt-in, so that internet access is not done
implicitly.

The error message also suggests passing the -submodules option.
This will affect which submodules will be cloned by init-repository
and which submodules will be configured by configure.
In this case -submodules is effectively an alias of
init-repository's -module-subset for cloning purposes.

When calling configure a second time, without -init-submodules, on an
already configured repo, init-repository behavior is entirely skipped.

-submodules now accepts init-repository-style special values like
"essential", "addon", "all", "existing", "-deprecated" for the purpose
of cloning submodules. The values are then translated into actual repos
that should also be configured or skipped by configure.

The default subset of cloned submodules is currently the same one as
init-repository, "default", which clones 44 actively maintained
repositories as well as deprecated submodules.

If configure is called a second time WITH -init-submodules, it's the
same as calling init-repository --force to re-initialize submodules.
In this case passing something like
 --submodules existing,<additional-submodules>
might make sense to add or remove submodules.

As a drive-by this also fixes the bug where you couldn't pass a
  configure -- -DFOO=0
parameter to configure, because it got treated as '0>', redirecting
from a different stream than stdout, leading to empty content in the
file.

[ChangeLog][General][Build System] The configure script now implicitly
calls init-repository when appropriate and accepts init-repository
command line options.

Fixes: QTBUG-120030
Task-number: QTBUG-122622
Change-Id: Iedbfcbf0a87c8ee89e40d00b6377b68296a65a62
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2024-02-28 06:24:02 +01:00
Alexandru Croitor
915b8d2f54 CMake: Add a test for init-repository
The new test uses the recently introduced upstream cmake test
infrastructure module, to ensure the execution log output is identical
between the old perl script and new the cmake script for a few basic
use cases. It is not an exhaustive test of all features. It should
work on Windows, macOS, Linux (assuming perl is installed).

There are also a few tests that only apply to the cmake-script
version for features that exist only in the latter (like the 'existing'
module-subset key).

The test is a 'manual' test instead of an 'auto' test because we don't
really want to clone so many submodules as part of every qt5.git
integration in Coin.
In the future, we could potentially add a nightly Jenkins job to run
the tests.

Task-number: QTBUG-120030
Change-Id: I4201d734c2877109102518b073dec24bb63edc24
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by:  Alexey Edelev <alexey.edelev@qt.io>
2024-02-28 06:23:50 +01:00
Alexandru Croitor
b742509973 CMake: Add upstream cmake (3rdparty) test infrastructure module
It will be used to write some manual tests for init-repository to
ensure there are no big regressions between the perl and cmake
scripts.

It is only used for the manual tests and is not shipped or installed
as part of the Qt installation.

The code is licensed under BSD-3.

The files were renamed to be more inline with Qt's naming.

The contents of QtIRTestHelpers.cmake is one function from
<cmake-upstream>/Tests/RunCMake/CMakeLists.txt

The contents of QtIRRunCMake.cmake is the whole file
<cmake-upstream>/Tests/RunCMake/RunCMake.cmake

Task-number: QTBUG-120030
Change-Id: Ia3f459fe25b9b8c683a69b5dded2019e03eebdb9
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by:  Alexey Edelev <alexey.edelev@qt.io>
2024-02-28 06:23:44 +01:00
Alexandru Croitor
29019c9cae CMake: Rewrite init-repository using CMake and .sh / .bat scripts
init-repository is now implemented using CMake + .sh / .bat scripts.

The intent behind the change is not to require Perl to checkout and
build Qt, because it can be troublesome to acquire on Windows and it
can also lead to issues during builds due to CMake picking up a Perl
distribution-shipped compiler.

All previous options were ported over like
- module-subset
- alternates
- etc.

A few new options were added:
- --resolve-deps / --no-resolve-deps
- --optional-deps / --no-optional-deps
- --verbose
and some other internal ones for testing reasons.

The new script does automatic resolving of dependencies
based on the depends / recommends keys in .gitmodules unless
--no-resolve-deps is passed.
So if you configure with --module-subset=qtsvg, the script will also
initialize qtbase.
If --no-optional-deps is passed, only required dependencies ('depends'
ky) will be included and optional dependencies ('recommends' key) will
be excluded.

The new script now has a new default behavior when calling
init-repository a second time with --force, without specifying a
--module-subset option. Instead of initializing all submodules, it
will just update the existing / previously initialized submodules.

It also understands a new module-subset keyword "existing", which
expands to the previously initialized submodules, so someone can
initialize an additional submodule by calling
 init-repository -f --module-subset=existing,qtsvg

Implementation notes:

The overall code flow is init-repository -> cmake/QtIRScript.cmake
-> qt_ir_run_main_script -> qt_ir_run_after_args_parsed ->
qt_ir_handle_init_submodules (recursive) -> qt_ir_clone_one_submodule
with some bells and whistles on the side.

The command line parsing is an adapted copy of the functions
in qtbase/cmake/QtProcessConfigureArgs.cmake. We can't use those exact
functions because qtbase is not available when init-repository is
initially called, and force cloning qtbase was deemed undesirable.

We also have a new mechanism to detect whether init-repository was
previously called. The perl script used the existence of the qtbase
submodule as the check. In the cmake script, we instead set a custom
marker into the local repo config file.

Otherwise the code logic should be a faithful reimplementation of
init-repository.pl aside from some small things like logging and
progress reporting.

The pre-existing git cloning logic in QtTopLevelHelpers was not used
because it would not be compatible with the alternates option and I
didn't want to accidentally break the pre-existing code. Plus
init-repository is a bit opinionated about how it clones and checks
out repos.
The dependency collection and sorting logic uses the pre-existing code
though.

See follow up commit about implicitly calling init-repository when
qt5/configure is called and the repo was not initialized before.

[ChangeLog][General] init-repository was rewritten using CMake. Perl
is no longer required to initialize the qt5.git super repo.

Task-number: QTBUG-120030
Task-number: QTBUG-122622
Change-Id: Ibc38ab79d3fdedd62111ebbec496eabd64c20d2b
Reviewed-by:  Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2024-02-28 06:23:36 +01:00
Alexandru Croitor
1971e8075d CMake: Rename init-repository script to make space for cmake script
Task-number: QTBUG-120030
Change-Id: Iae2f3e25814321729c213503db2ac8a3a39cf2d9
Reviewed-by:  Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2024-02-28 06:23:32 +01:00
Alexandru Croitor
75365f3f31 CMake: Add copyright blurbs to our cmake files
Change-Id: I7bd7c8d9f193fdebc9ccd2a04d7b8cfb3ab4963d
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by:  Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2024-02-28 06:23:28 +01:00
Dominik Holland
18287421fd Add a ubuntu lcov nightly configuration
Also install lcov 2.0 into our ubuntu machines.

Change-Id: Ib70445c94ae1dab07b9b58ba58900b12f7d23161
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Robert Griebl <robert.griebl@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2024-02-27 06:14:46 +01:00
Simo Fält
c6d5521c45 Provisioning: Fix re-installing ca-certificates on Debian
If the installed ca-certificates on tier1 is something that doesn't
exist in the repo anymore, re-install will fail. So just try to install
and expect update if a more recent version is available.

Pick-to: 6.7
Change-Id: Ib6e610f4908fcae6af7e79ecc37ffe600c6ee7af
Reviewed-by: Toni Saario <toni.saario@qt.io>
2024-02-27 05:14:43 +00:00
Qt Submodule Update Bot
b63568cf60 Update submodules on 'dev in qt/qt5'
Change-Id: I8ccc11bd0a590a36fb491faebe871946480294b0
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-02-26 17:08:41 +00:00
Jøger Hansegård
04910ff946 Upgrade to msys2 20240113 in Windows provisioning
This upgrade is needed because msys2 20220319 fails to install
diffutils. Its url is broken. Diffutils was first added on 6.5

Fixes: QTBUG-122465
Pick-to: 6.7 6.6 6.5
Change-Id: If94cafed68f3400557e01365e743155e9b732dac
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2024-02-23 15:08:19 +01:00
Jari Helaakoski
dc10fbdc78 Add QtLite into CI
QtLite allows user to select subset of Qt features.
This combined with static linking and link time optimization
produces up to 80% smaller QML application

Change-Id: Ied98a564cca39901091e751303341f83b672a631
Task-number: QTBUG-117638
Reviewed-by: Toni Saario <toni.saario@qt.io>
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2024-02-23 13:08:33 +00:00
Simo Fält
b67103423c COIN: Disable Debian config from modules missing rules
Task-number: QTBUG-122447
Pick-to: 6.6 6.7
Change-Id: I6e893d07e30bd246b78559dd439fbaff452468e9
Reviewed-by: Toni Saario <toni.saario@qt.io>
2024-02-21 13:28:01 +00:00
Artem Dyomin
45220efb3a Update ffmpeg: explicitly refer to the latest release 6.1.1
Pick-to: 6.7 6.6 6.5
Change-Id: I231c5cdc6155de0d1ea98220a90ecc0f910b34d6
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
2024-02-21 13:27:56 +00:00
Tero Heikkinen
e6d06a6f92 Provisioning: Make RHEL versions static
With new CI policy to always update packages when provisioning changes,
but system & packages are tied to a specific RHEL release i.e. --set=9.2

This could reduce unwanted upgrades and make provisioning more stable.

Task-number: QTQAINFRA-5658
Pick-to: 6.7
Change-Id: I898a793acf152ebb6e1f31c9b26a98f47145bd5a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2024-02-20 16:33:38 +02:00
Qt Submodule Update Bot
1f91e26dfa Update submodules on 'dev in qt/qt5'
Change-Id: Id85441fb93469e35a12da8350f7c97e0d75b7afc
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-02-20 14:05:19 +00:00
Topi Reinio
0ac7878a57 coin: Update provisioned qdoc, qtattributionsscanner binaries
Update qdoc and qtattributionsscanner to the latest versions from
qttools/dev.

The qdoc binary is now built against libClang v17.0.1. It also supports
the new \compares and \compareswith commands introduced in Qt 6.7.

Pick-to: 6.7
Task-number: QTBUG-111580
Change-Id: I7d91226a89870968ecf3c9938ffcb451b1ea5c68
Reviewed-by: Luca Di Sera <luca.disera@qt.io>
2024-02-18 19:57:43 +00:00
Lorn Potter
f0f3e42bf5 wasm: update Emscripten to 3.1.50
Pick-to: 6.7
Change-Id: I39f3dbfce016a95a5c88b11596e666791c2311af
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io>
2024-02-18 20:57:41 +01:00
Heikki Halmet
0c85cb928e Provisioning macos 11 ARM: Install util-linux package for license service
This is required for macOS ARM target in license service

Task-number: QLS-455
Change-Id: I7029e58e84e54818e11f90540f6c830bf79b4d63
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2024-02-18 19:57:38 +00:00
Tony Sarajärvi
c392699a9c Fix ci-files01-hki.intra.qt.io -> ci.qt.io in provision scripts
Change-Id: I4d0a129c170583d79dd6a0c8c38aa3db95e08c31
Reviewed-by: Casimir Saastamoinen <casimir.saastamoinen@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2024-02-18 19:57:36 +00:00
Qt Submodule Update Bot
1a1af3cab6 Update submodules on 'dev in qt/qt5'
Change-Id: I0afccdc3f8537052490a70f594e22e03c7dfbb78
Reviewed-by: Antti Kokko <antti.kokko@qt.io>
2024-02-16 07:31:29 +02:00
Artem Dyomin
85c2ab668b Update ffmpeg 6.0 => 6.1 for android targets on unix hosts
In n6.1, the target cpu is supposed to be x86-64 instead of x86_64.

Task-number: QTBUG-121343
Pick-to: 6.7 6.6 6.5
Change-Id: Id87a6eaaf73f093bbac66f245998cda6a3e992fc
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
2024-02-14 22:28:07 +00:00
Jussi Witick
5acf7834c1 Revert "Add Insignificant to Axivion analysis builds for QSR-runtime"
This reverts commit cd515c6b07.

Reason for revert: Axivion licensing issue in dev provisioning has been fixed. Remove the insignificant flags from these Axivion builds for Qt Safe Renderer.

Change-Id: I0fb42fa1ed61a9044e5d53160481eeddbad87555
Reviewed-by: Teemu Holappa <teemu.holappa@qt.io>
2024-02-14 09:44:54 +00:00
Simo Fält
2df41ae02b COIN: Update branch in Debian rules repositories
Change-Id: Ic4ed1e04c94223b533c63f59133af0befc26dd5c
Reviewed-by: Toni Saario <toni.saario@qt.io>
2024-02-14 09:49:23 +02:00
Ville-Pekka Karhu
dffc3dd7df Platform configs: Add virtualized macOS 14 ARM tests as insignificant
Allows us to first see tart on production load before starting to
move the blocking arm targets to tart. Later configs will be
directly replaced and original ids will be used.

Change-Id: I865e6fe46b61828b6123b69973a2a4d209697c5f
Reviewed-by: Toni Saario <toni.saario@qt.io>
2024-02-14 06:11:03 +00:00
Artem Dyomin
231d089553 Retain symlinks upon making universal macOS binaries
Saving symlinks is important when we build dynamic libs,
it will be needed for building QtMM + dynamic ffmpeg.

Task-number: QTBUG-120989
Pick-to: 6.7 6.6 6.5
Change-Id: I58c040a81f1fa6a3b316ace864fda0687415fd0a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2024-02-12 16:17:10 +00:00
Alexey Edelev
7b104e18f8 Add libprotoc libprotobuf and libgrpc to Debian aarch64 provisioning
Use the system libraries.

Pick-to: 6.5 6.6 6.7
Task-number: QTBUG-121579
Change-Id: I15e0199a8aa41f607af43569a685cced3b522aec
Reviewed-by: Tatiana Borisova <tatiana.borisova@qt.io>
2024-02-12 11:08:28 +01:00
Alexey Edelev
4f2674dce6 Suggest the correct switch to skip repo when configuring Qt
Add -DBUILD_<repo>=OFF suggestion for the cases when configuring Qt
using CMake and the repo dependecies are missing.

Change-Id: Iaa370b49e8fd634bebb7c8300d076165c51dec5e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2024-02-12 11:08:28 +01:00
Simo Fält
5c4e8c7a64 Provisioning: Install libclang on Debian 11 template
Pick-to: 6.7
Task-number: QTBUG-120912
Change-Id: I12e71c5c3058756e3e0eac420fb19a1f752b64b7
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2024-02-12 06:52:32 +00:00
Dimitrios Apostolou
e1054c8abb Enable gdb stacktraces on all Linux configurations
This amends commit c66f8407a8 by running
the script on the remaining Linux configurations where gdb stacktraces
were already working, in order to avoid breakage in the future.

Change-Id: Ic069ed5369f761dcc3557b2ea7e09de703ebc142
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2024-02-06 16:11:09 +01:00
Dimitrios Apostolou
7523cd1951 Fix RHEL-9.2 provisioning getting stuck in disabling packagekit
packagekit service can't be disabled (it's missing an [install]
section), and sometimes it gets activated by other means before
PackageKit uninstalled.

So mask the unit, and try to stop the service repeatedly in case it
resists.

Fixes: QTQAINFRA-6078
Change-Id: I2c93b548007f24f7d7f632410d146eb472e2b4fb
Reviewed-by: Simo Fält <simo.falt@qt.io>
2024-02-06 16:11:04 +01:00
Dominik Holland
fa70cdee06 Revert "Disable asan build for QtIF and QtAppMan"
This reverts commit c15fb88b1a.

The problems have been fixed in both modules.

Change-Id: I4ac395f1f6604eade7f42f64bdd5938ace6fc1e4
Reviewed-by: Robert Griebl <robert.griebl@qt.io>
2024-02-03 08:40:18 +00:00
Timur Pocheptsov
65695bc38b QtMultimedia - build ffmpeg plugin for iOS
Minimal preliminary script for building ffmpeg for iOS.

Change-Id: Ie210db8cd50b5a757fcc6d6258c3ebdf4fc53c51
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2024-02-03 08:40:15 +00:00
Piotr Wierciński
b9214c7dd9 Provisioning: Update Python installation
For WebAssembly selenium tests we need a newer
version of Python (>3.7), so install 3.11 instead
of default 3.6.
Selenium and Netifaces pip packages are also required.

Change-Id: I9e3b317b359e8775d90bd143ff9692fc2a90cf42
Reviewed-by: Dominik Holland <dominik.holland@qt.io>
2024-02-02 07:23:30 +00:00
Simo Fält
171e7cb44c COIN: Make sure we read env also from zsh profiles
Pick-to: 6.7
Change-Id: I0aaa6552a8f3971b43d2aed6b3dd7c3e216f4236
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2024-02-02 07:23:27 +00:00
Simo Fält
adf2deefeb COIN: Move arm Mac brew and pyenv install script under common directory
Pick-to: 6.7
Change-Id: I83c6b017d81bc98431f0d0421167890466e5b855
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2024-02-02 07:23:25 +00:00
Simo Fält
b89cbf3ee0 COIN: Revert 949594ef83 from arm Mac
Currently prevents provisioning.

Pick-to: 6.7
Change-Id: I135c58452b44066a9279497ba8e57454b0c0a458
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2024-02-02 07:23:22 +00:00
Artem Dyomin
0fe99775c0 Enable ffmpeg shared libs shipping for Windows targets
We have to replace static linkage with dynamic one due to
licensing issues.

The related patch in QtMM
codereview.qt-project.org/c/qt/qtmultimedia/+/523405
introduces cmake var QT_DEPLOY_FFMPEG that enables deployment
of ffmpeg shared libs to the installation lib dir or
the build lib dir (for dev builds).

These are build/tests results for the current CR
together with the patch in QtMM
testresults.qt.io/coin/integration/qt/qtmultimedia/tasks/web_rescheduled_qt_qtmultimedia_1703082976669

The related patch
codereview.qt-project.org/c/qt/qtbase/+/525100
fixes the deployment tool on Windows.

The plan is to have the set of changes for Windows in
6.5.4, 6.6.2, 6.7.0.

It was agreed that we want to backport shared ffmpeg to 6.6 and 6.5.

Pick-to: 6.7 6.6 6.5
Change-Id: Ie4d8621a98fb93715c32e49c830bfd715ed0e8a5
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2024-02-02 07:23:19 +00:00
Artem Dyomin
483694d725 Update ffmpeg n6.0 -> n6.1 on Windows
The update will go tohether with dynamic ffmpeg build on Windows.

Pick-to: 6.7 6.6 6.5
Change-Id: I7a72d4009c8a8e4030899b526bad9cfedd6f45a7
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
2024-02-02 08:23:16 +01:00
Artem Dyomin
9fa918c129 Update ffmpeg to n6.1 for Linux and macOS
FFmpeg version was between n6.0 and n6.1 due to some hot fix
for having it compilable on CI. Since n6.1 has been release,
we should update.

Pick-to: 6.7 6.6 6.5
Change-Id: I0d88599be53748eeb038287abe8aad6c0f189933
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
2024-02-02 07:23:14 +00:00
Dimitrios Apostolou
c66f8407a8 Enable automatic gdb stacktrace in QTest, in case a test crashes
On Linux, this requires that gdb can be found in PATH, and that no
kernel security settings like yama.ptrace_scope  prevent it.

Patch contains also a drive-by architecture detection fix for Debian arm64.

Fixes: QTQAINFRA-6029
Fixes: QTQAINFRA-5940
Fixes: QTQAINFRA-6030
Fixes: QTQAINFRA-6046
Fixes: QTQAINFRA-6012
Fixes: QTQAINFRA-5930
Task-number: QTQAINFRA-5933
Change-Id: Ie6debde94c1cc5783161ffa7354b58734c372702
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Toni Saario <toni.saario@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2024-01-31 20:07:09 +01:00
Assam Boudjelthia
710f03ffcc Android: use Android emulator 32.1.15 to not break rhi tests
Currently CI doesn't cache specific Android Emulator version,
so after an update was availabe 33.1.23 is broke RHI tests on
Android 13 emulator. The last known emulator version to to work
was 32.1.15, so as a workaround we install this specific version.

Fixes: QTBUG-119884
Pick-to: 6.7
Change-Id: Iec56207b6142d97a9dfabc0fb07a920c868e58b1
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 481825822b)
Reviewed-by: Zoltan Gera <zoltan.gera@qt.io>
Reviewed-by: Toni Saario <toni.saario@qt.io>
2024-01-31 19:07:06 +00:00
Toni Saario
137a747c58 Coin: check hash exists after calculation
When the catch all is hit the exit statement only returns from
the case statement. Remove the exit statement.

Check that some sha was returned, otherwise empty input
sha will result in empty calculated sha, which causes
false positive sha check.

Pick-to: 6.7
Change-Id: Iddb9562cf7e12f695e21ca63b302c9217fc98aab
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
2024-01-31 19:07:03 +00:00
Marianne Yrjänä
02199c9f75 Set CMAKE_STRIP for QNX builds in toolchain file
Pick-to: 6.7
Task-number: QTBUG-120594
Change-Id: Ie39a51616d1c1bb03382bc633d9cda11f80fc80f
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2024-01-31 21:07:00 +02:00
Matti Paaso
4b275bb4ab Provisioning: Update Axivion bauhaus-suite
Updating axvion bauhaus-suite tool into version 7.7.1 and
license file.

Task-number: QTQAINFRA-5992
Change-Id: I614211cd67457a2a725ffffa7dbab8d9764d752d
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2024-01-31 07:21:33 +02:00
Elias Toivola
8e8af54d12 Provisioning: Remove macOS 11 and bump minimum targets to 12
Drop macOS 11 out from dev (6.8) branch as it is EOL or very near it. This removes macOS 11 test configurations and bumps macOS targets to
12 in provision scripts.

Task-number: QTQAINFRA-6009
Change-Id: I2ea2764fb4a14eb508e39330acfc0947b94343fc
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2024-01-31 05:21:31 +00:00
Qt Submodule Update Bot
34b96646ac Update submodules on 'dev in qt/qt5'
Change-Id: I6aa5f3b07c1c4c6698df76d8694f4565c1b5a102
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-01-30 08:20:05 +00:00
Tero Heikkinen
b6829751d2 Fix OpenSUSE 15.5 with new re-created Tier1 image
Task-number: QTQAINFRA-6065
Pick-to: 6.7 6.6 6.5
Change-Id: I24530bcca2a8f8e50686703d8cd8519c27195de2
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2024-01-19 10:02:09 +02:00
Simo Fält
a00fb312a2 COIN: Remove 'Sccache' feature from arm Mac
There is no sccache binary for arm mac so in case of failure the fail
parser reports failing sccache command as a reason.

Pick-to: 6.7
Change-Id: I3bfd6152d5be2cd00fd19762ed89ae0bc4f7ebcc
Reviewed-by: Toni Saario <toni.saario@qt.io>
2024-01-17 08:33:01 +02:00
Axel Spoerl
b93bcc2c9c COIN: Install a systemd script for starting a dummy sound device
Don't load the dummy sound module directly.
Install a systemd script instead.

This amends 198cd69244.

Fixes: QTBUG-120655
Pick-to: 6.7 6.6 6.5
Change-Id: If727a60d1cf3683615775ae55efe9bae159d147e
Reviewed-by: Toni Saario <toni.saario@qt.io>
2024-01-16 13:01:08 +01:00
Elias Toivola
96e4ffd6d9 Qt Creator: Bump macOS to 12
macOS 11 is at its end-of-life and should be dropped from Qt dev (6.8).

Task-number: QTQAINFRA-6009
Change-Id: I76325a0ae540568085c803925d28c88f99e41d3c
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-01-16 14:01:03 +02:00
Jussi Witick
cd515c6b07 Add Insignificant to Axivion analysis builds for QSR-runtime
Add Insignificant to Axivion analysis builds for QSR-runtime. If the
Axivion analysis fails to run for QSR dev-branch, it should not block
the build.

Change-Id: I72240121eb33a742edbafd08ccf10f72efe6b96e
Reviewed-by: Teemu Holappa <teemu.holappa@qt.io>
2024-01-16 09:22:29 +02:00
Axel Spoerl
198cd69244 COIN: Install dummy sound device on openSuSE Leap 15.5
Add missing dummy sound device, to prevent sound based tests from
failing / flaking.

Fixes: QTBUG-120655
Pick-to: 6.7 6.6 6.5
Change-Id: I555d1391b49892226732f36c6a67be7d8dae3d4b
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2024-01-12 10:46:00 +01:00
Matti Paaso
164d38c994 Add permissions on macOS11
RTA android tests fail due permission error

Task-number: QTQAINFRA-6005
Pick-to: 6.7
Change-Id: I560b8d0efcc6e5b271514e2ce728988435156604
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2024-01-11 12:43:11 +02:00
Matti Paaso
823f127bed Fix windows network adapter name for Windos 10 x86
Using the same solution as all the other Windows VMs

Pick-to: 5.15 6.2 6.5 6.7
Change-Id: I643f332c99e62ba8037e2db60fa69298a585b306
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2024-01-10 12:50:21 +02:00
Dominik Holland
b4ea542679 Add platform configs for qtvehicleservices
CI configs for new qt-labs repo.

Change-Id: I3b314e1a9e9765d593bf029a58f1efe7de71c26f
Reviewed-by: Toni Saario <toni.saario@qt.io>
2024-01-09 13:28:24 +01:00
Simo Fält
186a8ca970 Change resolution for one more display in Windows
Amends change 349ce73bba

Pick-to: 5.15 6.2 6.5 6.7
Task-number: QTQAINFRA-5987
Change-Id: I2682ed5de49583460fc2db2f534e8c284c10d11f
Reviewed-by: Toni Saario <toni.saario@qt.io>
2024-01-07 13:13:40 +02:00
Kai Köhne
576feb6a2a README.md 'Linkify' README.git
Change-Id: Ib0e54a926a0c20b48f68bfc795b637d15c29845a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2024-01-07 12:13:36 +01:00
Artem Dyomin
f87f27dc62 Revert "Retain symlinks upon making universal macos binaries"
This reverts commit a3c489b272.

Reason for revert: Mistakenly replaced 'set -e' => 'set -x' just hides the problem on macOS 11 and 12. The patch needs to be investigated again

Pick-to: 6.7
Change-Id: I238395fd2ae1fc362a0c9af02e2d48acce22e0dc
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2023-12-28 19:10:31 +00:00
Dimitrios Apostolou
134b5f3ef6 Enable ASAN build in all of qt5 repository
qtgrpc was the only module left because of QTBUG-120227.
After resolving that, enable in all of qt5 repository.

Task-number: QTBUG-120227
Fixes: QTQAINFRA-5375
Change-Id: I44782990eb54e4e3955141f999dcb1f93d5f7bf3
Reviewed-by:  Alexey Edelev <alexey.edelev@qt.io>
2023-12-28 14:00:31 +01:00
Artem Dyomin
a3c489b272 Retain symlinks upon making universal macos binaries
Saving symlinks is important when we build dynamic libs,
it will be needed for building QtMM + dynamic ffmpeg.

Pick-to: 6.7 6.6 6.5
Change-Id: Ic356a9c3df727a1afe14e8553728952d3b106ba3
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2023-12-24 16:48:27 +00:00
Elias Toivola
782e1700cf Update Android NDK to version r26b
Revision 26.1.10909125. Also prebuilt OpenSSL 3.0.7 with it.

Task-number: QTQAINFRA-5771
Pick-to: 6.7
Change-Id: I0dbe1f2d38f277bcb805f5b7ac1f30e25aabd1f8
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
2023-12-22 02:46:33 +00:00
Qt Submodule Update Bot
cc680854f2 Update submodules on 'dev in qt/qt5'
Change-Id: I721119f860f480c2d260e7f7c8aa22838ff89401
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-12-22 02:46:31 +00:00
Toni Saario
c15fb88b1a Disable asan build for QtIF and QtAppMan
Currently does not pass on these modules and blocks CI.

Task-number: QTBUG-120326
Change-Id: Ia6d3987112cb29757e668b69757166e896abbe70
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2023-12-21 12:04:59 +02:00
Dimitrios Apostolou
4952a90048 Enable blocking ASAN builds on most modules
Task-number: QTQAINFRA-5375
Change-Id: I7b560501b7f02094bb6b17685c7c006c2fe0eae9
Reviewed-by: Toni Saario <toni.saario@qt.io>
2023-12-20 14:35:07 +01:00
Heikki Halmet
3c5d9cabf0 Add refresh support for all Red Hat versions
Pick-to: 6.7 6.6 6.5 6.2 5.15
Change-Id: I1fbfadf70a9b7dbf0f738aa41d627adfac6138c5
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2023-12-20 09:52:26 +00:00
Toni Saario
349ce73bba Set resolution for newer qemu displays
Windows recognizes newer qemu as different display, which needs
to be handled as well.

Pick-to: 5.15 6.2 6.5 6.7
Task-number: QTQAINFRA-5987
Change-Id: I6819bfa6dd90a3f54cfcb0b5b885ba909052d375
Reviewed-by: Simo Fält <simo.falt@qt.io>
2023-12-18 20:04:19 +02:00
Assam Boudjelthia
23b09c1d2a Coin/Android: print emulator errors/warnings to coin and log file
Making emulator errors and warnings available directly in the ci run
logs makes it easier to debug issues.

Amends 1c27f95d01.

Task-number: QTQAINFRA-5596
Pick-to: 6.7
Change-Id: I2388dcf9fcdcf18803ff03266493584216f92fdc
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
2023-12-18 16:41:07 +00:00
Alexandru Croitor
361cc1e22c coin: Bump macOS host templates to 13
We support Xcode 14 (SDK 13) as the minimum, documented on
https://doc-snapshots.qt.io/qt6-dev/macos.html

Bump our macos static tests and ios tests platforms to build on macOS
13, just like all other macos configs, and to also follow what we
document.

We can then enforce the minimum SDK version as a build time error
when building qtbase.

Change-Id: I7ce223983a31c14f8997d2e6f9b061909e326f6d
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2023-12-18 06:33:23 +01:00
Toni Saario
78e362b9d8 Update vxworks VSB and VIP
Adds opengl mesa, charconv and optional lib patches.

Pick-to: 6.7
Change-Id: Ic3550de289b41300ed399fc1fac145991f07a6fb
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2023-12-18 05:33:18 +00:00
Toni Saario
bf2b855daf Make vxworks target significant on all ported modules
Pick-to: 6.7
Change-Id: Ic9e6f0d5eddcfd242b935cc2d473df611cc32835
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2023-12-18 05:33:13 +00:00
Toni Saario
3c8f2cfdbb Fix vxworks scripts shellcheck issues
Pick-to: 6.7
Change-Id: I446ce5eb5688c5d81cb95702fedcf47e57c02ebe
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2023-12-18 05:33:08 +00:00
Jussi Witick
a604dc4f53 Bump mingw version from 11 to 13 for SafeRenderer tooling
Bump mingw version from 11 to 13 for SafeRenderer tooling. Mingw version
was updated with the following task, but only QSR runtime was updated.

Task-number: QTQAINFRA-5045
Change-Id: I385aedcd55112c3e5732189173bcdd62e777d02e
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2023-12-18 05:33:02 +00:00
Assam Boudjelthia
e0498fc679 Android: quote the logcat tag passed to emulator command
To avoid any issue parsing the command params.

Task-number: QTQAINFRA-5596
Pick-to: 6.7
Change-Id: I473839901934405d4ea8607bc98f7b3e3a886805
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
2023-12-18 05:32:57 +00:00
Kai Köhne
c2d36b3ed6 Remove 'old' LICENSE files
We switched to spdx/reuse a while ago. That transition is now almost
complete, so let's remove the old files. The new ones are in the
LICENSES directory:

LICENSES/GPL-2.0-only.txt
LICENSES/GPL-3.0-only.txt
LICENSES/LGPL-3.0-only.txt
LICENSES/LicenseRef-Qt-Commercial.txt
LICENSES/Qt-GPL-exception-1.0.txt

Pick-to: 6.7
Task-number: QTBUG-67283
Change-Id: Ie42673e28071dbfcb4df6022d15a0eb545305f7a
Reviewed-by: Lucie Gerard <lucie.gerard@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2023-12-18 06:32:53 +01:00
Tero Heikkinen
f7702f8e42 Provisioning: Add vulkan package to SLES 15 SP5 for RTA usage
Task-number: QTQAINFRA-5969
Task-number: QTBUG-115722
Pick-to: 6.7 6.6
Change-Id: I16bedf931ea09b7dc5589ec2f465952ea66b73ca
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2023-12-18 07:32:49 +02:00
Evgenii Kucheruk
f6b96f848f Add changes to Squish installation for 7.2.1
Pick-to: 6.6
Pick-to: 6.7
Change-Id: I620776afb2e4575ffbc9b9c3c6c53c25516add08
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2023-12-18 05:32:44 +00:00
Jøger Hansegård
027acd91fd Disable the truemotion1 decoder for the FFmpeg media backend
The truemotion1 decoder depends on a truemotion1data.h file which is
part of FFmpeg. This header file has a reference to GPL licensing, and
although the header provides a rationale for why the decoder tables are
not copyrightable, we prefer to not distribute this decoder as part of
the online Qt installer.

Users who need ability to decode truemotion1 format video files can do
so by recompiling the QtMultimedia FFmpeg media plugin against a custom
build of FFmpeg.

Task-number: QTBUG-118204
Pick-to: 6.7 6.6 6.5
Change-Id: Ia195ef9ce576d18047e7b38bbc5019648ba42b4c
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
2023-12-18 05:32:38 +00:00
Amir Masoud Abdol
a5a6393145 Provisioning: Install OpenSSL via Vcpkg on Linux
- Add a custom triplets for building dynamic android libraries
- Set `ANDROID_NDK_HOME` environment variable, as it is needed when
  vcpkg builds for Android.
- Install `perl-IPC-Cmd` when necessary, requirement for OpenSSL.
- Install openSSL for x64-linux-qt, x86-android-qt, and
  x86_64-android-qt. The latter android triplet has been renamed from
  vcpkg's official `x64-android.cmake` triplet to further clarify the
  android abi.
- Adjusted version.txt to account for the existence of two OpenSSL. The
  system OpenSSL now shows up as `System's OpenSSL` in `version.txt`.

Task-number: QTBUG-115715
Change-Id: I6cf9b808d26bbea97ebeeadac58cef5ede25ee50
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-12-18 06:32:32 +01:00
Amir Masoud Abdol
a1b278c3a3 Provisioning: Install OpenSSL via Vcpkg on Windows
- Add a custom triplets for building dynamic android libraries
- Set `ANDROID_NDK_HOME` environment variable, as it is needed when
  vcpkg builds for Android.
- Install openSSL for x64-windows, arm64-windows, and
  armeabi-v7a-android-qt. The android triplet has been renamed from
  vcpkg's official `arm-neon-android.cmake` triplet to further clarify
  the android abi.
- The version of the libraries installed via vcpkg is being written to
  versions.txt as `vpckg <library-name> = <library-version>`

Task-number: QTBUG-115715
Change-Id: I4a17bf00e59c3c90968941be6a21c1d961ba3d97
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-12-18 06:32:27 +01:00
Amir Masoud Abdol
9e1b456953 Provisioning: Install vcpkg on Linux
- Building the vcpkg executable
- Cloning an internal mirror of the vcpkg's official repository, and
  setting the VCPKG_ROOT to its path. The mirror is under my personal
  namespace in `git.qt.io` and will be replaced by official qt mirror
  in the future.
- Adding an empty `vcpkg.json` for Linux.
- Setting environment variables for Binary and Asset cache
- Run `install-vcpkg.sh` on all active Linux hosts

Task-number: QTBUG-115715
Change-Id: I9a4249a2fc265e4dc4c3083d1b411dffb84bfdf3
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-12-18 06:32:22 +01:00
Amir Masoud Abdol
65e19ca672 Provisioning: Install vcpkg on Windows
- Downloading the vcpkg executable
- Cloning an internal mirror of the vcpkg's official repository, and
  setting the VCPKG_ROOT to its path. The mirror is under my personal
  namespace in `git.qt.io` and will be replaced by official qt mirror
  in the future.
- Adding an empty `vcpkg.json` for Windows
- Adding a `vcpkg-configuration.json`
- Setting environment variables for Binary and Asset cache
- Run `install-vcpkg.sh` on all active Windows hosts

Task-number: QTBUG-115715
Change-Id: I7a8a883a1523f27506ff31757f5aad5221de0698
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-12-18 06:32:17 +01:00
Amir Masoud Abdol
c1847f4f5b Provisioning: Install zip on Linux
Vcpkg needs zip for compressing the build artifacts, etc. for caching.

Task-number: QTBUG-115715
Change-Id: I1f0c056ca44a94ddfc181e6ce0213790e616e431
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-12-18 06:32:12 +01:00
Amir Masoud Abdol
d7b66b044f Provisioning: Install pkg-config on macOS
Vcpkg needs pkg-config on macOS.

Task-number: QTBUG-115715
Change-Id: Ie7ab7394d7b3073d346e05a215c8289f1ab04364
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-12-18 06:32:06 +01:00
Amir Masoud Abdol
d591095e7c Provisioning: Install jq
jq is used during the provisioning of vcpkg ports to extract the version
string of packages from vcpkg.json file.

Task-number: QTBUG-115715
Change-Id: I73d95b8d8399b25a9aa58855b9d65cac968618fc
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-12-18 06:32:00 +01:00
Qt Submodule Update Bot
ef66175ad1 Update submodules on 'dev in qt/qt5'
Change-Id: Ia6fa67450199776f1e7d12d3e85eed7cf59a4672
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-12-16 05:34:50 +00:00
Matti Paaso
08b629b0b1 Change Axivion static analysis into nightly build
Change-Id: I3624c85015b06c81dd0102e7ea7bb17e76f539e1
Reviewed-by: Toni Saario <toni.saario@qt.io>
Reviewed-by: Robert Griebl <robert.griebl@qt.io>
2023-12-15 14:35:28 +02:00
Tony Sarajärvi
cef68a74ea Fix shellcheck complaints in vcpkg mounting scripts
Change-Id: Iae479d43f98e057ebffdc66a407691bdcfc14229
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-12-15 12:35:25 +00:00
Elias Toivola
7bc6a1c869 Android: Update Android 14 system image for emulator
Use the latest Android 14 image in CI Android emulator. Build ID:
UE1A.230829.036. This should reduce tests crashing with Android.

Task-number: QTQAINFRA-5971
Pick-to: 6.7
Change-Id: Id9c221118163feef722e402d9e412381809b6b72
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2023-12-15 12:35:23 +00:00
Qt Submodule Update Bot
f55eaad627 Update submodules on 'dev in qt/qt5'
Change-Id: I1257e0dd45de23d2f0dd5787193660b30089ea12
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-12-14 11:21:43 +00:00
Jukka Jokiniva
8926f3596d Revert "Make Integrity temporarily non-blocking in CI"
This reverts commit 25eb7f8a36.

Reason for revert: Integrity tool chain licenses fixed.

Change-Id: I5a9a363f1b6a59c7f283251b03eec65cb221e8ee
Reviewed-by: Toni Saario <toni.saario@qt.io>
2023-12-12 08:36:05 +00:00
Lucie Gérard
3d065be1d0 Update remaining old style license header to SPDX style in coin
Pick-to: 6.6 6.7
Task-number: QTBUG-108364
Change-Id: Ic36ce592d0ff698b30fbf2edab106d4af5d31bc2
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2023-12-12 07:51:55 +00:00
Safiyyah Moosa
baf7aacdac Doc: Create a CONTRIBUTING.md file
Many users push Qt contributions to the Github repository mirror(s), however we cannot accept these contributions. This file directs users
to Qt's contributing guidelines wiki page.

A .github/pull_request_template.md file has also been created for Qt
project.

Fixes: QTBUG-116663
Pick-to: 6.7 6.6 6.5
Change-Id: Iea4cba8e6cb90859bd364ae4480be0e000f9bae6
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2023-12-12 06:17:16 +00:00
Lucie Gérard
a09d8e0ae6 Update license header to SPDX format
Pick-to: 6.5 6.6 6.7
Task-number: QTBUG-67283
Change-Id: Id3679318557c7611b040b155fe1c815e1093d8f9
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2023-12-12 06:17:14 +00:00
Elias Toivola
0b70b8f3c4 Update MinGW to v13.1.0 (x86_64)
Task-number: QTQAINFRA-5045
Change-Id: Id63e375faf2ed984c461ff4eab6271187672c3ea
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2023-12-11 13:14:06 +02:00
Jukka Jokiniva
25eb7f8a36 Make Integrity temporarily non-blocking in CI
GHS compiler license expired, so Integity target
changed to insignificant.

Pick-to: 6.7
Change-Id: I927d1c2fd2a255351dbe7582f9564a0b4227ee46
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2023-12-11 12:21:33 +02:00
467 changed files with 8973 additions and 2349 deletions

View File

@@ -10,10 +10,13 @@
# ==[ Footers: Uncomment and edit where applicable ]===================|
#
# One task per entry. Add a space after the colon.
# Use Fixes to automatically close an issue, and Task-number to
# reference it without further action.
# You do not need both for the same issue.
# Use Fixes to automatically close an issue, Reopens to automatically
# reopen an issue, and Task-number to reference it without further
# action.
# You do not need to include Task-Number where Fixes or Reopens is
# specified for the same issue.
#Fixes:
#Reopens:
#Task-number:
#Coverity-Id:
#

3
.gitignore vendored
View File

@@ -8,3 +8,6 @@ CMakeUserPresets.json
build
build-*
.DS_Store
init-repository.opt
init-repository.opt.in
config.tl.opt

92
.gitmodules vendored
View File

@@ -1,40 +1,40 @@
[submodule "qtbase"]
path = qtbase
url = ../qtbase.git
branch = 6.7.2
branch = 6.8.0
status = essential
[submodule "qtsvg"]
depends = qtbase
path = qtsvg
url = ../qtsvg.git
branch = 6.7.2
branch = 6.8.0
status = addon
[submodule "qtdeclarative"]
depends = qtbase
recommends = qtimageformats qtshadertools qtsvg qtlanguageserver
path = qtdeclarative
url = ../qtdeclarative.git
branch = 6.7.2
branch = 6.8.0
status = essential
[submodule "qtactiveqt"]
depends = qtbase
path = qtactiveqt
url = ../qtactiveqt.git
branch = 6.7.2
branch = 6.8.0
status = addon
[submodule "qtmultimedia"]
depends = qtbase qtshadertools
recommends = qtdeclarative qtquick3d
path = qtmultimedia
url = ../qtmultimedia.git
branch = 6.7.2
branch = 6.8.0
status = addon
[submodule "qttools"]
depends = qtbase
recommends = qtdeclarative qtactiveqt
path = qttools
url = ../qttools.git
branch = 6.7.2
branch = 6.8.0
status = essential
[submodule "qtxmlpatterns"]
depends = qtbase
@@ -47,7 +47,7 @@
depends = qttools
path = qttranslations
url = ../qttranslations.git
branch = 6.7.2
branch = 6.8.0
status = essential
priority = 30
[submodule "qtdoc"]
@@ -55,7 +55,7 @@
recommends = qtmultimedia qtshadertools qtwebengine
path = qtdoc
url = ../qtdoc.git
branch = 6.7.2
branch = 6.8.0
status = essential
priority = 40
[submodule "qtrepotools"]
@@ -76,21 +76,21 @@
recommends = qtdeclarative
path = qtlocation
url = ../qtlocation.git
branch = 6.7.2
branch = 6.8.0
status = preview
[submodule "qtpositioning"]
depends = qtbase
recommends = qtdeclarative qtserialport
path = qtpositioning
url = ../qtpositioning.git
branch = 6.7.2
branch = 6.8.0
status = addon
[submodule "qtsensors"]
depends = qtbase
recommends = qtdeclarative
path = qtsensors
url = ../qtsensors.git
branch = 6.7.2
branch = 6.8.0
status = addon
[submodule "qtsystems"]
depends = qtbase
@@ -117,61 +117,61 @@
recommends = qtdeclarative
path = qtconnectivity
url = ../qtconnectivity.git
branch = 6.7.2
branch = 6.8.0
status = addon
[submodule "qtwayland"]
depends = qtbase
recommends = qtdeclarative
path = qtwayland
url = ../qtwayland.git
branch = 6.7.2
branch = 6.8.0
status = addon
[submodule "qt3d"]
depends = qtbase
recommends = qtdeclarative qtshadertools qtmultimedia
path = qt3d
url = ../qt3d.git
branch = 6.7.2
status = addon
branch = 6.8.0
status = deprecated
[submodule "qtimageformats"]
depends = qtbase
path = qtimageformats
url = ../qtimageformats.git
branch = 6.7.2
branch = 6.8.0
status = addon
[submodule "qtserialbus"]
depends = qtbase
recommends = qtserialport
path = qtserialbus
url = ../qtserialbus.git
branch = 6.7.2
branch = 6.8.0
status = addon
[submodule "qtserialport"]
depends = qtbase
path = qtserialport
url = ../qtserialport.git
branch = 6.7.2
branch = 6.8.0
status = addon
[submodule "qtwebsockets"]
depends = qtbase
recommends = qtdeclarative
path = qtwebsockets
url = ../qtwebsockets.git
branch = 6.7.2
branch = 6.8.0
status = addon
[submodule "qtwebchannel"]
depends = qtbase
recommends = qtdeclarative qtwebsockets
path = qtwebchannel
url = ../qtwebchannel.git
branch = 6.7.2
branch = 6.8.0
status = addon
[submodule "qtwebengine"]
depends = qtdeclarative
recommends = qtwebchannel qttools qtpositioning
path = qtwebengine
url = ../qtwebengine.git
branch = 6.7.2
branch = 6.8.0
status = addon
priority = 10
[submodule "qtcanvas3d"]
@@ -185,28 +185,28 @@
recommends = qtwebengine
path = qtwebview
url = ../qtwebview.git
branch = 6.7.2
branch = 6.8.0
status = addon
[submodule "qtcharts"]
depends = qtbase
recommends = qtdeclarative qtmultimedia
path = qtcharts
url = ../qtcharts.git
branch = 6.7.2
branch = 6.8.0
status = addon
[submodule "qtdatavis3d"]
depends = qtbase
recommends = qtdeclarative qtmultimedia
path = qtdatavis3d
url = ../qtdatavis3d.git
branch = 6.7.2
branch = 6.8.0
status = addon
[submodule "qtvirtualkeyboard"]
depends = qtbase qtdeclarative qtsvg
recommends = qtmultimedia
path = qtvirtualkeyboard
url = ../qtvirtualkeyboard.git
branch = 6.7.2
branch = 6.8.0
status = addon
[submodule "qtgamepad"]
depends = qtbase
@@ -219,27 +219,27 @@
depends = qtbase qtdeclarative
path = qtscxml
url = ../qtscxml.git
branch = 6.7.2
branch = 6.8.0
status = addon
[submodule "qtspeech"]
depends = qtbase qtmultimedia
recommends = qtdeclarative
path = qtspeech
url = ../qtspeech.git
branch = 6.7.2
branch = 6.8.0
status = addon
[submodule "qtnetworkauth"]
depends = qtbase
path = qtnetworkauth
url = ../qtnetworkauth.git
branch = 6.7.2
branch = 6.8.0
status = addon
[submodule "qtremoteobjects"]
depends = qtbase
recommends = qtdeclarative
path = qtremoteobjects
url = ../qtremoteobjects.git
branch = 6.7.2
branch = 6.8.0
status = addon
[submodule "qtwebglplugin"]
depends = qtbase qtwebsockets
@@ -252,87 +252,87 @@
depends = qtbase qtdeclarative
path = qtlottie
url = ../qtlottie.git
branch = 6.7.2
branch = 6.8.0
status = addon
[submodule "qtquicktimeline"]
depends = qtbase qtdeclarative
path = qtquicktimeline
url = ../qtquicktimeline
branch = 6.7.2
branch = 6.8.0
status = addon
[submodule "qtquick3d"]
depends = qtbase qtdeclarative qtshadertools
recommends = qtquicktimeline
path = qtquick3d
url = ../qtquick3d.git
branch = 6.7.2
branch = 6.8.0
status = addon
[submodule "qtshadertools"]
depends = qtbase
path = qtshadertools
url = ../qtshadertools.git
branch = 6.7.2
branch = 6.8.0
status = addon
[submodule "qt5compat"]
depends = qtbase qtdeclarative
path = qt5compat
url = ../qt5compat.git
branch = 6.7.2
branch = 6.8.0
status = deprecated
[submodule "qtcoap"]
depends = qtbase
path = qtcoap
url = ../qtcoap.git
branch = 6.7.2
branch = 6.8.0
status = addon
[submodule "qtmqtt"]
depends = qtbase qtdeclarative
path = qtmqtt
url = ../qtmqtt.git
branch = 6.7.2
branch = 6.8.0
status = addon
[submodule "qtopcua"]
depends = qtbase qtdeclarative
path = qtopcua
url = ../qtopcua.git
branch = 6.7.2
branch = 6.8.0
status = addon
[submodule "qtlanguageserver"]
depends = qtbase
path = qtlanguageserver
url = ../qtlanguageserver.git
branch = 6.7.2
branch = 6.8.0
status = preview
[submodule "qthttpserver"]
depends = qtbase
recommends = qtwebsockets
path = qthttpserver
url = ../qthttpserver.git
branch = 6.7.2
status = preview
branch = 6.8.0
status = addon
[submodule "qtquick3dphysics"]
depends = qtbase qtdeclarative qtquick3d qtshadertools
path = qtquick3dphysics
url = ../qtquick3dphysics.git
branch = 6.7.2
branch = 6.8.0
status = addon
[submodule "qtgrpc"]
depends = qtbase
recommends = qtdeclarative
path = qtgrpc
url = ../qtgrpc.git
branch = 6.7.2
status = preview
branch = 6.8.0
status = addon
[submodule "qtquickeffectmaker"]
depends = qtbase qtdeclarative qtshadertools
recommends = qtquick3d
path = qtquickeffectmaker
url = ../qtquickeffectmaker.git
branch = 6.7.2
branch = 6.8.0
status = addon
[submodule "qtgraphs"]
depends = qtbase qtdeclarative qtquick3d
path = qtgraphs
url = ../qtgraphs.git
branch = 6.7.2
status = preview
branch = 6.8.0
status = addon

View File

@@ -53,8 +53,9 @@ foreach(module IN LISTS QT_BUILD_SUBMODULES)
if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${module}/CMakeLists.txt)
message(FATAL_ERROR
"Module '${module}' cannot be found. Please double-check the "
"spelling and try again. Or run `./init-repository` to get "
"the submodules.")
"spelling and try again. Or run\n"
"`./configure -init-submodules -submodules ${module}` "
"to clone the submodule and its dependencies.")
endif()
endforeach()
@@ -87,9 +88,15 @@ foreach(module IN LISTS QT_BUILD_SUBMODULES)
if(NOT error_reason STREQUAL "")
if(required)
if(QT_INTERNAL_CALLED_FROM_CONFIGURE)
set(skip_argument "-skip ${module}")
else()
set(skip_argument "-DBUILD_${module}=OFF")
endif()
message(FATAL_ERROR "Module '${module}' depends on '${dep}', "
"but ${error_reason}.\n"
"Note: Use '-skip ${module}' to exclude it from the build.")
"Note: Use '${skip_argument}' to exclude it from the build.")
else()
message(STATUS "Skipping optional dependency '${dep}' of '${module}', "
"because ${error_reason}.")

View File

@@ -98,7 +98,7 @@ to your `PATH` environment variable to access them.
Building Qt from git
====================
See http://wiki.qt.io/Building_Qt_6_from_Git and README.git
See http://wiki.qt.io/Building_Qt_6_from_Git and [README.git](README.git)
for more information.
See http://wiki.qt.io/Qt_6 for the reference platforms.

136
cmake/3rdparty/cmake/Copyright.txt vendored Normal file
View File

@@ -0,0 +1,136 @@
CMake - Cross Platform Makefile Generator
Copyright 2000-2024 Kitware, Inc. and Contributors
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of Kitware, Inc. nor the names of Contributors
may be used to endorse or promote products derived from this
software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
------------------------------------------------------------------------------
The following individuals and institutions are among the Contributors:
* Aaron C. Meadows <cmake@shadowguarddev.com>
* Adriaan de Groot <groot@kde.org>
* Aleksey Avdeev <solo@altlinux.ru>
* Alexander Neundorf <neundorf@kde.org>
* Alexander Smorkalov <alexander.smorkalov@itseez.com>
* Alexey Sokolov <sokolov@google.com>
* Alex Merry <alex.merry@kde.org>
* Alex Turbov <i.zaufi@gmail.com>
* Andreas Pakulat <apaku@gmx.de>
* Andreas Schneider <asn@cryptomilk.org>
* André Rigland Brodtkorb <Andre.Brodtkorb@ifi.uio.no>
* Axel Huebl, Helmholtz-Zentrum Dresden - Rossendorf
* Benjamin Eikel
* Bjoern Ricks <bjoern.ricks@gmail.com>
* Brad Hards <bradh@kde.org>
* Christopher Harvey
* Christoph Grüninger <foss@grueninger.de>
* Clement Creusot <creusot@cs.york.ac.uk>
* Daniel Blezek <blezek@gmail.com>
* Daniel Pfeifer <daniel@pfeifer-mail.de>
* Dawid Wróbel <me@dawidwrobel.com>
* Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
* Eran Ifrah <eran.ifrah@gmail.com>
* Esben Mose Hansen, Ange Optimization ApS
* Geoffrey Viola <geoffrey.viola@asirobots.com>
* Google Inc
* Gregor Jasny
* Helio Chissini de Castro <helio@kde.org>
* Ilya Lavrenov <ilya.lavrenov@itseez.com>
* Insight Software Consortium <insightsoftwareconsortium.org>
* Intel Corporation <www.intel.com>
* Jan Woetzel
* Jordan Williams <jordan@jwillikers.com>
* Julien Schueller
* Kelly Thompson <kgt@lanl.gov>
* Konstantin Podsvirov <konstantin@podsvirov.pro>
* Laurent Montel <montel@kde.org>
* Mario Bensi <mbensi@ipsquad.net>
* Martin Gräßlin <mgraesslin@kde.org>
* Mathieu Malaterre <mathieu.malaterre@gmail.com>
* Matthaeus G. Chajdas
* Matthias Kretz <kretz@kde.org>
* Matthias Maennich <matthias@maennich.net>
* Michael Hirsch, Ph.D. <www.scivision.co>
* Michael Stürmer
* Miguel A. Figueroa-Villanueva
* Mike Durso <rbprogrammer@gmail.com>
* Mike Jackson
* Mike McQuaid <mike@mikemcquaid.com>
* Nicolas Bock <nicolasbock@gmail.com>
* Nicolas Despres <nicolas.despres@gmail.com>
* Nikita Krupen'ko <krnekit@gmail.com>
* NVIDIA Corporation <www.nvidia.com>
* OpenGamma Ltd. <opengamma.com>
* Patrick Stotko <stotko@cs.uni-bonn.de>
* Per Øyvind Karlsen <peroyvind@mandriva.org>
* Peter Collingbourne <peter@pcc.me.uk>
* Petr Gotthard <gotthard@honeywell.com>
* Philip Lowman <philip@yhbt.com>
* Philippe Proulx <pproulx@efficios.com>
* Raffi Enficiaud, Max Planck Society
* Raumfeld <raumfeld.com>
* Roger Leigh <rleigh@codelibre.net>
* Rolf Eike Beer <eike@sf-mail.de>
* Roman Donchenko <roman.donchenko@itseez.com>
* Roman Kharitonov <roman.kharitonov@itseez.com>
* Ruslan Baratov
* Sebastian Holtermann <sebholt@xwmw.org>
* Stephen Kelly <steveire@gmail.com>
* Sylvain Joubert <joubert.sy@gmail.com>
* The Qt Company Ltd.
* Thomas Sondergaard <ts@medical-insight.com>
* Tobias Hunger <tobias.hunger@qt.io>
* Todd Gamblin <tgamblin@llnl.gov>
* Tristan Carel
* University of Dundee
* Vadim Zhukov
* Will Dicharry <wdicharry@stellarscience.com>
See version control history for details of individual contributions.
The above copyright and license notice applies to distributions of
CMake in source and binary form. Third-party software packages supplied
with CMake under compatible licenses provide their own copyright notices
documented in corresponding subdirectories or source files.
------------------------------------------------------------------------------
CMake was initially developed by Kitware with the following sponsorship:
* National Library of Medicine at the National Institutes of Health
as part of the Insight Segmentation and Registration Toolkit (ITK).
* US National Labs (Los Alamos, Livermore, Sandia) ASC Parallel
Visualization Initiative.
* National Alliance for Medical Image Computing (NAMIC) is funded by the
National Institutes of Health through the NIH Roadmap for Medical Research,
Grant U54 EB005149.
* Kitware, Inc.

349
cmake/3rdparty/cmake/QtIRRunCMake.cmake vendored Normal file
View File

@@ -0,0 +1,349 @@
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
# file Copyright.txt or https://cmake.org/licensing for details.
#
# Original file location was Tests/RunCMake/RunCMake.cmake
foreach(
arg
IN ITEMS
RunCMake_GENERATOR
RunCMake_SOURCE_DIR
RunCMake_BINARY_DIR
)
if(NOT DEFINED ${arg})
message(FATAL_ERROR "${arg} not given!")
endif()
endforeach()
function(run_cmake test)
if(DEFINED ENV{RunCMake_TEST_FILTER})
set(test_and_variant "${test}${RunCMake_TEST_VARIANT_DESCRIPTION}")
if(NOT test_and_variant MATCHES "$ENV{RunCMake_TEST_FILTER}")
return()
endif()
unset(test_and_variant)
endif()
set(top_src "${RunCMake_SOURCE_DIR}")
set(top_bin "${RunCMake_BINARY_DIR}")
if(EXISTS ${top_src}/${test}-result.txt)
file(READ ${top_src}/${test}-result.txt expect_result)
string(REGEX REPLACE "\n+$" "" expect_result "${expect_result}")
elseif(DEFINED RunCMake_TEST_EXPECT_RESULT)
set(expect_result "${RunCMake_TEST_EXPECT_RESULT}")
else()
set(expect_result 0)
endif()
string(TOLOWER ${CMAKE_HOST_SYSTEM_NAME} platform_name)
#remove all additional bits from cygwin/msys name
if(platform_name MATCHES cygwin)
set(platform_name cygwin)
endif()
if(platform_name MATCHES msys)
set(platform_name msys)
endif()
foreach(o IN ITEMS stdout stderr config)
if(RunCMake-${o}-file AND EXISTS ${top_src}/${RunCMake-${o}-file})
file(READ ${top_src}/${RunCMake-${o}-file} expect_${o})
string(REGEX REPLACE "\n+$" "" expect_${o} "${expect_${o}}")
elseif(EXISTS ${top_src}/${test}-${o}-${platform_name}.txt)
file(READ ${top_src}/${test}-${o}-${platform_name}.txt expect_${o})
string(REGEX REPLACE "\n+$" "" expect_${o} "${expect_${o}}")
elseif(EXISTS ${top_src}/${test}-${o}.txt)
file(READ ${top_src}/${test}-${o}.txt expect_${o})
string(REGEX REPLACE "\n+$" "" expect_${o} "${expect_${o}}")
elseif(DEFINED RunCMake_TEST_EXPECT_${o})
string(REGEX REPLACE "\n+$" "" expect_${o} "${RunCMake_TEST_EXPECT_${o}}")
else()
unset(expect_${o})
endif()
endforeach()
foreach(o IN ITEMS stdout stderr config)
if(DEFINED RunCMake_TEST_NOT_EXPECT_${o})
string(REGEX REPLACE "\n+$" "" not_expect_${o} "${RunCMake_TEST_NOT_EXPECT_${o}}")
endif()
endforeach()
if (NOT expect_stderr)
if (NOT RunCMake_DEFAULT_stderr)
set(RunCMake_DEFAULT_stderr "^$")
endif()
set(expect_stderr ${RunCMake_DEFAULT_stderr})
endif()
if (NOT RunCMake_TEST_SOURCE_DIR)
set(RunCMake_TEST_SOURCE_DIR "${top_src}")
endif()
if(NOT RunCMake_TEST_BINARY_DIR)
set(RunCMake_TEST_BINARY_DIR "${top_bin}/${test}-build")
endif()
if(NOT RunCMake_TEST_NO_CLEAN)
file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
endif()
file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
if(RunCMake-prep-file AND EXISTS ${top_src}/${RunCMake-prep-file})
include(${top_src}/${RunCMake-prep-file})
else()
include(${top_src}/${test}-prep.cmake OPTIONAL)
endif()
if(RunCMake_TEST_OUTPUT_MERGE)
set(actual_stderr_var actual_stdout)
set(actual_stderr "")
else()
set(actual_stderr_var actual_stderr)
endif()
if(DEFINED RunCMake_TEST_TIMEOUT)
set(maybe_timeout TIMEOUT ${RunCMake_TEST_TIMEOUT})
else()
set(maybe_timeout "")
endif()
if(RunCMake-stdin-file AND EXISTS ${top_src}/${RunCMake-stdin-file})
set(maybe_input_file INPUT_FILE ${top_src}/${RunCMake-stdin-file})
elseif(EXISTS ${top_src}/${test}-stdin.txt)
set(maybe_input_file INPUT_FILE ${top_src}/${test}-stdin.txt)
else()
set(maybe_input_file "")
endif()
if(NOT RunCMake_TEST_COMMAND)
if(NOT DEFINED RunCMake_TEST_OPTIONS)
set(RunCMake_TEST_OPTIONS "")
endif()
if(APPLE)
list(APPEND RunCMake_TEST_OPTIONS -DCMAKE_POLICY_DEFAULT_CMP0025=NEW)
endif()
if(RunCMake_TEST_LCC AND NOT RunCMake_TEST_NO_CMP0129)
list(APPEND RunCMake_TEST_OPTIONS -DCMAKE_POLICY_DEFAULT_CMP0129=NEW)
endif()
if(RunCMake_MAKE_PROGRAM)
list(APPEND RunCMake_TEST_OPTIONS "-DCMAKE_MAKE_PROGRAM=${RunCMake_MAKE_PROGRAM}")
endif()
set(RunCMake_TEST_COMMAND ${CMAKE_COMMAND})
if(NOT RunCMake_TEST_NO_SOURCE_DIR)
list(APPEND RunCMake_TEST_COMMAND "${RunCMake_TEST_SOURCE_DIR}")
endif()
list(APPEND RunCMake_TEST_COMMAND -G "${RunCMake_GENERATOR}")
if(RunCMake_GENERATOR_PLATFORM)
list(APPEND RunCMake_TEST_COMMAND -A "${RunCMake_GENERATOR_PLATFORM}")
endif()
if(RunCMake_GENERATOR_TOOLSET)
list(APPEND RunCMake_TEST_COMMAND -T "${RunCMake_GENERATOR_TOOLSET}")
endif()
if(RunCMake_GENERATOR_INSTANCE)
list(APPEND RunCMake_TEST_COMMAND "-DCMAKE_GENERATOR_INSTANCE=${RunCMake_GENERATOR_INSTANCE}")
endif()
list(APPEND RunCMake_TEST_COMMAND
-DRunCMake_TEST=${test}
--no-warn-unused-cli
)
else()
set(RunCMake_TEST_OPTIONS "")
endif()
if(NOT DEFINED RunCMake_TEST_RAW_ARGS)
set(RunCMake_TEST_RAW_ARGS "")
endif()
if(NOT RunCMake_TEST_COMMAND_WORKING_DIRECTORY)
set(RunCMake_TEST_COMMAND_WORKING_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
endif()
string(CONCAT _code [[execute_process(
COMMAND ${RunCMake_TEST_COMMAND}
${RunCMake_TEST_OPTIONS}
]] "${RunCMake_TEST_RAW_ARGS}\n" [[
WORKING_DIRECTORY "${RunCMake_TEST_COMMAND_WORKING_DIRECTORY}"
OUTPUT_VARIABLE actual_stdout
ERROR_VARIABLE ${actual_stderr_var}
RESULT_VARIABLE actual_result
ENCODING UTF8
${maybe_timeout}
${maybe_input_file}
)]])
if(DEFINED ENV{PWD})
set(old_pwd "$ENV{PWD}")
else()
set(old_pwd)
endif()
# Emulate a shell using this directory.
set(ENV{PWD} "${RunCMake_TEST_COMMAND_WORKING_DIRECTORY}")
cmake_language(EVAL CODE "${_code}")
if(DEFINED old_pwd)
set(ENV{PWD} "${old_pwd}")
else()
set(ENV{PWD})
endif()
set(msg "")
if(NOT "${actual_result}" MATCHES "${expect_result}")
string(APPEND msg "Result is [${actual_result}], not [${expect_result}].\n")
endif()
set(config_file "${RunCMake_TEST_COMMAND_WORKING_DIRECTORY}/CMakeFiles/CMakeConfigureLog.yaml")
if(EXISTS "${config_file}")
file(READ "${config_file}" actual_config)
else()
set(actual_config "")
endif()
# Special case: remove ninja no-op line from stderr, but not stdout.
# Test cases that look for it should use RunCMake_TEST_OUTPUT_MERGE.
string(REGEX REPLACE "(^|\r?\n)ninja: no work to do\\.\r?\n" "\\1" actual_stderr "${actual_stderr}")
# Remove incidental content from both stdout and stderr.
string(CONCAT ignore_line_regex
"(^|\n)((==[0-9]+=="
"|BullseyeCoverage"
"|[a-z]+\\([0-9]+\\) malloc:"
"|clang[^:]*: warning: the object size sanitizer has no effect at -O0, but is explicitly enabled:"
"|flang-new: warning: argument unused during compilation: .-flang-experimental-exec."
"|icp?x: remark: Note that use of .-g. without any optimization-level option will turn off most compiler optimizations"
"|ifx: remark #10440: Note that use of a debug option without any optimization-level option will turnoff most compiler optimizations"
"|lld-link: warning: procedure symbol record for .* refers to PDB item index [0-9A-Fa-fx]+ which is not a valid function ID record"
"|Error kstat returned"
"|Hit xcodebuild bug"
"|Recompacting log\\.\\.\\."
"|LICENSE WARNING:"
"|Your license to use PGI[^\n]*expired"
"|Please obtain a new version at"
"|contact PGI Sales at"
"|ic(p?c|l): remark #10441: The Intel\\(R\\) C\\+\\+ Compiler Classic \\(ICC\\) is deprecated"
"|[^\n]*install_name_tool: warning: changes being made to the file will invalidate the code signature in:"
"|[^\n]*(createItemModels|_NSMainThread|Please file a bug at)"
"|[^\n]*xcodebuild[^\n]*DVTAssertions: Warning"
"|[^\n]*xcodebuild[^\n]*DVTCoreDeviceEnabledState: DVTCoreDeviceEnabledState_Disabled set via user default"
"|[^\n]*xcodebuild[^\n]*DVTPlugInManager"
"|[^\n]*xcodebuild[^\n]*DVTSDK: Warning: SDK path collision for path"
"|[^\n]*xcodebuild[^\n]*Requested but did not find extension point with identifier"
"|[^\n]*xcodebuild[^\n]*nil host used in call to allows.*HTTPSCertificateForHost"
"|[^\n]*xcodebuild[^\n]*warning: file type[^\n]*is based on missing file type"
"|[^\n]*objc[^\n]*: Class [^\n]* One of the two will be used. Which one is undefined."
"|[^\n]*is a member of multiple groups"
"|[^\n]*offset in archive not a multiple of 8"
"|[^\n]*from Time Machine by path"
"|[^\n]*Bullseye Testing Technology"
${RunCMake_TEST_EXTRA_IGNORE_LINE_REGEX}
")[^\n]*\n)+"
)
if(RunCMake_IGNORE_POLICY_VERSION_DEPRECATION)
string(REGEX REPLACE [[
^CMake Deprecation Warning at [^
]*CMakeLists.txt:1 \(cmake_minimum_required\):
Compatibility with CMake < 3\.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a \.\.\.<max> suffix to tell
CMake that the project does not need compatibility with older versions\.
+
]] "" actual_stderr "${actual_stderr}")
endif()
foreach(o IN ITEMS stdout stderr config)
string(REGEX REPLACE "\r\n" "\n" actual_${o} "${actual_${o}}")
string(REGEX REPLACE "${ignore_line_regex}" "\\1" actual_${o} "${actual_${o}}")
string(REGEX REPLACE "\n+$" "" actual_${o} "${actual_${o}}")
if(DEFINED expect_${o})
if(NOT "${actual_${o}}" MATCHES "${expect_${o}}")
string(APPEND msg "${o} does not match that expected.\n")
endif()
endif()
if(DEFINED not_expect_${o})
if("${actual_${o}}" MATCHES "${not_expect_${o}}")
string(APPEND msg "${o} matches that not expected.\n")
endif()
endif()
endforeach()
unset(RunCMake_TEST_FAILED)
if(RunCMake-check-file AND EXISTS ${top_src}/${RunCMake-check-file})
include(${top_src}/${RunCMake-check-file})
else()
include(${top_src}/${test}-check.cmake OPTIONAL)
endif()
if(RunCMake_TEST_FAILED)
set(msg "${RunCMake_TEST_FAILED}\n${msg}")
endif()
if(msg)
string(REPLACE ";" "\" \"" command "\"${RunCMake_TEST_COMMAND}\"")
if(RunCMake_TEST_OPTIONS)
string(REPLACE ";" "\" \"" options "\"${RunCMake_TEST_OPTIONS}\"")
string(APPEND command " ${options}")
endif()
if(RunCMake_TEST_RAW_ARGS)
string(APPEND command " ${RunCMake_TEST_RAW_ARGS}")
endif()
string(APPEND msg "Command was:\n command> ${command}\n")
endif()
if(msg)
foreach(o IN ITEMS stdout stderr config)
if(DEFINED expect_${o})
string(REGEX REPLACE "\n" "\n expect-${o}> " expect_${o} " expect-${o}> ${expect_${o}}")
string(APPEND msg "Expected ${o} to match:\n${expect_${o}}\n")
endif()
if(NOT o STREQUAL "config" OR DEFINED expect_${o})
string(REGEX REPLACE "\n" "\n actual-${o}> " actual_${o} " actual-${o}> ${actual_${o}}")
string(APPEND msg "Actual ${o}:\n${actual_${o}}\n")
endif()
endforeach()
message(SEND_ERROR "${test}${RunCMake_TEST_VARIANT_DESCRIPTION} - FAILED:\n${msg}")
else()
message(STATUS "${test}${RunCMake_TEST_VARIANT_DESCRIPTION} - PASSED")
endif()
endfunction()
function(run_cmake_command test)
set(RunCMake_TEST_COMMAND "${ARGN}")
run_cmake(${test})
endfunction()
function(run_cmake_script test)
set(RunCMake_TEST_COMMAND ${CMAKE_COMMAND} ${ARGN} -P ${RunCMake_SOURCE_DIR}/${test}.cmake)
run_cmake(${test})
endfunction()
function(run_cmake_with_options test)
set(RunCMake_TEST_OPTIONS "${ARGN}")
run_cmake(${test})
endfunction()
function(run_cmake_with_raw_args test args)
set(RunCMake_TEST_RAW_ARGS "${args}")
run_cmake(${test})
endfunction()
function(ensure_files_match expected_file actual_file)
if(NOT EXISTS "${expected_file}")
message(FATAL_ERROR "Expected file does not exist:\n ${expected_file}")
endif()
if(NOT EXISTS "${actual_file}")
message(FATAL_ERROR "Actual file does not exist:\n ${actual_file}")
endif()
file(READ "${expected_file}" expected_file_content)
file(READ "${actual_file}" actual_file_content)
if(NOT "${expected_file_content}" STREQUAL "${actual_file_content}")
message(FATAL_ERROR "Actual file content does not match expected:\n
\n
expected file: ${expected_file}\n
expected content:\n
${expected_file_content}\n
\n
actual file: ${actual_file}\n
actual content:\n
${actual_file_content}\n
")
endif()
endfunction()
# Get the user id on unix if possible.
function(get_unix_uid var)
set("${var}" "" PARENT_SCOPE)
if(UNIX)
set(ID "id")
if(CMAKE_SYSTEM_NAME STREQUAL "SunOS" AND EXISTS "/usr/xpg4/bin/id")
set (ID "/usr/xpg4/bin/id")
endif()
execute_process(COMMAND ${ID} -u $ENV{USER} OUTPUT_VARIABLE uid ERROR_QUIET
RESULT_VARIABLE status OUTPUT_STRIP_TRAILING_WHITESPACE)
if(status EQUAL 0)
set("${var}" "${uid}" PARENT_SCOPE)
endif()
endif()
endfunction()
# Protect RunCMake tests from calling environment.
unset(ENV{MAKEFLAGS})

View File

@@ -0,0 +1,39 @@
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
# file Copyright.txt or https://cmake.org/licensing for details.
#
# Original file location was Tests/RunCMake/CMakeLists.txt
macro(add_RunCMake_test test)
set(TEST_ARGS ${ARGN})
if ("${ARGV1}" STREQUAL "TEST_DIR")
if ("${ARGV2}" STREQUAL "")
message(FATAL_ERROR "Invalid args")
endif()
set(Test_Dir ${ARGV2})
list(REMOVE_AT TEST_ARGS 0)
list(REMOVE_AT TEST_ARGS 0)
else()
set(Test_Dir ${test})
endif()
if(CMAKE_C_COMPILER_ID STREQUAL "LCC")
list(APPEND TEST_ARGS -DRunCMake_TEST_LCC=1)
endif()
add_test(NAME RunCMake.${test} COMMAND ${CMAKE_CMAKE_COMMAND}
-DCMAKE_MODULE_PATH=${CMAKE_CURRENT_SOURCE_DIR}
-DRunCMake_GENERATOR_IS_MULTI_CONFIG=${_isMultiConfig}
-DRunCMake_GENERATOR=${CMAKE_GENERATOR}
-DRunCMake_GENERATOR_INSTANCE=${CMAKE_GENERATOR_INSTANCE}
-DRunCMake_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM}
-DRunCMake_GENERATOR_TOOLSET=${CMAKE_GENERATOR_TOOLSET}
-DRunCMake_MAKE_PROGRAM=${CMake_TEST_EXPLICIT_MAKE_PROGRAM}
-DRunCMake_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR}/${Test_Dir}
-DRunCMake_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR}/${test}
${${test}_ARGS}
${TEST_ARGS}
-P "${CMAKE_CURRENT_SOURCE_DIR}/${Test_Dir}/RunCMakeTest.cmake"
)
set_tests_properties("RunCMake.${test}" PROPERTIES LABELS "CMake;run")
if(${test} MATCHES ^CMP)
set_property(TEST "RunCMake.${test}" APPEND PROPERTY LABELS "policy")
endif()
endmacro()

View File

@@ -0,0 +1,16 @@
{
"Id": "cmake-test-modules",
"Name": "cmake-test-modules",
"QDocModule": "qtcore",
"QtUsage": "Used as part of the build system.",
"QtParts" : [ "tests" ],
"Description": "CMake helpers for running CMake tests.",
"Homepage": "https://cmake.org/",
"Version": "3.29.0",
"License": "BSD 3-Clause \"New\" or \"Revised\" License",
"LicenseId": "BSD-3-Clause",
"LicenseFile": "Copyright.txt",
"Copyright": "Copyright © 2000-2024 Kitware, Inc. and Contributors"
}

View File

@@ -0,0 +1,423 @@
# Copyright (C) 2024 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause
# This file contains a modified subset of the qtbase/QtProcessConfigureArgs.cmake commands
# with renamed functions, because we need similar logic for init-repository, but
# we can't access qtbase before we clone it.
# Call a function with the given arguments.
function(qt_ir_call_function func)
set(call_code "${func}(")
math(EXPR n "${ARGC} - 1")
foreach(i RANGE 1 ${n})
string(APPEND call_code "\"${ARGV${i}}\" ")
endforeach()
string(APPEND call_code ")")
string(REPLACE "\\" "\\\\" call_code "${call_code}")
if(${CMAKE_VERSION} VERSION_LESS "3.18.0")
set(incfile qt_tmp_func_call.cmake)
file(WRITE "${incfile}" "${call_code}")
include(${incfile})
file(REMOVE "${incfile}")
else()
cmake_language(EVAL CODE "${call_code}")
endif()
endfunction()
# Show an error.
function(qt_ir_add_error)
message(FATAL_ERROR ${ARGV})
endfunction()
# Check if there are still unhandled command line arguments.
function(qt_ir_args_has_next_command_line_arg out_var)
qt_ir_get_unhandled_args(args)
list(LENGTH args n)
if(n GREATER 0)
set(result TRUE)
else()
set(result FALSE)
endif()
set(${out_var} ${result} PARENT_SCOPE)
endfunction()
# Get the next unhandled command line argument without popping it.
function(qt_ir_args_peek_next_command_line_arg out_var)
qt_ir_get_unhandled_args(args)
list(GET args 0 result)
set(${out_var} ${result} PARENT_SCOPE)
endfunction()
# Get the next unhandled command line argument.
function(qt_ir_args_get_next_command_line_arg out_var)
qt_ir_get_unhandled_args(args)
list(POP_FRONT args result)
qt_ir_set_unhandled_args("${args}")
set(${out_var} ${result} PARENT_SCOPE)
endfunction()
# Helper macro to parse the arguments for the command line options.
macro(qt_ir_commandline_option_parse_arguments)
set(options UNSUPPORTED COMMON)
set(oneValueArgs TYPE NAME SHORT_NAME ALIAS VALUE DEFAULT_VALUE)
set(multiValueArgs VALUES MAPPING)
cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
endmacro()
# We use this to define the command line options that init-repository accepts.
# Arguments
# name - name of the long form option
# e.g. 'module-subset' will parse '--module-subset'
# UNSUPPORTED - mark the option as unsupported in the cmake port of init-repository,
# which means we will fall back to calling the perl script instead
# TYPE - the type of the option, currently we support boolean, string and void
# VALUE - the value to be set for a 'void' type option
# VALUES - the valid values for an option
# MAPPING - currently unused
# SHORT_NAME - an alternative short name flag,
# e.g. 'f' will parse -f for --force
# ALIAS - mark the option as an alias of another option, both will have the
# same value when retrieved.
# DEFAULT_VALUE - the default value to be set for the option when it's not specified
# on the command line
# COMMON - the argument is common for init-repository and configure scripts
#
# NOTE: Make sure to update the SHORT_NAME code path when adding new options.
function(qt_ir_commandline_option_helper name)
qt_ir_commandline_option_parse_arguments(${ARGN})
set(unsupported_options "${commandline_known_unsupported_options}")
if(arg_UNSUPPORTED)
set(commandline_option_${name}_unsupported
"${arg_UNSUPPORTED}" PARENT_SCOPE)
list(APPEND unsupported_options "${name}")
endif()
set(commandline_known_unsupported_options "${unsupported_options}" PARENT_SCOPE)
set(commandline_known_options
"${commandline_known_options};${name}" PARENT_SCOPE)
if(arg_COMMON)
set(commandline_option_${name}_common "true" PARENT_SCOPE)
if(NOT "${arg_TYPE}" STREQUAL "boolean")
message(FATAL_ERROR "${name} is '${arg_TYPE}', but COMMON arguments can be"
" 'boolean' only.")
endif()
endif()
set(commandline_option_${name}_type "${arg_TYPE}" PARENT_SCOPE)
if(NOT "${arg_VALUE}" STREQUAL "")
set(commandline_option_${name}_value "${arg_VALUE}" PARENT_SCOPE)
endif()
if(arg_VALUES)
set(commandline_option_${name}_values ${arg_VALUES} PARENT_SCOPE)
elseif(arg_MAPPING)
set(commandline_option_${name}_mapping ${arg_MAPPING} PARENT_SCOPE)
endif()
if(NOT "${arg_SHORT_NAME}" STREQUAL "")
set(commandline_option_${name}_short_name "${arg_SHORT_NAME}" PARENT_SCOPE)
endif()
if(NOT "${arg_ALIAS}" STREQUAL "")
set(commandline_option_${name}_alias "${arg_ALIAS}" PARENT_SCOPE)
endif()
# Should be last, in case alias was specified
if(NOT "${arg_DEFAULT_VALUE}" STREQUAL "")
set(commandline_option_${name}_default_value "${arg_DEFAULT_VALUE}" PARENT_SCOPE)
qt_ir_command_line_set_input("${name}" "${arg_DEFAULT_VALUE}")
endif()
endfunction()
# Defines an option that init-repository understands.
# Uses qt_ir_commandline_option_helper to define both long and short option names.
macro(qt_ir_commandline_option name)
# Define the main option
qt_ir_commandline_option_helper("${name}" ${ARGN})
qt_ir_commandline_option_parse_arguments(${ARGN})
# Define the short name option if it's requested
if(NOT "${arg_SHORT_NAME}" STREQUAL ""
AND "${commandline_option_${arg_SHORT_NAME}_type}" STREQUAL "")
set(unsupported "")
if(arg_UNSUPPORTED)
set(unsupported "UNSUPPORTED")
endif()
set(common "")
if(arg_COMMON)
set(common "COMMON")
endif()
qt_ir_commandline_option_helper("${arg_SHORT_NAME}"
TYPE "${arg_TYPE}"
ALIAS "${name}"
VALUE "${arg_VALUE}"
VALUES ${arg_VALUES}
MAPPING ${arg_MAPPING}
DEFAULT_VALUE ${arg_DEFAULT_VALUE}
${unsupported}
${common}
)
endif()
endmacro()
# Saves the value of a command line option into a global property.
function(qt_ir_command_line_set_input name val)
if(NOT "${commandline_option_${name}_alias}" STREQUAL "")
set(name "${commandline_option_${name}_alias}")
endif()
set_property(GLOBAL PROPERTY _qt_ir_input_${name} "${val}")
set_property(GLOBAL APPEND PROPERTY _qt_ir_inputs ${name})
endfunction()
# Appends a value of a command line option into a global property.
# Currently unused
function(qt_ir_command_line_append_input name val)
if(NOT "${commandline_option_${name}_alias}" STREQUAL "")
set(name "${commandline_option_${name}_alias}")
endif()
get_property(oldval GLOBAL PROPERTY _qt_ir_input_${name})
if(NOT "${oldval}" STREQUAL "")
string(PREPEND val "${oldval};")
endif()
qt_ir_command_line_set_input(${name} "${val}" )
endfunction()
# Checks if the value of a command line option is valid.
function(qt_ir_validate_value opt val out_var)
set(${out_var} TRUE PARENT_SCOPE)
set(valid_values ${commandline_option_${arg}_values})
list(LENGTH valid_values n)
if(n EQUAL 0)
return()
endif()
foreach(v ${valid_values})
if(val STREQUAL v)
return()
endif()
endforeach()
set(${out_var} FALSE PARENT_SCOPE)
list(JOIN valid_values " " valid_values_str)
qt_ir_add_error("Invalid value '${val}' supplied to command line option '${opt}'."
"\nAllowed values: ${valid_values_str}\n")
endfunction()
# Sets / handles the value of a command line boolean option.
function(qt_ir_commandline_boolean arg val nextok)
if("${val}" STREQUAL "")
set(val "yes")
endif()
if(NOT val STREQUAL "yes" AND NOT val STREQUAL "no")
message(FATAL_ERROR
"Invalid value '${val}' given for boolean command line option '${arg}'.")
endif()
qt_ir_command_line_set_input("${arg}" "${val}")
endfunction()
# Sets / handles the value of a command line string option.
function(qt_ir_commandline_string arg val nextok)
if(nextok)
qt_ir_args_get_next_command_line_arg(val)
if("${val}" MATCHES "^-")
qt_ir_add_error("No value supplied to command line options '${arg}'.")
endif()
endif()
qt_ir_validate_value("${arg}" "${val}" success)
if(success)
qt_ir_command_line_set_input("${arg}" "${val}")
endif()
endfunction()
# Sets / handles the value of a command line void option.
# This is an option like --force, which doesn't take any arguments.
# Currently unused
function(qt_ir_commandline_void arg val nextok)
if(NOT "${val}" STREQUAL "")
qt_i_add_error("Command line option '${arg}' expects no argument ('${val}' given).")
endif()
if(DEFINED commandline_option_${arg}_value)
set(val ${commandline_option_${arg}_value})
endif()
if("${val}" STREQUAL "")
set(val yes)
endif()
qt_ir_command_line_set_input("${arg}" "${val}")
endfunction()
# Reads the command line arguments from the optfile_path.
function(qt_ir_get_raw_args_from_optfile optfile_path out_var)
file(STRINGS "${optfile_path}" args)
qt_ir_escape_semicolons(args "${args}")
set(${out_var} "${args}" PARENT_SCOPE)
endfunction()
# Reads the optfile_path, iterates over the given command line arguments,
# sets the input for recongized options.
#
# Handles the following styles of CLI arguments:
# --no-foo / --disable-foo
# -no-foo / -disable-foo
# --foo=<values>
# --foo <values>
# -foo <values>
# --foo
# -foo
# --f
# -f
#
# Currently handles the following types of CLI arguments:
# string
# boolean
# void
#
# IGNORE_UNKNOWN_ARGS tells the function not to fail if it encounters an unknown
# option, and instead append it to a global list of unknown options.
# It is needed when the script is called from the configure script with
# configure-only-known options.
function(qt_ir_process_args_from_optfile optfile_path)
set(options IGNORE_UNKNOWN_ARGS)
set(oneValueArgs "")
set(multiValueArgs "")
cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
qt_ir_get_raw_args_from_optfile("${optfile_path}" configure_args)
qt_ir_set_unhandled_args("${configure_args}")
while(1)
qt_ir_args_has_next_command_line_arg(has_next)
if(NOT has_next)
break()
endif()
qt_ir_args_get_next_command_line_arg(arg)
# parse out opt and val
set(nextok FALSE)
if(arg MATCHES "^--?(disable|no)-(.*)")
set(opt "${CMAKE_MATCH_2}")
set(val "no")
elseif(arg MATCHES "^--([^=]+)=(.*)")
set(opt "${CMAKE_MATCH_1}")
set(val "${CMAKE_MATCH_2}")
elseif(arg MATCHES "^--(.*)")
set(nextok TRUE)
set(opt "${CMAKE_MATCH_1}")
unset(val)
elseif(arg MATCHES "^-(.*)")
set(nextok TRUE)
set(opt "${CMAKE_MATCH_1}")
unset(val)
else()
if(NOT arg_IGNORE_UNKNOWN_ARGS)
qt_ir_add_error("Invalid command line parameter '${arg}'.")
else()
message(DEBUG "Unknown command line parameter '${arg}'. Collecting.")
qt_ir_append_unknown_args("${arg}")
continue()
endif()
endif()
set(type "${commandline_option_${opt}_type}")
if("${type}" STREQUAL "")
if(NOT arg_IGNORE_UNKNOWN_ARGS)
qt_ir_add_error("Unknown command line option '${arg}'.")
else()
message(DEBUG "Unknown command line option '${arg}'. Collecting.")
qt_ir_append_unknown_args("${arg}")
continue()
endif()
elseif(commandline_option_${opt}_common AND arg_IGNORE_UNKNOWN_ARGS)
message(DEBUG "Common command line option '${arg}'. Collecting.")
qt_ir_append_unknown_args("${arg}")
endif()
if(NOT COMMAND "qt_ir_commandline_${type}")
qt_ir_add_error("Unknown type '${type}' for command line option '${opt}'.")
endif()
qt_ir_call_function("qt_ir_commandline_${type}" "${opt}" "${val}" "${nextok}")
endwhile()
endfunction()
# Shows help for the command line options.
function(qt_ir_show_help)
set(help_file "${CMAKE_CURRENT_LIST_DIR}/QtIRHelp.txt")
if(EXISTS "${help_file}")
file(READ "${help_file}" content)
message("${content}")
endif()
message([[
General Options:
-help, -h ............ Display this help screen
]])
endfunction()
# Gets the unhandled command line args.
function(qt_ir_get_unhandled_args out_var)
get_property(args GLOBAL PROPERTY _qt_ir_unhandled_args)
set(${out_var} "${args}" PARENT_SCOPE)
endfunction()
# Sets the unhandled command line args.
function(qt_ir_set_unhandled_args args)
set_property(GLOBAL PROPERTY _qt_ir_unhandled_args "${args}")
endfunction()
# Adds to the unknown command line args.
function(qt_ir_append_unknown_args args)
set_property(GLOBAL APPEND PROPERTY _qt_ir_unknown_args ${args})
endfunction()
# Gets the unhandled command line args.
function(qt_ir_get_unknown_args out_var)
get_property(args GLOBAL PROPERTY _qt_ir_unknown_args)
set(${out_var} "${args}" PARENT_SCOPE)
endfunction()
# Gets the unsupported options that init-repository.pl supports, but the cmake port does
# not support.
function(qt_ir_get_unsupported_options out_var)
set(${out_var} "${commandline_known_unsupported_options}" PARENT_SCOPE)
endfunction()
# Get the value of a command line option.
function(qt_ir_get_option_value name out_var)
if(NOT "${commandline_option_${name}_alias}" STREQUAL "")
set(name "${commandline_option_${name}_alias}")
endif()
get_property(value GLOBAL PROPERTY _qt_ir_input_${name})
set(${out_var} "${value}" PARENT_SCOPE)
endfunction()
# Set the value of a command line option manually.
function(qt_ir_set_option_value name value)
if(NOT "${commandline_option_${name}_alias}" STREQUAL "")
set(name "${commandline_option_${name}_alias}")
endif()
qt_ir_command_line_set_input("${name}" "${value}")
endfunction()
# Get the value of a command line option as a cmakke flag option, to be passed
# to functions that use cmake_parse_arguments.
function(qt_ir_get_option_as_cmake_flag_option cli_name cmake_option_name out_var)
qt_ir_get_option_value("${cli_name}" bool_value)
set(cmake_option "")
if(bool_value)
set(cmake_option "${cmake_option_name}")
endif()
set(${out_var} "${cmake_option}" PARENT_SCOPE)
endfunction()

1151
cmake/QtIRGitHelpers.cmake Normal file

File diff suppressed because it is too large Load Diff

134
cmake/QtIRHelp.txt Normal file
View File

@@ -0,0 +1,134 @@
Usage:
./init-repository [options]
This script may be run after an initial `git clone' of the Qt supermodule
in order to check out all submodules. It fetches them from canonical URLs
inferred from the clone's origin.
Options:
Global options:
--force, -f
Force initialization (even if the submodules are already checked
out).
--force-hooks
Force initialization of hooks (even if there are already hooks in
checked out submodules).
--quiet, -q
Be quiet. Will exit cleanly if the repository is already
initialized.
--verbose
Adds a bit more output when executing processes
--no-resolve-deps
By default, each submodule specified via the module-subset option
will have its required and optional dependencies also initialized.
This option can be passed to disable automatic initialization of
dependencies, so that the exact list passed to module-subset is
initialized.
--no-optional-deps
By default, each submodule specified via the module-subset option
will have its optional dependencies also initialized.
This option can be passed to initialize only required dependencies of
the given module-subset.
Module options:
--module-subset=<module1>,<module2>... / -submodules <module1>,<module2>...
Only initialize the specified subset of modules given as the
argument. Specified modules must already exist in .gitmodules. The
string "all" results in cloning all known modules. The strings
"essential", "addon", "preview", "deprecated", "obsolete",
"additionalLibrary", and "ignore" refer to classes of modules
identified by "status=" lines in the .gitmodules file.
You can use "existing" to to reference already initialized submodules.
Additionally, "qtrepotools" is implicitly always added to ensure
relevant git commit hooks are available. It can be excluded as described
below.
You can use "default" in the subset as a short-hand for
"essential,addon,preview,deprecated", which corresponds to the set of
maintained modules included in standard Qt releases; this is also the
default module subset when this option is not given when first running
init-repositoy. If init-repository is rerun a second time (with --force)
the default is to initialize the "existing" submodules, rather than the
default subset. Entries may be prefixed with a dash to exclude them
from a bigger set, e.g. "all,-ignore" or "existing,-qttools".
For compatibility with qt's configure script, -submodules is an alias
of --module-subset. Note the difference in dashes and the equal sign.
--no-update
Skip the `git submodule update' command.
--no-fetch
Skip the `git fetch' commands. Implied by --no-update.
--branch
Instead of checking out specific SHA1s, check out the submodule
branches that correspond with the current supermodule commit. By
default, this option will cause local commits in the submodules to
be rebased. With --no-update, the branches will be checked out, but
their heads will not move.
--ignore-submodules
Set git config to ignore submodules by default when doing operations
on the qt5 repo, such as `pull', `fetch', `diff' etc.
After using this option, pass `--ignore-submodules=none' to git to
override it as needed.
Repository options:
--berlin
Switch to internal URLs and make use of the Berlin git mirrors.
(Implies `--mirror').
--oslo
Switch to internal URLs and make use of the Oslo git mirrors.
(Implies `--mirror').
--codereview-username <Gerrit/JIRA username>
Specify the user name for the (potentially) writable `gerrit' remote
for each module, for use with the Gerrit code review tool.
If this option is omitted, the gerrit remote is created without a
username and port number, and thus relies on a correct SSH
configuration.
--alternates <path to other Qt5 repo>
Adds alternates for each submodule to another full qt5 checkout.
This makes this qt5 checkout very small, as it will use the object
store of the alternates before unique objects are stored in its own
object store.
This option has no effect when using `--no-update'.
NOTE: This will make this repo dependent on the alternate, which is
potentially dangerous! The dependency can be broken by also using
the `--copy-objects' option, or by running "git repack -a" in each
submodule, where required. Please read the note about the `--shared'
option in the documentation of `git clone' for more information.
--copy-objects
When `--alternates' is used, automatically do a "git repack -a" in
each submodule after cloning, to ensure that the repositories are
independent from the source used as a reference for cloning.
Note that this negates the disk usage benefits gained from the use
of `--alternates'.
--mirror <url-base>
Uses <url-base> as the base URL for submodule git mirrors.
For example:
--mirror user\@machine:/foo/bar/qt/
...will use the following as a mirror for qtbase:
user\@machine:/foo/bar/qt/qtbase.git
The mirror is permitted to contain a subset of the submodules; any
missing modules will fall back to the canonical URLs.

367
cmake/QtIRHelpers.cmake Normal file
View File

@@ -0,0 +1,367 @@
# Copyright (C) 2024 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause
# Includes all helper files for access to necessary functions.
macro(qt_ir_include_all_helpers)
include(QtIRCommandLineHelpers)
include(QtIRGitHelpers)
include(QtIROptionsHelpers)
include(QtIRParsingHelpers)
include(QtIRProcessHelpers)
include(QtIRTestHelpers)
include(QtTopLevelHelpers)
endmacro()
# Convenience macro to get the working directory from the arguments passed to
# cmake_parse_arguments. Saves a few lines and makes reading the code slightly
# easier.
macro(qt_ir_get_working_directory_from_arg out_var)
if(NOT arg_WORKING_DIRECTORY)
message(FATAL_ERROR "No working directory specified")
endif()
set(${out_var} "${arg_WORKING_DIRECTORY}")
endmacro()
# Convenience function to set the variable to the name of cmake_parse_arguments
# flag option if it is active.
function(qt_ir_get_cmake_flag flag_name out_var)
if(arg_${flag_name})
set(${out_var} "${flag_name}" PARENT_SCOPE)
else()
set(${out_var} "" PARENT_SCOPE)
endif()
endfunction()
# There are some init-repository options that we do not want to allow when called from
# configure. Make sure we error out when they are set by the user.
function(qt_ir_validate_options_for_configure)
set(disallowed_options
# Disallow mirror options, because users should set up a proper git mirror manually,
# not via configure.
mirror
oslo
berlin
)
foreach(disallowed_option IN LISTS disallowed_options)
qt_ir_get_option_value(${disallowed_option} value)
if(value)
set(msg
"Initialization option '${disallowed_option}' is not supported by configure. "
"If you think this option should be supported, please let us know at "
"https://bugreports.qt.io/"
)
message(FATAL_ERROR ${msg})
endif()
endforeach()
endfunction()
# Handle the case when init-repository is called from the configure script.
function(qt_ir_handle_called_from_configure top_level_src_path out_var_exit_reason)
# Nothing special to do if we're not called from configure.
qt_ir_is_called_from_configure(is_called_from_configure)
if(NOT is_called_from_configure)
set(${out_var_exit_reason} FALSE PARENT_SCOPE)
return()
endif()
# Check whether qtbase was cloned, if not, tell the user how to initialize
# the repos as part of the configure script.
qt_ir_get_option_value(init-submodules init_submodules)
set(configure_script "${top_level_src_path}/qtbase/configure")
if(NOT EXISTS "${configure_script}" AND NOT init_submodules)
set(msg "Oops. It looks like you didn't initialize any submodules yet.\nCall configure "
"with the -init-submodules option to automatically clone a default set of "
"submodules before configuring Qt.\nYou can also pass "
"-submodules submodule2,submodule3 to clone a particular set of submodules "
"and their dependencies. See ./init-repository --help for more information on values "
"accepted by --module-subset (which gets its values from -submodules).")
message(${msg})
set(${out_var_exit_reason} NEED_INIT_SUBMODULES PARENT_SCOPE)
return()
endif()
# Don't do init-repository things when called from configure, qtbase exists and the
# -init-submodules option is not passed. We assume the repo was already
# initialized.
if(NOT init_submodules)
set(${out_var_exit_reason} ALREADY_INITIALIZED PARENT_SCOPE)
return()
endif()
qt_ir_validate_options_for_configure()
# -init_submodules implies --force
qt_ir_set_option_value(force TRUE)
set(${out_var_exit_reason} FALSE PARENT_SCOPE)
endfunction()
# Returns a list of command line arguments with the init-repository specific
# options removed, which are not recognized by configure.
# It also handles -submodules values like 'essential', 'existing' and '-qtsvg' and transforms them
# into the final list of submodules to be included and excluded, which are then translated
# to configure -submodules and -skip options.
function(qt_ir_get_args_from_optfile_configure_filtered optfile_path out_var)
cmake_parse_arguments(arg "ALREADY_INITIALIZED" "" "" ${ARGV})
# Get args unknown to init-repository, and pass them to configure as-is.
qt_ir_get_unknown_args(unknown_args)
set(filtered_args ${unknown_args})
set(extra_configure_args "")
set(extra_cmake_args "")
# If the -submodules or --module-subset options were specified, transform
# the values into something configure understands and pass them to configure.
qt_ir_get_option_value(module-subset submodules)
if(submodules)
qt_ir_get_top_level_submodules(include_submodules exclude_submodules)
if(NOT include_submodules AND arg_ALREADY_INITIALIZED)
set(include_submodules "${submodules}")
endif()
# qtrepotools is always implicitly cloned, but it doesn't actually
# have a CMakeLists.txt, so remove it.
list(REMOVE_ITEM include_submodules "qtrepotools")
# Make sure to explicitly pass -DBUILD_<module>=ON, in case they were
# skipped before, otherwise configure might fail.
if(include_submodules)
set(explicit_build_submodules "${include_submodules}")
list(TRANSFORM explicit_build_submodules PREPEND "-DBUILD_")
list(TRANSFORM explicit_build_submodules APPEND "=ON")
list(APPEND extra_cmake_args ${explicit_build_submodules})
endif()
list(JOIN include_submodules "," include_submodules)
list(JOIN exclude_submodules "," exclude_submodules)
# Handle case when the -skip argument is already passed.
# In that case read the passed values, merge with new ones,
# remove both the -skip and its values, and re-add it later.
list(FIND filtered_args "-skip" skip_index)
if(exclude_submodules AND skip_index GREATER -1)
list(LENGTH filtered_args filtered_args_length)
math(EXPR skip_args_index "${skip_index} + 1")
if(skip_args_index LESS filtered_args_length)
list(GET filtered_args "${skip_args_index}" skip_args)
string(REPLACE "," ";" skip_args "${skip_args}")
list(APPEND skip_args ${exclude_submodules})
list(REMOVE_DUPLICATES skip_args)
list(JOIN skip_args "," exclude_submodules)
list(REMOVE_AT filtered_args "${skip_args_index}")
list(REMOVE_AT filtered_args "${skip_index}")
endif()
endif()
# Handle case when only '-submodules existing' is passed and the
# subset ends up empty.
if(include_submodules)
list(APPEND extra_configure_args "-submodules" "${include_submodules}")
endif()
if(exclude_submodules)
list(APPEND extra_configure_args "-skip" "${exclude_submodules}")
endif()
endif()
# Insert the extra arguments into the proper positions before and after '--'.
list(FIND filtered_args "--" cmake_args_index)
# -- is not found
if(cmake_args_index EQUAL -1)
# Append extra configure args if present
if(extra_configure_args)
list(APPEND filtered_args ${extra_configure_args})
endif()
# Append extra cmake args if present, but make sure to add -- first at the end
if(extra_cmake_args)
list(APPEND filtered_args "--")
list(APPEND filtered_args ${extra_cmake_args})
endif()
else()
# -- is found, that means we probably have cmake args
# Insert extra configure args if present, before the -- index.
if(extra_configure_args)
list(INSERT filtered_args "${cmake_args_index}" ${extra_configure_args})
endif()
# Find the -- index again, because it might have moved
list(FIND filtered_args "--" cmake_args_index)
# Compute the index of the argument after the --.
math(EXPR cmake_args_index "${cmake_args_index} + 1")
# Insert extra cmake args if present, after the -- index.
if(extra_cmake_args)
list(INSERT filtered_args "${cmake_args_index}" ${extra_cmake_args})
endif()
endif()
# Pass --help if it was requested.
qt_ir_is_help_requested(show_help)
if(show_help)
list(APPEND filtered_args "-help")
endif()
set(${out_var} "${filtered_args}" PARENT_SCOPE)
endfunction()
# Checks whether any of the arguments passed on the command line are options
# that are marked as unsupported in the cmake port of init-repository.
function(qt_ir_check_if_unsupported_options_used out_var out_var_option_name)
qt_ir_get_unsupported_options(unsupported_options)
set(unsupported_options_used FALSE)
foreach(unsupported_option IN LISTS unsupported_options)
qt_ir_get_option_value(${unsupported_option} value)
if(value)
set(${out_var_option_name} "${unsupported_option}" PARENT_SCOPE)
set(unsupported_options_used TRUE)
break()
endif()
endforeach()
set(${out_var} "${unsupported_options_used}" PARENT_SCOPE)
endfunction()
# When an unsupported option is used, show an error message and tell the user
# to run the perly script manually.
function(qt_ir_show_error_how_to_run_perl opt_file unsupported_option_name)
qt_ir_get_raw_args_from_optfile("${opt_file}" args)
qt_ir_prettify_command_args(args "${args}")
set(perl_cmd "perl ./init-repository.pl ${args}")
message(FATAL_ERROR
"Option '${unsupported_option_name}' is not implemented in the cmake "
"port of init-repository. Please let us know if this option is really "
"important for you at https://bugreports.qt.io/. Meanwhile, you can "
"still run the perl script directly. \n ${perl_cmd}")
endfunction()
# Check whether help was requested.
function(qt_ir_is_help_requested out_var)
qt_ir_get_option_value(help value)
set(${out_var} "${value}" PARENT_SCOPE)
endfunction()
# Check whether the verbose option was used.
function(qt_ir_is_verbose out_var)
qt_ir_get_option_value(verbose value)
set(${out_var} "${value}" PARENT_SCOPE)
endfunction()
function(qt_ir_is_called_from_configure out_var)
qt_ir_get_option_value(from-configure value)
set(${out_var} "${value}" PARENT_SCOPE)
endfunction()
# Main logic of the script.
function(qt_ir_run_after_args_parsed top_level_src_path out_var_exit_reason)
set(${out_var_exit_reason} FALSE PARENT_SCOPE)
qt_ir_is_called_from_configure(is_called_from_configure)
qt_ir_is_help_requested(show_help)
if(show_help AND NOT is_called_from_configure)
qt_ir_show_help()
set(${out_var_exit_reason} SHOWED_HELP PARENT_SCOPE)
return()
endif()
set(working_directory "${top_level_src_path}")
qt_ir_handle_if_already_initialized(already_initialized "${working_directory}")
if(already_initialized)
set(${out_var_exit_reason} ALREADY_INITIALIZED PARENT_SCOPE)
return()
endif()
# This will be used by the module subset processing to determine whether we
# should re-initialize the previously initialized (existing) subset.
qt_ir_check_if_already_initialized_cmake_style(is_initialized
"${working_directory}" FORCE_QUIET)
set(previously_initialized_option "")
if(is_initialized)
set(previously_initialized_option PREVIOUSLY_INITIALIZED)
endif()
# Ge the name of the qt5 repo (tqtc- or not) and the base url for all other repos
qt_ir_get_qt5_repo_name_and_base_url(
OUT_VAR_QT5_REPO_NAME qt5_repo_name
OUT_VAR_BASE_URL base_url
WORKING_DIRECTORY "${working_directory}")
qt_ir_get_already_initialized_submodules("${prefix}"
already_initialized_submodules
"${qt5_repo_name}"
"${working_directory}")
# Get some additional options to pass down.
qt_ir_get_option_value(alternates alternates)
qt_ir_get_option_as_cmake_flag_option(branch "CHECKOUT_BRANCH" checkout_branch_option)
# The prefix for the cmake-style 'dictionary' that will be used by various functions.
set(prefix "ir_top")
# Initialize and clone the submodules
qt_ir_handle_init_submodules("${prefix}"
ALTERNATES "${alternates}"
ALREADY_INITIALIZED_SUBMODULES "${already_initialized_submodules}"
BASE_URL "${base_url}"
PARENT_REPO_BASE_GIT_PATH "${qt5_repo_name}"
PROCESS_SUBMODULES_FROM_COMMAND_LINE
WORKING_DIRECTORY "${working_directory}"
${checkout_branch_option}
${previously_initialized_option}
)
# Add gerrit remotes.
qt_ir_add_git_remotes("${qt5_repo_name}" "${working_directory}")
# Install commit and other various hooks.
qt_ir_install_git_hooks(
PARENT_REPO_BASE_GIT_PATH "${qt5_repo_name}"
TOP_LEVEL_SRC_PATH "${top_level_src_path}"
WORKING_DIRECTORY "${working_directory}"
)
# Mark the repo as being initialized.
qt_ir_set_is_initialized("${working_directory}")
endfunction()
# Entrypoint of the init-repository script.
function(qt_ir_run_main_script top_level_src_path out_var_exit_reason)
set(${out_var_exit_reason} FALSE PARENT_SCOPE)
# Windows passes backslash paths.
file(TO_CMAKE_PATH "${top_level_src_path}" top_level_src_path)
qt_ir_set_known_command_line_options()
# If called from configure, there might be arguments that init-repository doesn't know about
# because they are meant for configure. In that case ignore unknown arguments.
qt_ir_get_option_value(from-configure from_configure)
if(from_configure)
set(ignore_unknown_args "IGNORE_UNKNOWN_ARGS")
else()
set(ignore_unknown_args "")
endif()
qt_ir_process_args_from_optfile("${OPTFILE}" "${ignore_unknown_args}")
qt_ir_handle_called_from_configure("${top_level_src_path}" exit_reason)
if(exit_reason)
set(${out_var_exit_reason} "${exit_reason}" PARENT_SCOPE)
return()
endif()
qt_ir_check_if_unsupported_options_used(
unsupported_options_used option_name)
if(unsupported_options_used)
qt_ir_show_error_how_to_run_perl("${OPTFILE}" "${option_name}")
endif()
qt_ir_run_after_args_parsed("${top_level_src_path}" exit_reason)
set(${out_var_exit_reason} "${exit_reason}" PARENT_SCOPE)
# TODO: Consider using cmake_language(EXIT <exit-code>) when cmake 3.29 is released.
endfunction()

View File

@@ -0,0 +1,48 @@
# Copyright (C) 2024 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause
# Declare command line options known to init-repository.
macro(qt_ir_set_known_command_line_options)
# Implemented options
# Note alternates is a qt specific option name, but it uses
# git submodule's --reference option underneath which also implies --shared.
# It essentially uses the git object storage of another repo, to avoid
# cloning the same objects and thus saving space.
qt_ir_commandline_option(alternates TYPE string)
qt_ir_commandline_option(berlin TYPE boolean)
qt_ir_commandline_option(branch TYPE boolean)
qt_ir_commandline_option(codereview-username TYPE string)
qt_ir_commandline_option(copy-objects TYPE boolean)
qt_ir_commandline_option(fetch TYPE boolean DEFAULT_VALUE yes)
qt_ir_commandline_option(force SHORT_NAME f TYPE boolean)
qt_ir_commandline_option(force-hooks TYPE boolean)
qt_ir_commandline_option(help SHORT_NAME h TYPE boolean)
qt_ir_commandline_option(ignore-submodules TYPE boolean)
qt_ir_commandline_option(mirror TYPE string)
qt_ir_commandline_option(module-subset TYPE string)
qt_ir_commandline_option(optional-deps TYPE boolean DEFAULT_VALUE yes)
qt_ir_commandline_option(oslo TYPE boolean)
qt_ir_commandline_option(perl-identical-output TYPE boolean)
qt_ir_commandline_option(perl-init-check TYPE boolean)
qt_ir_commandline_option(quiet SHORT_NAME q TYPE boolean)
qt_ir_commandline_option(resolve-deps TYPE boolean DEFAULT_VALUE yes)
qt_ir_commandline_option(update TYPE boolean DEFAULT_VALUE yes)
qt_ir_commandline_option(verbose TYPE boolean COMMON)
# These are used when init-repository is called from configure.
qt_ir_commandline_option(from-configure TYPE boolean)
# Implies force.
qt_ir_commandline_option(init-submodules TYPE boolean)
# We alias qtbase's submodules option to init-repository module-subset.
qt_ir_commandline_option(submodules ALIAS module-subset TYPE string)
set_property(GLOBAL PROPERTY _qt_ir_known_command_line_options "${commandline_known_options}")
endmacro()
# Gets list of known command line options.
function(qt_ir_get_known_command_line_options out_var)
get_property(values GLOBAL PROPERTY _qt_ir_known_command_line_options)
set(${out_var} "${values}" PARENT_SCOPE)
endfunction()

View File

@@ -0,0 +1,237 @@
# Copyright (C) 2024 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause
# Retrieves the contents of either .git/config or .gitmodules files for further parsing.
function(qt_ir_get_git_config_contents out_var)
set(options
READ_GITMODULES
READ_GIT_CONFIG
READ_GIT_CONFIG_LOCAL
)
set(oneValueArgs
WORKING_DIRECTORY
)
set(multiValueArgs "")
cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
if(arg_READ_GITMODULES)
set(args -f .gitmodules)
set(file_message ".gitmodules")
elseif(arg_READ_GIT_CONFIG)
set(args "")
set(file_message ".git/config")
elseif(arg_READ_GIT_CONFIG_LOCAL)
set(args "--local")
set(file_message ".local .git/config")
else()
message(FATAL_ERROR "qt_ir_get_git_config_contents: No option specified")
endif()
qt_ir_get_working_directory_from_arg(working_directory)
qt_ir_execute_process_and_log_and_handle_error(
FORCE_QUIET
COMMAND_ARGS git config --list ${args}
OUT_OUTPUT_VAR git_output
WORKING_DIRECTORY "${working_directory}"
ERROR_MESSAGE "Failed to get ${file_message} contents for parsing")
string(STRIP "${git_output}" git_output)
set(${out_var} "${git_output}" PARENT_SCOPE)
endfunction()
# Checks whether the given url has a scheme like https:// or is just a
# relative path.
function(qt_ir_has_url_scheme url out_var)
string(REGEX MATCH "^[a-z][a-z0-9+\-.]*://" has_url_scheme "${url}")
if(has_url_scheme)
set(${out_var} TRUE PARENT_SCOPE)
else()
set(${out_var} FALSE PARENT_SCOPE)
endif()
endfunction()
# Parses a key-value line from a .git/config or .gitmodules file
macro(qt_ir_parse_git_key_value)
string(REGEX REPLACE "^submodule\\.([^.=]+)\\.([^.=]+)=(.*)$" "\\1;\\2;\\3"
parsed_line "${line}")
list(LENGTH parsed_line parsed_line_length)
set(submodule_name "")
set(key "")
set(value "")
if(parsed_line_length EQUAL 3)
list(GET parsed_line 0 submodule_name)
list(GET parsed_line 1 key)
list(GET parsed_line 2 value)
endif()
endmacro()
# Parses a url line from a .gitmodules file
# e.g. line - 'submodule.qtbase.url=../qtbase.git'
#
# Arguments
#
# submodule_name
# submodule name, the key in 'submodule.${submodule_name}.url'
# e.g. 'qtbase'
# url_value
# the url where to clone a repo from
# in perl script it was called $base
# e.g. '../qtbase.git', 'https://code.qt.io/playground/qlitehtml.git'
# parent_repo_base_git_path
# the base git path of the parent of the submodule
# it is either a relative dir or a full url
# in the perl script it was called $my_repo_base,
# it was passed as first arg to git_clone_all_submodules,
# it was passed the value of $subbases{$module} when doing recursive submodule cloning
# e.g. 'qt5', 'tqtc-qt5', 'qtdeclarative.git', 'https://code.qt.io/playground/qlitehtml.git'
#
# Outputs
#
# ${out_var_prefix}_${submodule_name}_url
# just the value of ${url_value}
# ${out_var_prefix}_${submodule_name}_base_git_path
# the whole url if it has a scheme, otherwise it's the value of
# ${url_value} relative to ${parent_repo_base_git_path}, so all the ../ are collapsed
# e.g. 'qtdeclarative.git'
# 'https://code.qt.io/playground/qlitehtml.git',
macro(qt_ir_parse_git_url_key out_var_prefix submodule_name url_value parent_repo_base_git_path)
qt_ir_has_url_scheme("${url_value}" has_url_scheme)
if(NOT has_url_scheme)
set(base_git_path "${parent_repo_base_git_path}/${url_value}")
# The exact code perl code was while ($base =~ s,(?!\.\./)[^/]+/\.\./,,g) {}
# That got rid of ../ and ../../ in the path, but it broke down
# when more than two ../ were present.
# We just use ABSOLUTE to resolve the path and get rid of all ../
# Note the empty BASE_DIR is important, otherwise the path is relative to
# ${CMAKE_CURRENT_SOURCE_DIR}.
get_filename_component(base_git_path "${base_git_path}" ABSOLUTE BASE_DIR "")
else()
set(base_git_path "${url_value}")
endif()
set(${out_var_prefix}_${submodule_name}_url "${url_value}" PARENT_SCOPE)
set(${out_var_prefix}_${submodule_name}_base_git_path "${base_git_path}" PARENT_SCOPE)
endmacro()
# Parses a .git/config or .gitmodules file contents and sets variables for each submodule
# starting with ${out_var_prefix}_
# These include:
# ${out_var_prefix}_${submodule_name}_path
# the path to the submodule relative to the parent repo
# ${out_var_prefix}_${submodule_name}_branch
# the branch that should be checked out when the branch option is used
# ${out_var_prefix}_${submodule_name}_url
# the url key as encountered in the config
# ${out_var_prefix}_${submodule_name}_base_git_path
# the git base path of the submodule, either a full url or a relative path
# ${out_var_prefix}_${submodule_name}_update
# the status of the submodule, can be 'none'
# ${out_var_prefix}_${submodule_name}_status
# the status of the submodule, can be 'essential', 'addon', etc
# ${out_var_prefix}_${submodule_name}_depends
# the list of submodules that this submodule depends on
# ${out_var_prefix}_${submodule_name}_recommends
# the list of submodules that this submodule recommends to be used with
# ${out_var_prefix}_submodules
# a list of all known submodule names encountered in the file
# ${out_var_prefix}_submodules_to_remove
# a list of all submodules to remove due to update == 'none'
# ${out_var_prefix}_statuses to
# a list of all known submodule statuses like 'essential', 'addon', etc
# ${out_var_prefix}_status_${status}_submodules
# a list of all submodules with the specific status
function(qt_ir_parse_git_config_file_contents out_var_prefix)
set(options
READ_GITMODULES
READ_GIT_CONFIG
READ_GIT_CONFIG_LOCAL
)
set(oneValueArgs
PARENT_REPO_BASE_GIT_PATH
WORKING_DIRECTORY
)
set(multiValueArgs "")
cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
qt_ir_get_working_directory_from_arg(working_directory)
if(NOT arg_PARENT_REPO_BASE_GIT_PATH)
message(FATAL_ERROR
"qt_ir_parse_git_config_file_contents: No base PARENT_REPO_BASE_GIT_PATH specified")
endif()
set(parent_repo_base_git_path "${arg_PARENT_REPO_BASE_GIT_PATH}")
if(arg_READ_GITMODULES)
set(read_git_config READ_GITMODULES)
elseif(arg_READ_GIT_CONFIG)
set(read_git_config READ_GIT_CONFIG)
elseif(arg_READ_GIT_CONFIG_LOCAL)
set(read_git_config READ_GIT_CONFIG_LOCAL)
else()
message(FATAL_ERROR
"qt_ir_parse_gitmodules_file_contents: No valid git config file specified")
endif()
qt_ir_get_git_config_contents(contents
${read_git_config}
WORKING_DIRECTORY "${working_directory}"
)
string(REPLACE "\n" ";" lines "${contents}")
set(known_submodules "")
set(statuses "")
set(submodules_to_remove "")
foreach(line IN LISTS lines)
qt_ir_parse_git_key_value()
if(NOT submodule_name OR NOT key OR value STREQUAL "")
continue()
endif()
list(APPEND known_submodules "${submodule_name}")
if(key STREQUAL "path")
set(${out_var_prefix}_${submodule_name}_path "${value}" PARENT_SCOPE)
elseif(key STREQUAL "branch")
set(${out_var_prefix}_${submodule_name}_branch "${value}" PARENT_SCOPE)
elseif(key STREQUAL "url")
qt_ir_parse_git_url_key(
"${out_var_prefix}" "${submodule_name}" "${value}" "${parent_repo_base_git_path}")
elseif(key STREQUAL "update")
# Some repo submodules had a update = none key in their .gitmodules
# in which case we're supposed to skip initialzing those submodules,
# which the perl script did by adding -${submodule_name} to the subset.
# See qtdeclarative Change-Id: I633404f1c00d83dcbdca06a1d287623190323028
set(${out_var_prefix}_${submodule_name}_update "${value}" PARENT_SCOPE)
if(value STREQUAL "none")
list(APPEND submodules_to_remove "-${submodule_name}")
endif()
elseif(key STREQUAL "status")
set(status_submodules "${${out_var_prefix}_status_${value}_submodules}")
list(APPEND status_submodules "${submodule_name}")
list(REMOVE_DUPLICATES status_submodules)
list(APPEND statuses "${value}")
set(${out_var_prefix}_status_${value}_submodules "${status_submodules}")
set(${out_var_prefix}_status_${value}_submodules "${status_submodules}" PARENT_SCOPE)
set(${out_var_prefix}_${submodule_name}_status "${value}" PARENT_SCOPE)
elseif(key STREQUAL "depends")
string(REPLACE " " ";" value "${value}")
set(${out_var_prefix}_${submodule_name}_depends "${value}" PARENT_SCOPE)
elseif(key STREQUAL "recommends")
string(REPLACE " " ";" value "${value}")
set(${out_var_prefix}_${submodule_name}_recommends "${value}" PARENT_SCOPE)
endif()
endforeach()
list(REMOVE_DUPLICATES known_submodules)
list(REMOVE_DUPLICATES submodules_to_remove)
list(REMOVE_DUPLICATES statuses)
set(${out_var_prefix}_submodules "${known_submodules}" PARENT_SCOPE)
set(${out_var_prefix}_submodules_to_remove "${submodules_to_remove}" PARENT_SCOPE)
set(${out_var_prefix}_statuses "${statuses}" PARENT_SCOPE)
endfunction()

View File

@@ -0,0 +1,185 @@
# Copyright (C) 2024 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause
# A low-level execute_process wrapper that can be used to execute a single command
# while controlling the verbosity and error handling.
function(qt_ir_execute_process)
set(options
QUIET
)
set(oneValueArgs
WORKING_DIRECTORY
OUT_RESULT_VAR
OUT_OUTPUT_VAR
OUT_ERROR_VAR
)
set(multiValueArgs
COMMAND_ARGS
EP_EXTRA_ARGS
)
cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
if(NOT arg_COMMAND_ARGS)
message(FATAL_ERROR "Missing arguments to qt_ir_execute_process")
endif()
if(arg_WORKING_DIRECTORY)
set(working_dir_value "${arg_WORKING_DIRECTORY}")
else()
set(working_dir_value ".")
endif()
set(working_dir WORKING_DIRECTORY "${working_dir_value}")
set(result_variable "")
if(arg_OUT_RESULT_VAR)
set(result_variable RESULT_VARIABLE proc_result)
endif()
set(swallow_output "")
if(arg_OUT_OUTPUT_VAR OR arg_QUIET)
list(APPEND swallow_output OUTPUT_VARIABLE proc_output)
endif()
if(arg_OUT_ERROR_VAR OR arg_QUIET)
list(APPEND swallow_output ERROR_VARIABLE proc_error)
endif()
if(NOT arg_QUIET)
set(working_dir_message "")
qt_ir_is_verbose(verbose)
if(verbose)
set(working_dir_message " current working dir: ")
if(NOT working_dir_value STREQUAL ".")
string(APPEND working_dir_message "${working_dir_value}")
endif()
endif()
qt_ir_prettify_command_args(command_args_string "${arg_COMMAND_ARGS}")
message("+ ${command_args_string}${working_dir_message}")
endif()
qt_ir_unescape_semicolons(arg_COMMAND_ARGS "${arg_COMMAND_ARGS}")
execute_process(
COMMAND ${arg_COMMAND_ARGS}
${working_dir}
${result_variable}
${swallow_output}
${arg_EP_EXTRA_ARGS}
)
if(arg_OUT_RESULT_VAR)
set(${arg_OUT_RESULT_VAR} "${proc_result}" PARENT_SCOPE)
endif()
if(arg_OUT_OUTPUT_VAR)
set(${arg_OUT_OUTPUT_VAR} "${proc_output}" PARENT_SCOPE)
endif()
if(arg_OUT_ERROR_VAR)
set(${arg_OUT_ERROR_VAR} "${proc_error}" PARENT_SCOPE)
endif()
endfunction()
# Guards the escaped semicolon sequences with square brackets.
function(qt_ir_escape_semicolons out_var input_string)
string(REPLACE "\;" "[[;]]" ${out_var} "${input_string}")
set(${out_var} "${${out_var}}" PARENT_SCOPE)
endfunction()
# Removes the square bracket guards around semicolons and escape them.
function(qt_ir_unescape_semicolons out_var input_string)
string(REPLACE "[[;]]" "\;" ${out_var} "${input_string}")
set(${out_var} "${${out_var}}" PARENT_SCOPE)
endfunction()
# Converts the command line arguments to a nice bash runnable string
function(qt_ir_prettify_command_args output args)
list(JOIN args " " ${output})
qt_ir_unescape_semicolons(${output} "${${output}}")
set(${output} "${${output}}" PARENT_SCOPE)
endfunction()
# A higher level execute_process wrapper that can be used to execute a single command
# that is a bit more opinionated and expects options related to init-repository
# functionality.
# It handles queietness, error handling and logging.
# It also allows for slightly more compact syntax for calling processes.
function(qt_ir_execute_process_and_log_and_handle_error)
set(options
NO_HANDLE_ERROR
FORCE_VERBOSE
FORCE_QUIET
)
set(oneValueArgs
WORKING_DIRECTORY
OUT_RESULT_VAR
OUT_OUTPUT_VAR
OUT_ERROR_VAR
ERROR_MESSAGE
)
set(multiValueArgs
COMMAND_ARGS
EP_EXTRA_ARGS
)
cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
qt_ir_get_option_value(quiet quiet)
set(quiet_option "")
if((quiet OR arg_FORCE_QUIET) AND NOT arg_FORCE_VERBOSE)
set(quiet_option "QUIET")
endif()
set(working_dir "")
if(arg_WORKING_DIRECTORY)
set(working_dir WORKING_DIRECTORY "${arg_WORKING_DIRECTORY}")
endif()
set(extra_args "")
if(arg_EP_EXTRA_ARGS)
set(extra_args EP_EXTRA_ARGS "${arg_EP_EXTRA_ARGS}")
endif()
set(out_output_var "")
if(arg_OUT_OUTPUT_VAR OR quiet)
set(out_output_var OUT_OUTPUT_VAR proc_output)
endif()
set(out_error_var "")
if(arg_OUT_ERROR_VAR OR quiet)
set(out_error_var OUT_ERROR_VAR proc_error)
endif()
qt_ir_execute_process(
${quiet_option}
COMMAND_ARGS ${arg_COMMAND_ARGS}
OUT_RESULT_VAR proc_result
${extra_args}
${working_dir}
${out_output_var}
${out_error_var}
)
if(NOT proc_result EQUAL 0 AND NOT arg_NO_HANDLE_ERROR)
set(error_message "")
if(arg_ERROR_MESSAGE)
set(error_message "${arg_ERROR_MESSAGE}\n")
endif()
qt_ir_prettify_command_args(cmd "${arg_COMMAND_ARGS}")
string(APPEND error_message "${cmd} exited with status: ${proc_result}\n")
if(proc_output)
string(APPEND error_message "stdout: ${proc_output}\n")
endif()
if(proc_error)
string(APPEND error_message "stderr: ${proc_error}\n")
endif()
message(FATAL_ERROR "${error_message}")
endif()
if(arg_OUT_RESULT_VAR)
set(${arg_OUT_RESULT_VAR} "${proc_result}" PARENT_SCOPE)
endif()
if(arg_OUT_OUTPUT_VAR)
set(${arg_OUT_OUTPUT_VAR} "${proc_output}" PARENT_SCOPE)
endif()
if(arg_OUT_ERROR_VAR)
set(${arg_OUT_ERROR_VAR} "${proc_error}" PARENT_SCOPE)
endif()
endfunction()

17
cmake/QtIRScript.cmake Normal file
View File

@@ -0,0 +1,17 @@
# Copyright (C) 2024 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause
cmake_minimum_required(VERSION 3.16)
# Sets up the include paths for all the helpers init-repository uses.
macro(qt_ir_setup_include_paths)
list(APPEND CMAKE_MODULE_PATH
"${CMAKE_CURRENT_LIST_DIR}"
"${CMAKE_CURRENT_LIST_DIR}/3rdparty/cmake"
)
include(QtIRHelpers)
endmacro()
qt_ir_setup_include_paths()
qt_ir_include_all_helpers()
qt_ir_run_main_script("${CMAKE_CURRENT_SOURCE_DIR}" exit_reason)

View File

@@ -1,3 +1,6 @@
# Copyright (C) 2024 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause
# The script produces the list of qt submodules that are required to build the submodules listed
# in the QT_BUILD_SUBMODULES variable. The resulting list preserves the required build order.
# Usage:

View File

@@ -1,3 +1,6 @@
# Copyright (C) 2024 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause
# This script is to be called (ideally from a git-sync-to alias script):
# cmake -DSYNC_TO_MODULE="$1" -DSYNC_TO_BRANCH="$2" -P cmake/QtSynchronizeRepo.cmake
# Or as follows (ideally from a git-qt-foreach alias script):

View File

@@ -0,0 +1,17 @@
# Copyright (C) 2024 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause
cmake_minimum_required(VERSION 3.16)
# Sets up the include paths for all the helpers configure uses.
macro(qt_tl_setup_include_paths)
list(APPEND CMAKE_MODULE_PATH
"${CMAKE_CURRENT_LIST_DIR}"
"${CMAKE_CURRENT_LIST_DIR}/3rdparty/cmake"
)
include(QtTopLevelHelpers)
endmacro()
qt_tl_setup_include_paths()
qt_tl_include_all_helpers()
qt_tl_run_main_script()

View File

@@ -1,3 +1,62 @@
# Copyright (C) 2024 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause
macro(qt_tl_include_all_helpers)
include(QtIRHelpers)
qt_ir_include_all_helpers()
endmacro()
function(qt_tl_run_toplevel_configure top_level_src_path)
cmake_parse_arguments(arg "ALREADY_INITIALIZED" "" "" ${ARGV})
qt_ir_get_cmake_flag(ALREADY_INITIALIZED arg_ALREADY_INITIALIZED)
# Filter out init-repository specific arguments before passing them to
# configure.
qt_ir_get_args_from_optfile_configure_filtered("${OPTFILE}" configure_args
${arg_ALREADY_INITIALIZED})
# Get the path to the qtbase configure script.
set(qtbase_dir_name "qtbase")
set(configure_path "${top_level_src_path}/${qtbase_dir_name}/configure")
if(CMAKE_HOST_WIN32)
string(APPEND configure_path ".bat")
endif()
if(NOT EXISTS "${configure_path}")
message(FATAL_ERROR
"The required qtbase/configure script was not found: ${configure_path}\n"
"Try re-running configure with --init-submodules")
endif()
# Make a build directory for qtbase in the current build directory.
set(qtbase_build_dir "${CMAKE_CURRENT_BINARY_DIR}/${qtbase_dir_name}")
file(MAKE_DIRECTORY "${qtbase_build_dir}")
qt_ir_execute_process_and_log_and_handle_error(
COMMAND_ARGS "${configure_path}" -top-level ${configure_args}
WORKING_DIRECTORY "${qtbase_build_dir}"
FORCE_VERBOSE
)
endfunction()
function(qt_tl_run_main_script)
if(NOT TOP_LEVEL_SRC_PATH)
message(FATAL_ERROR "Assertion: configure TOP_LEVEL_SRC_PATH is not set")
endif()
# Tell init-repository it is called from configure.
qt_ir_set_option_value(from-configure TRUE)
# Run init-repository in-process.
qt_ir_run_main_script("${TOP_LEVEL_SRC_PATH}" exit_reason)
if(exit_reason AND NOT exit_reason STREQUAL "ALREADY_INITIALIZED")
return()
endif()
# Then run configure out-of-process.
qt_tl_run_toplevel_configure("${TOP_LEVEL_SRC_PATH}" ${exit_reason})
endfunction()
# Populates $out_module_list with all subdirectories that have a CMakeLists.txt file
function(qt_internal_find_modules out_module_list)
set(module_list "")
@@ -15,7 +74,7 @@ endfunction()
# poor man's yaml parser, populating $out_dependencies with all dependencies
# in the $depends_file
# Each entry will be in the format dependency/sha1/required
function(qt_internal_parse_dependencies depends_file out_dependencies)
function(qt_internal_parse_dependencies_yaml depends_file out_dependencies)
file(STRINGS "${depends_file}" lines)
set(eof_marker "---EOF---")
list(APPEND lines "${eof_marker}")
@@ -48,7 +107,7 @@ function(qt_internal_parse_dependencies depends_file out_dependencies)
endif()
endforeach()
message(DEBUG
"qt_internal_parse_dependencies for ${depends_file}\n dependencies: ${dependencies}")
"qt_internal_parse_dependencies_yaml for ${depends_file}\n dependencies: ${dependencies}")
set(${out_dependencies} "${dependencies}" PARENT_SCOPE)
endfunction()
@@ -99,8 +158,22 @@ endfunction()
# Keyword arguments:
#
# PARSED_DEPENDENCIES is a list of dependencies of module in the format that
# qt_internal_parse_dependencies returns. If this argument is not provided, dependencies.yaml of the
# module is parsed.
# qt_internal_parse_dependencies_yaml returns.
# If this argument is not provided, either a module's dependencies.yaml or .gitmodules file is
# used as the source of dependencies, depending on whether PARSE_GITMODULES option is enabled.
#
# PARSE_GITMODULES is a boolean that controls whether the .gitmodules or the dependencies.yaml
# file of the repo are used for extracting dependencies. Defaults to FALSE, so uses
# dependencies.yaml by default.
#
# EXCLUDE_OPTIONAL_DEPS is a boolean that controls whether optional dependencies are excluded from
# the final result.
#
# GITMODULES_PREFIX_VAR is the prefix of all the variables containing dependencies for the
# PARSE_GITMODULES mode.
# The function expects the following variables to be set in the parent scope
# ${arg_GITMODULES_PREFIX_VAR}_${submodule_name}_depends
# ${arg_GITMODULES_PREFIX_VAR}_${submodule_name}_recommends
#
# IN_RECURSION is an internal option that is set when the function is in recursion.
#
@@ -114,8 +187,9 @@ endfunction()
#
# SKIP_MODULES Modules that should be skipped from evaluation completely.
function(qt_internal_resolve_module_dependencies module out_ordered out_revisions)
set(options IN_RECURSION NORMALIZE_REPO_NAME_IF_NEEDED)
set(oneValueArgs REVISION SKIPPED_VAR)
set(options IN_RECURSION NORMALIZE_REPO_NAME_IF_NEEDED PARSE_GITMODULES
EXCLUDE_OPTIONAL_DEPS)
set(oneValueArgs REVISION SKIPPED_VAR GITMODULES_PREFIX_VAR)
set(multiValueArgs PARSED_DEPENDENCIES SKIP_MODULES)
cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
@@ -143,10 +217,42 @@ function(qt_internal_resolve_module_dependencies module out_ordered out_revision
if(DEFINED arg_PARSED_DEPENDENCIES)
set(dependencies "${arg_PARSED_DEPENDENCIES}")
else()
set(depends_file "${CMAKE_CURRENT_SOURCE_DIR}/${module}/dependencies.yaml")
set(dependencies "")
if(EXISTS "${depends_file}")
qt_internal_parse_dependencies("${depends_file}" dependencies)
if(NOT arg_PARSE_GITMODULES)
set(depends_file "${CMAKE_CURRENT_SOURCE_DIR}/${module}/dependencies.yaml")
if(EXISTS "${depends_file}")
qt_internal_parse_dependencies_yaml("${depends_file}" dependencies)
if(arg_EXCLUDE_OPTIONAL_DEPS)
set(filtered_dependencies "")
foreach(dependency IN LISTS dependencies)
string(REPLACE "/" ";" dependency_split "${dependency}")
list(GET dependency_split 2 required)
if(required)
list(APPEND filtered_dependencies "${dependency}")
endif()
endforeach()
set(dependencies "${filtered_dependencies}")
endif()
endif()
else()
set(depends "${${arg_GITMODULES_PREFIX_VAR}_${dependency}_depends}")
foreach(dependency IN LISTS depends)
if(dependency)
# The HEAD value is not really used, but we need to add something.
list(APPEND dependencies "${dependency}/HEAD/TRUE")
endif()
endforeach()
set(recommends "${${arg_GITMODULES_PREFIX_VAR}_${dependency}_recommends}")
if(NOT arg_EXCLUDE_OPTIONAL_DEPS)
foreach(dependency IN LISTS recommends)
if(dependency)
list(APPEND dependencies "${dependency}/HEAD/FALSE")
endif()
endforeach()
endif()
endif()
endif()
@@ -173,6 +279,16 @@ function(qt_internal_resolve_module_dependencies module out_ordered out_revision
set_property(GLOBAL APPEND PROPERTY QT_REQUIRED_DEPS_FOR_${module} ${dependency})
endif()
set(parse_gitmodules "")
if(arg_PARSE_GITMODULES)
set(parse_gitmodules "PARSE_GITMODULES")
endif()
set(exclude_optional_deps "")
if(arg_EXCLUDE_OPTIONAL_DEPS)
set(exclude_optional_deps "EXCLUDE_OPTIONAL_DEPS")
endif()
set(extra_options "")
if(arg_SKIP_MODULES)
list(APPEND extra_options SKIP_MODULES ${arg_SKIP_MODULES})
@@ -183,6 +299,9 @@ function(qt_internal_resolve_module_dependencies module out_ordered out_revision
SKIPPED_VAR skipped
IN_RECURSION
${normalize_arg}
${parse_gitmodules}
${exclude_optional_deps}
GITMODULES_PREFIX_VAR ${arg_GITMODULES_PREFIX_VAR}
${extra_options}
)
if(NOT skipped)
@@ -205,18 +324,32 @@ endfunction()
# Arguments:
# modules is the initial list of repos.
# out_all_ordered is the variable name where the result is stored.
# PARSE_GITMODULES and GITMODULES_PREFIX_VAR are keyowrd arguments that change the
# source of dependencies parsing from dependencies.yaml to .gitmodules.
# EXCLUDE_OPTIONAL_DEPS is a keyword argument that excludes optional dependencies from the result.
# See qt_internal_resolve_module_dependencies for details.
#
# SKIP_MODULES Modules that should be skipped from evaluation completely.
#
# See qt_internal_resolve_module_dependencies for side effects.
function(qt_internal_sort_module_dependencies modules out_all_ordered)
set(options "")
set(oneValueArgs "")
set(options PARSE_GITMODULES EXCLUDE_OPTIONAL_DEPS)
set(oneValueArgs GITMODULES_PREFIX_VAR)
set(multiValueArgs SKIP_MODULES)
cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
set(parse_gitmodules "")
if(arg_PARSE_GITMODULES)
set(parse_gitmodules "PARSE_GITMODULES")
endif()
set(exclude_optional_deps "")
if(arg_EXCLUDE_OPTIONAL_DEPS)
set(exclude_optional_deps "EXCLUDE_OPTIONAL_DEPS")
endif()
# Create a fake repository "all_selected_repos" that has all repositories from the input as
# required dependency. The format must match what qt_internal_parse_dependencies produces.
# required dependency. The format must match what qt_internal_parse_dependencies_yaml produces.
set(all_selected_repos_as_parsed_dependencies)
foreach(module IN LISTS modules)
list(APPEND all_selected_repos_as_parsed_dependencies "${module}/HEAD/FALSE")
@@ -230,6 +363,9 @@ function(qt_internal_sort_module_dependencies modules out_all_ordered)
qt_internal_resolve_module_dependencies(all_selected_repos ordered unused_revisions
PARSED_DEPENDENCIES ${all_selected_repos_as_parsed_dependencies}
NORMALIZE_REPO_NAME_IF_NEEDED
${exclude_optional_deps}
${parse_gitmodules}
GITMODULES_PREFIX_VAR ${arg_GITMODULES_PREFIX_VAR}
${extra_args}
)

View File

@@ -0,0 +1,92 @@
# Copyright (C) 2024 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause
# This script writes its arguments to the file determined by OUT_FILE.
# Each argument appears on a separate line.
# This is used for writing the init-repository.opt file.
#
# This script takes the following arguments:
# IN_FILE: The input file. The whole command line as one string, or one argument per line.
# REDO_FILE: A file containing extra commands to be joined with IN_FILE.
# OUT_FILE: The output file. One argument per line.
# SKIP_ARGS: Number of arguments to skip from the front of the arguments list.
# IGNORE_ARGS: List of arguments to be ignored, i.e. that are not written.
#
# If the REDO_FILE is given, its parameters will be merged with IN_FILE parameters
# and be written into the OUT_FILE.
cmake_minimum_required(VERSION 3.16)
# Read arguments from IN_FILE and separate them.
file(READ "${IN_FILE}" raw_args)
# To catch cases where the path ends with an `\`, e.g., `-prefix "C:\Path\"`
string(REPLACE "\\\"" "\"" raw_args "${raw_args}")
string(REPLACE ";" "[[;]]" raw_args "${raw_args}")
separate_arguments(args NATIVE_COMMAND "${raw_args}")
string(REPLACE "\;" ";" args "${args}")
string(REPLACE "[[;]]" "\;" args "${args}")
if(DEFINED REDO_FILE)
file(READ "${REDO_FILE}" raw_redo_args)
separate_arguments(redo_args NATIVE_COMMAND "${raw_redo_args}")
if(args)
list(FIND args "--" args_ddash_loc)
list(FIND redo_args "--" redo_ddash_loc)
if("${redo_ddash_loc}" STREQUAL "-1")
if("${args_ddash_loc}" STREQUAL "-1")
list(LENGTH args args_ddash_loc)
endif()
# Avoid adding an empty line for an empty -redo
if(NOT "${redo_args}" STREQUAL "")
list(INSERT args ${args_ddash_loc} "${redo_args}")
endif()
else()
# Handling redo's configure options
list(SUBLIST redo_args 0 ${redo_ddash_loc} redo_config_args)
if(redo_config_args)
if("${args_ddash_loc}" STREQUAL "-1")
list(APPEND args "${redo_config_args}")
else()
list(INSERT args ${args_ddash_loc} "${redo_config_args}")
endif()
endif()
# Handling redo's CMake options
list(LENGTH redo_args redo_args_len)
math(EXPR redo_ddash_loc "${redo_ddash_loc} + 1")
# Catch an unlikely case of -redo being called with an empty --, ie., `-redo --`
if(NOT ${redo_ddash_loc} STREQUAL ${redo_args_len})
list(SUBLIST redo_args ${redo_ddash_loc} -1 redo_cmake_args)
endif()
if(DEFINED redo_cmake_args)
if("${args_ddash_loc}" STREQUAL "-1")
list(APPEND args "--")
endif()
list(APPEND args "${redo_cmake_args}")
endif()
endif()
else()
list(APPEND args "${redo_args}")
endif()
endif()
# Skip arguments if requested
if(DEFINED SKIP_ARGS)
foreach(i RANGE 1 ${SKIP_ARGS})
list(POP_FRONT args)
endforeach()
endif()
# Write config.opt
set(content "")
foreach(arg IN LISTS args)
if(NOT arg IN_LIST IGNORE_ARGS)
string(APPEND content "${arg}\n")
endif()
endforeach()
file(WRITE "${OUT_FILE}" "${content}")

View File

@@ -8,5 +8,5 @@ Configurations:
Configure arguments: '-nomake examples -developer-build'
Environment variables: [
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}'
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE'
]

View File

@@ -2,7 +2,6 @@ Version: 2
Include: [
cmake_platforms_qemu.yaml,
cmake_platforms_qemu_qnx710.yaml,
cmake_platforms_qemu_vxworks.yaml,
cmake_platforms_target_android.yaml,
cmake_platforms_wasm.yaml,
macos.yaml
@@ -15,16 +14,16 @@ Configurations:
Compiler: 'GCC'
Features: ['Sccache', 'Documentation', 'UseConfigure', 'DoNotRunTests']
Configure arguments: '-make examples -developer-build -c++std c++20 -linker gold -qtlibinfix TestInfix -qtnamespace TestNamespace'
Environment variables: ['NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}']
Environment variables: ['NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE']
-
Id: 'ubuntu-22.04'
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests']
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}'
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DINPUT_headersclean=ON -DQT_DEPLOY_FFMPEG=TRUE'
]
# Test on Ubuntu 22.04 X11
-
@@ -39,6 +38,75 @@ Configurations:
Compiler: 'GCC'
Features: ['Sccache', 'TestOnly']
Platform dependency: 'ubuntu-22.04'
# Build on Ubuntu 24.04 ARM64 Wayland and test on offscreen and Wayland later
-
Id: 'ubuntu-24.04-arm64-documentation'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
Compiler: 'GCC'
Features: ['Sccache', 'Documentation', 'UseConfigure', 'DoNotRunTests']
Configure arguments: '-make examples -developer-build -c++std c++20 -linker lld -qtlibinfix TestInfix -qtnamespace TestNamespace -qpa offscreen\;xcb'
Environment variables: [
'COMMON_TEST_CMAKE_ARGS=-DQT_SKIP_DOCKER_COMPOSE=ON',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE'
]
-
Id: 'ubuntu-24.04-arm64'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
Compiler: 'GCC'
Features: ['Sccache', 'Packaging', 'UseConfigure', 'DoNotRunTests', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput -qpa offscreen\;xcb'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'COMMON_TEST_CMAKE_ARGS=-DQT_SKIP_DOCKER_COMPOSE=ON',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON'
]
# Test on Ubuntu 24.04 ARM64 offscreen
-
Id: 'ubuntu-24.04-arm64-offscreen-tests'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
Compiler: 'GCC'
Features: ['TestOnly']
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'QT_QPA_OFFSCREEN_NO_GLX=1',
'QT_QPA_PLATFORM=offscreen'
]
Platform dependency: 'ubuntu-24.04-arm64'
# Build on Ubuntu 24.04 x64 Wayland and test on both X11 and Wayland (Wayland=default)
-
Id: 'ubuntu-24.04-x64-documentation'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
Compiler: 'GCC'
Features: ['Sccache', 'Documentation', 'UseConfigure', 'DoNotRunTests']
Configure arguments: '-make examples -developer-build -c++std c++20 -linker gold -qtlibinfix TestInfix -qtnamespace TestNamespace'
Environment variables: [
'COMMON_TEST_CMAKE_ARGS=-DQT_SKIP_DOCKER_COMPOSE=ON',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE'
]
-
Id: 'ubuntu-24.04-x64'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests']
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'COMMON_TEST_CMAKE_ARGS=-DQT_SKIP_DOCKER_COMPOSE=ON',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON'
]
# Test on Ubuntu 24.04 x64 X11
-
Id: 'ubuntu-24.04-x64-documentation-x11-tests'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'TestOnly', 'InsignificantTests']
Platform dependency: 'ubuntu-24.04-x64-documentation'
-
Id: 'ubuntu-24.04-x64-x11-tests'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'TestOnly', 'InsignificantTests']
Platform dependency: 'ubuntu-24.04-x64'
-
Id: 'opensuse-15.5-developer-build'
Template: 'qtci-linux-openSUSE-15.5-x86_64-52'
@@ -48,120 +116,60 @@ Configurations:
Environment variables: [
'PATH={{.Env.CMAKE_MIN_SUPPORTED_BIN_PATH}}:{{.Env.PATH}}',
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}'
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE'
]
-
Id: 'sles-15_sp5-static'
Template: 'qtci-linux-SLES-15_SP5-x86_64-50'
Compiler: 'GCC'
Features: ['Sccache', 'DisableTests', 'UseConfigure']
Features: ['Sccache', 'DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-nomake examples -static -no-sql-mysql'
Environment variables: [
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}'
]
-
Id: 'windows-10_22h2-msvc2019'
Template: 'qtci-windows-10_22H2-x86_64-51'
Compiler: 'MSVC2019'
Features: ['Packaging', 'Sccache', "DebugAndRelease", 'UseConfigure']
Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib'
Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\..',
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_native_grpc=OFF',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
Id: 'windows-11_22h2-msvc2019'
Template: 'qtci-windows-11_22H2-x86_64-51'
Compiler: 'MSVC2019'
Features: ['Packaging', 'Sccache', "DebugAndRelease", 'UseConfigure']
Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib'
Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\..',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_native_grpc=OFF',
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
Id: 'windows-11_23H2-msvc2019'
Template: 'qtci-windows-11_23H2-x86_64-52'
Compiler: 'MSVC2019'
Features: ['Packaging', 'Sccache', "DebugAndRelease", 'UseConfigure']
Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib'
Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\..',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_native_grpc=OFF',
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
Id: 'windows-10_22h2-msvc2022'
Template: 'qtci-windows-10_22H2-x86_64-51'
Template: 'qtci-windows-10_22H2-x86_64-52'
Compiler: 'MSVC2022'
Features: ['Sccache', "DebugAndRelease", 'UseConfigure']
Features: ['Sccache', "DebugAndRelease", 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib'
Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\.. -DMySQL_ROOT={{.Env.ENV_MySQL_ROOT}} -DMySQL_LIBRARY_DIR={{.Env.ENV_MySQL_LIBRARY_DIR}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_native_grpc=OFF -DFEATURE_clangcpp=OFF',
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
Id: 'windows-11_22h2-msvc2022'
Template: 'qtci-windows-11_22H2-x86_64-51'
Compiler: 'MSVC2022'
Features: ['Sccache', "DebugAndRelease", 'UseConfigure']
Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib'
Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\..',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_native_grpc=OFF',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_clangcpp=OFF -DINPUT_headersclean=ON',
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
Id: 'windows-11_23H2-msvc2022'
Template: 'qtci-windows-11_23H2-x86_64-52'
Template: 'qtci-windows-11_23H2-x86_64-53'
Compiler: 'MSVC2022'
Features: ['Sccache', "DebugAndRelease", 'UseConfigure', 'Packaging']
Features: ['Sccache', "DebugAndRelease", 'UseConfigure', 'Packaging', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib'
Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\..',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_native_grpc=OFF -DFEATURE_clangcpp=OFF',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_clangcpp=OFF -DINPUT_headersclean=ON',
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
Id: 'windows-11_22h2-arm64-msvc2022'
Template: 'qtci-windows-11_22H2-aarch64-51'
Template: 'qtci-windows-11_22H2-aarch64-53'
Compiler: 'MSVC2022'
Features: ['DebugAndRelease', 'UseConfigure', 'InsignificantTests']
Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib -c++std c++20 -no-sql-psql'
Features: ['Packaging', 'DebugAndRelease', 'UseConfigure', 'InsignificantTests', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib -no-sql-psql -no-opengl'
Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_arm64}}\..',
'NON_QTBASE_CMAKE_ARGS=-DFEATURE_native_grpc=OFF -DFEATURE_clangcpp=OFF -DFEATURE_qdoc=OFF',
'NON_QTBASE_CMAKE_ARGS= -DFEATURE_clangcpp=OFF -DFEATURE_qdoc=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
Id: 'windows-10_22h2-msvc2019-developer-build'
Template: 'qtci-windows-10_22H2-x86_64-51'
Compiler: 'MSVC2019'
Features: ['Sccache', "DebugAndRelease", 'WarningsAreErrors', 'UseConfigure']
Configure arguments: '-debug-and-release -make examples -developer-build -force-debug-info -qt-zlib'
Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
'gRPC_ROOT={{.Env.gRPC_ROOT_msvc}}',
]
-
Id: 'windows-10_22h2-msvc2019-arm64'
Template: 'qtci-windows-10_22H2-x86_64-51'
Compiler: 'MSVC2019'
Id: 'windows-11_23H2-msvc2022-arm64'
Template: 'qtci-windows-11_23H2-x86_64-53'
Compiler: 'MSVC2022'
Target arch: 'arm64'
Features: ['Sccache', 'DisableTests', 'TargetBuildOnly', 'Packaging', 'UseConfigure']
Platform dependency: 'windows-10_22h2-msvc2019-developer-build'
Features: ['Sccache', 'DisableTests', 'TargetBuildOnly', 'Packaging', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Platform dependency: 'windows-11_23H2-msvc2022'
Environment variables: [
'TARGET_CONFIGURE_ARGS=-debug-and-release -force-debug-info -platform win32-arm64-msvc',
'TARGET_CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ROOT_DIR_x64_arm64}}',
@@ -171,97 +179,36 @@ Configurations:
'OPENSSL_LIB_x64={{.Env.OPENSSL_LIB_x64_arm64}}',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
Id: 'windows-11_22h2-msvc2019-developer-build'
Template: 'qtci-windows-11_22H2-x86_64-51'
Compiler: 'MSVC2019'
Features: ['Sccache', "DebugAndRelease", 'WarningsAreErrors', 'UseConfigure']
Configure arguments: '-debug-and-release -make examples -developer-build -force-debug-info -qt-zlib -c++std c++20'
Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
'gRPC_ROOT={{.Env.gRPC_ROOT_msvc}}',
]
-
Id: 'windows-11_23H2-msvc2019-developer-build'
Template: 'qtci-windows-11_23H2-x86_64-52'
Compiler: 'MSVC2019'
Features: ['Sccache', "DebugAndRelease", 'WarningsAreErrors', 'UseConfigure']
Configure arguments: '-debug-and-release -make examples -developer-build -force-debug-info -qt-zlib -c++std c++20'
Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
'gRPC_ROOT={{.Env.gRPC_ROOT_msvc}}',
]
-
Id: 'windows-11_22h2-msvc2019-arm64'
Template: 'qtci-windows-11_22H2-x86_64-51'
Compiler: 'MSVC2019'
Target arch: 'arm64'
Features: ['Sccache', 'DisableTests', 'TargetBuildOnly', 'Packaging', 'UseConfigure']
Platform dependency: 'windows-11_22h2-msvc2019-developer-build'
Environment variables: [
'TARGET_CONFIGURE_ARGS=-debug-and-release -force-debug-info -platform win32-arm64-msvc',
'TARGET_CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
Id: 'windows-11_23H2-msvc2019-arm64'
Template: 'qtci-windows-11_23H2-x86_64-52'
Compiler: 'MSVC2019'
Target arch: 'arm64'
Features: ['Sccache', 'DisableTests', 'TargetBuildOnly', 'Packaging', 'UseConfigure']
Platform dependency: 'windows-11_23H2-msvc2019-developer-build'
Environment variables: [
'TARGET_CONFIGURE_ARGS=-debug-and-release -force-debug-info -platform win32-arm64-msvc',
'TARGET_CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
Id: 'rhel-8.8'
Template: 'qtci-linux-RHEL-8.8-x86_64-50'
Compiler: 'GCC'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'InstallQt5Dependencies']
Features: ['Packaging', 'Sccache', 'UseConfigure', 'InstallQt5Dependencies', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-nomake examples -release -force-debug-info -headersclean -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DFEATURE_native_grpc=OFF'
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON'
]
-
Id: 'rhel-9.2'
Template: 'qtci-linux-RHEL-9.2-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure', 'InstallQt5Dependencies']
Features: ['Sccache', 'UseConfigure', 'InstallQt5Dependencies', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-nomake examples -release -force-debug-info -headersclean -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}'
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON'
]
# Build on Debian-11.6 and split test on Wayland and offscreen later
-
Id: 'debian-11.6-arm64'
Template: 'qtci-linux-Debian-11.6-aarch64-50'
Compiler: 'GCC'
Features: ['Packaging', 'UseConfigure', 'InstallQt5Dependencies', 'DoNotRunTests']
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-doubleconversion -qt-harfbuzz -no-libudev -bundled-xcb-xinput'
Features: ['Packaging', 'UseConfigure', 'InstallQt5Dependencies', 'DoNotRunTests', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-doubleconversion -qt-harfbuzz -no-libudev -bundled-xcb-xinput -qpa offscreen\;xcb'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}',
]
# Test on Debian-11.6 offscreen
-
Id: 'debian-11.6-arm64-offscreen-tests'
Template: 'qtci-linux-Debian-11.6-aarch64-50'
Compiler: 'GCC'
Features: ['Sccache', 'InsignificantTests', 'TestOnly']
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'QT_QPA_PLATFORM=offscreen'
]
Platform dependency: 'debian-11.6-arm64'
-
Id: 'ios-universal'
Template: 'qtci-macos-13-x86_64-103'
@@ -270,99 +217,47 @@ Configurations:
Compiler: 'Clang'
Target compiler: 'Clang'
Platform dependency: 'macos-universal-on-x86_64'
Features: ['Packaging', 'Sccache', 'DebugAndRelease', 'DisableTests', 'UseConfigure', 'WarningsAreErrors']
Features: ['Packaging', 'Sccache', 'DebugAndRelease', 'DisableTests', 'UseConfigure', 'WarningsAreErrors', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-debug-and-release -nomake examples -platform macx-ios-clang',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include -DFFMPEG_DIR={{.Env.FFMPEG_DIR_IOS}} -DQT_DEPLOY_FFMPEG=TRUE',
]
-
Id: 'windows-10_22h2-mingw11'
Template: 'qtci-windows-10_22H2-x86_64-51'
Id: 'windows-10_22h2-mingw13'
Template: 'qtci-windows-10_22H2-x86_64-52'
Compiler: 'Mingw'
Features: ['Packaging', 'Sccache', 'UseConfigure']
Features: ['Packaging', 'Sccache', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-release -force-debug-info -separate-debug-info -nomake examples'
Environment variables: [
'Path={{.Env.MINGW1120}}\bin;{{.Env.Path}}',
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
'CMAKE_ARGS=-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\.. -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MINGW}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_native_grpc=OFF -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MINGW}} -DQT_DEPLOY_FFMPEG=TRUE -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_mingw}}',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_mingw}}',
]
-
Id: 'windows-10_22h2-llvm'
Template: 'qtci-windows-10_22H2-x86_64-51'
Compiler: 'Clang'
Features: ['Sccache', 'UseConfigure']
Configure arguments: '-release -force-debug-info -separate-debug-info -nomake examples'
Environment variables: [
'Path=C:\llvm-mingw\bin;{{.Env.Path}}',
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\.. -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_LLVM_MINGW}} -DQT_DEPLOY_FFMPEG=TRUE -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
'LLVM_INSTALL_DIR=C:\llvm-mingw',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_llvm_mingw}}',
]
-
Id: 'windows-11_22h2-llvm'
Template: 'qtci-windows-11_22H2-x86_64-51'
Compiler: 'Clang'
Features: ['Packaging','Sccache', 'UseConfigure']
Configure arguments: '-release -force-debug-info -separate-debug-info -nomake examples'
Environment variables: [
'Path=C:\llvm-mingw\bin;{{.Env.Path}}',
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\.. -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_LLVM_MINGW}} -DQT_DEPLOY_FFMPEG=TRUE -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
'LLVM_INSTALL_DIR=C:\llvm-mingw',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_llvm_mingw}}',
]
-
Id: 'windows-11_23H2-llvm'
Template: 'qtci-windows-11_23H2-x86_64-52'
Template: 'qtci-windows-11_23H2-x86_64-53'
Compiler: 'Clang'
Features: ['Packaging','Sccache', 'UseConfigure']
Features: ['Packaging','Sccache', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-release -force-debug-info -separate-debug-info -nomake examples'
Environment variables: [
'Path=C:\llvm-mingw\bin;{{.Env.Path}}',
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\.. -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_LLVM_MINGW}} -DQT_DEPLOY_FFMPEG=TRUE -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
'LLVM_INSTALL_DIR=C:\llvm-mingw',
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_llvm_mingw}}',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_llvm_mingw}}',
]
-
Id: 'windows-10_22h2-mingw11-developer-build'
Template: 'qtci-windows-10_22H2-x86_64-51'
Id: 'windows-11_23H2-mingw13-developer-build'
Template: 'qtci-windows-11_23H2-x86_64-53'
Compiler: 'Mingw'
Features: ['Sccache', 'WarningsAreErrors', 'UseConfigure']
Configure arguments: '-developer-build -release -force-debug-info -separate-debug-info -make examples'
Environment variables: [
'Path={{.Env.MINGW1120}}\bin;{{.Env.Path}}',
'CMAKE_ARGS=-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MINGW}} -DQT_DEPLOY_FFMPEG=TRUE -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c -DFEATURE_native_grpc=OFF',
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_mingw}}',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_mingw}}',
]
-
Id: 'windows-11_22h2-mingw11-developer-build'
Template: 'qtci-windows-11_22H2-x86_64-51'
Compiler: 'Mingw'
Features: ['Sccache', 'WarningsAreErrors', 'UseConfigure']
Configure arguments: '-developer-build -release -force-debug-info -separate-debug-info -make examples'
Environment variables: [
'Path={{.Env.MINGW1120}}\bin;{{.Env.Path}}',
'CMAKE_ARGS=-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MINGW}} -DQT_DEPLOY_FFMPEG=TRUE -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c -DFEATURE_native_grpc=OFF',
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_mingw}}',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_mingw}}',
]
-
Id: 'windows-11_23H2-mingw11-developer-build'
Template: 'qtci-windows-11_23H2-x86_64-52'
Compiler: 'Mingw'
Features: ['Sccache', 'WarningsAreErrors', 'UseConfigure']
Configure arguments: '-developer-build -release -force-debug-info -separate-debug-info -make examples'
Environment variables: [
'Path={{.Env.MINGW1120}}\bin;{{.Env.Path}}',
'CMAKE_ARGS=-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MINGW}} -DQT_DEPLOY_FFMPEG=TRUE -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c -DFEATURE_native_grpc=OFF',
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
'CMAKE_ARGS=-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c -DMySQL_ROOT={{.Env.ENV_MySQL_ROOT}} -DMySQL_LIBRARY_DIR={{.Env.ENV_MySQL_LIBRARY_DIR}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MINGW}} -DQT_DEPLOY_FFMPEG=TRUE -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_mingw}}',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_mingw}}',
]
@@ -372,7 +267,7 @@ Configurations:
Compiler: 'GCC'
Features: ['Packaging','DebianPackaging','DisableTests', 'Insignificant']
Environment variables: [
'DEBIAN_RULES_REF=6.7_dev',
'DEBIAN_RULES_REF=6.8_dev',
'COIN_TARGET_DIST=tqtc-jammy',
'COIN_EXTRA_DEBIAN_PACKAGES={{.Env.HOME}}/debian_packages/',
'COIN_SBUILD_CHROOT=jammy-arm64-sbuild',
@@ -385,7 +280,7 @@ Configurations:
Compiler: 'GCC'
Features: ['Packaging','DebianPackaging','DisableTests', 'Insignificant']
Environment variables: [
'DEBIAN_RULES_REF=6.7_dev',
'DEBIAN_RULES_REF=6.8_dev',
'COIN_TARGET_DIST=tqtc-jammy',
'COIN_EXTRA_DEBIAN_PACKAGES={{.Env.HOME}}/debian_packages/',
'COIN_SBUILD_CHROOT=jammy-amd64-sbuild',

View File

@@ -7,7 +7,7 @@ Configurations:
Target arch: 'armv7'
Compiler: 'GCC'
Platform dependency: 'ubuntu-22.04'
Features: ['Sccache', 'UseConfigure']
Features: ['Sccache', 'UseConfigure', 'InsignificantTests']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-release -force-debug-info -developer-build -no-warnings-are-errors -make examples -qt-harfbuzz -device linux-imx7-g++ -device-option "CROSS_COMPILE={{.Env.QEMUARMV7_TOOLCHAIN_CROSS_COMPILE}}" -device-option "DISTRO_OPTS=hard-float boot2qt" -no-feature-forkfd_pidfd',
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QEMUARMV7_TOOLCHAIN_FILE}} -DQT_FORCE_BUILD_TOOLS=ON',
@@ -24,7 +24,7 @@ Configurations:
Target arch: 'arm64'
Compiler: 'GCC'
Platform dependency: 'ubuntu-22.04'
Features: ['Sccache', 'UseConfigure']
Features: ['Sccache', 'UseConfigure', 'InsignificantTests']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-release -force-debug-info -developer-build -no-warnings-are-errors -nomake examples -qt-harfbuzz -device linux-generic-g++ -device-option "CROSS_COMPILE={{.Env.QEMUARM64_TOOLCHAIN_CROSS_COMPILE}}" -device-option "DISTRO_OPTS=boot2qt" -no-feature-forkfd_pidfd',
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QEMUARM64_TOOLCHAIN_FILE}} -DQT_FORCE_BUILD_TOOLS=ON',
@@ -41,7 +41,7 @@ Configurations:
Target arch: 'mips64'
Compiler: 'GCC'
Platform dependency: 'ubuntu-22.04'
Features: ['Sccache', 'DisableTests', 'UseConfigure']
Features: ['Sccache', 'DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-release -force-debug-info -developer-build -no-warnings-are-errors -nomake examples -qt-harfbuzz -device linux-generic-g++ -device-option "CROSS_COMPILE={{.Env.QEMUMIPS64_TOOLCHAIN_CROSS_COMPILE}}" -device-option "DISTRO_OPTS=boot2qt" -no-feature-forkfd_pidfd',
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QEMUMIPS64_TOOLCHAIN_FILE}} -DQT_FORCE_BUILD_TOOLS=ON',

View File

@@ -8,13 +8,13 @@ Configurations:
Compiler: 'GCC'
Target compiler: 'QCC'
Platform dependency: 'ubuntu-22.04'
Features: ['Packaging', 'VMSize8', 'UseConfigure']
Features: ['Packaging', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-release -force-debug-info -developer-build -no-dbus -nomake examples',
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QNX_710}}/qnx-toolchain-x8664.cmake -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'QT_CMAKE_DIR=/opt/cmake-3.27.7/bin',
'QNX_TEST_ENV=LD_LIBRARY_PATH={{.Env.QNX_QEMU_LD_LIBRARY_PATH}} QSG_RHI_BACKEND=software QT_QPA_PLATFORM=offscreen QTEST_ENVIRONMENT=ci',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF',
'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
]
-
Id: 'qnx-710-arm64-on-linux'
@@ -24,11 +24,11 @@ Configurations:
Compiler: 'GCC'
Target compiler: 'QCC'
Platform dependency: 'ubuntu-22.04'
Features: ['Packaging', 'DisableTests', 'UseConfigure']
Features: ['Packaging', 'DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-release -force-debug-info -no-dbus -nomake examples',
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QNX_710}}/qnx-toolchain-aarch64le.cmake -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF',
'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
]
-
Id: 'qnx-710-armv7-on-linux'
@@ -38,9 +38,9 @@ Configurations:
Compiler: 'GCC'
Target compiler: 'QCC'
Platform dependency: 'ubuntu-22.04'
Features: ['Packaging', 'DisableTests', 'UseConfigure']
Features: ['Packaging', 'DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-release -force-debug-info -no-dbus -nomake examples',
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QNX_710}}/qnx-toolchain-armv7le.cmake -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF',
'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
]

View File

@@ -8,7 +8,7 @@ Configurations:
Compiler: 'Clang'
Target compiler: 'Clang'
Platform dependency: 'ubuntu-22.04'
Features: ['Packaging', 'VMSize8', 'UseConfigure', 'Insignificant', 'DisableTests']
Features: ['VMSize8', 'UseConfigure', 'DisableTests']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-release -developer-build -force-debug-info -qpa eglfs -nomake examples',
'TARGET_CMAKE_ARGS=-DBUILD_SHARED_LIBS=OFF -DWARNINGS_ARE_ERRORS=OFF -DCMAKE_TOOLCHAIN_FILE="{{.Env.WIND_CC_SYSROOT}}/mk/rtp.toolchain.cmake" -DFEATURE_vulkan=OFF -DQT_QMAKE_TARGET_MKSPEC=vxworks-clang -DQT_HOST_PATH=/home/qt/work/install -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_STAGING_PREFIX:PATH=/home/qt/work/install/target'

View File

@@ -0,0 +1,15 @@
Version: 2
Configurations:
-
Id: 'vxworks-imx6-buildtest'
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Target os: 'VxWorks'
Target arch: 'ARMv7'
Compiler: 'Clang'
Target compiler: 'Clang'
Platform dependency: 'ubuntu-22.04'
Features: ['VMSize8', 'UseConfigure', 'DoNotRunTests', 'DoNotUploadTests']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-release -developer-build -force-debug-info -qpa eglfs -nomake examples',
'TARGET_CMAKE_ARGS=-DBUILD_SHARED_LIBS=OFF -DWARNINGS_ARE_ERRORS=OFF -DCMAKE_TOOLCHAIN_FILE="{{.Env.WIND_CC_SYSROOT}}/mk/rtp.toolchain.cmake" -DFEATURE_vulkan=OFF -DQT_QMAKE_TARGET_MKSPEC=vxworks-clang -DQT_HOST_PATH=/home/qt/work/install -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_STAGING_PREFIX:PATH=/home/qt/work/install/target'
]

View File

@@ -10,9 +10,9 @@ Configurations:
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
]
-
Id: 'windows-10_22h2-minimal-static'
Template: 'qtci-windows-10_22H2-x86_64-51'
Compiler: 'MSVC2019'
Id: 'windows-11_23H2-minimal-static'
Template: 'qtci-windows-11_23H2-x86_64-53'
Compiler: 'MSVC2022'
Features: ['Sccache', 'MinimalStaticTests', 'UseConfigure']
Configure arguments: '-release -force-debug-info -static -nomake examples -qt-zlib'
Environment variables: [
@@ -22,8 +22,8 @@ Configurations:
'gRPC_ROOT={{.Env.gRPC_ROOT_msvc}}',
]
-
Id: 'macos-11-minimal-static'
Template: 'qtci-macos-11-x86_64-106'
Id: 'macos-minimal-static'
Template: 'qtci-macos-13-x86_64-103'
Compiler: 'Clang'
Features: ['Sccache', 'MinimalStaticTests', 'UseConfigure']
Configure arguments: '-nomake examples -release -force-debug-info -static -no-framework'

View File

@@ -8,44 +8,44 @@ Configurations:
Compiler: 'Clang'
Target compiler: 'Clang'
Platform dependency: 'macos-universal-on-x86_64'
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'DisableTests', 'UseConfigure']
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis arm64-v8a',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH=/usr/local -DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_ARM64}} -DFEATURE_native_grpc=OFF -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH=/usr/local -DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}'
]
-
Id: 'android-armv7-on-windows'
Template: 'qtci-windows-10_22H2-x86_64-51'
Template: 'qtci-windows-10_22H2-x86_64-52'
Target os: 'Android_ANY'
Target arch: 'armv7'
Compiler: 'Mingw'
Target compiler: 'Clang'
Platform dependency: 'windows-10_22h2-mingw11'
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'DisableTests', 'UseConfigure']
Platform dependency: 'windows-10_22h2-mingw13'
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'Path={{.Env.MINGW1120}}\bin;{{.Env.Path}}',
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis armeabi-v7a -no-feature-pkg-config',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH={{.Env.Protobuf_ROOT_mingw}} -DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_ARMV7}} -DFEATURE_native_grpc=OFF -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR={{.Env.Protobuf_ROOT_msvc}}/include',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH={{.Env.Protobuf_ROOT_mingw}} -DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_ARMV7}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR={{.Env.Protobuf_ROOT_msvc}}/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}'
]
-
Id: 'android-8-x86-on-linux'
Id: 'android-9-x86-on-linux'
Template: 'qtci-linux-RHEL-8.8-x86_64-50'
Target os: 'Android_ANY'
Target arch: 'x86'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'rhel-8.8'
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure']
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86}} -DFEATURE_native_grpc=OFF -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}',
'ANDROID_EMULATOR=emulator_x86_api_26'
'ANDROID_EMULATOR=emulator_x86_api_28'
]
-
Id: 'android-14-x86_64-on-linux'
@@ -55,11 +55,11 @@ Configurations:
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'rhel-8.8'
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure']
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64}}',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}',
'ANDROID_EMULATOR=emulator_x86_64_api_34'
]

View File

@@ -14,18 +14,18 @@ Configurations:
]
-
Id: 'webassembly-windows'
Template: 'qtci-windows-10_22H2-x86_64-51'
Template: 'qtci-windows-10_22H2-x86_64-52'
Target os: 'WebAssembly'
Compiler: 'Mingw'
Target compiler: 'Clang'
Platform dependency: 'windows-10_22h2-mingw11'
Features: ['Packaging', 'Sccache', 'DisableTests', 'UseConfigure']
Platform dependency: 'windows-10_22h2-mingw13'
Features: ['Packaging', 'Sccache', 'DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'Path={{.Env.EMSDK_PATH}};{{.Env.MINGW1120}}\bin;{{.Env.Path}}',
'Path={{.Env.EMSDK_PATH}};{{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
'EM_CONFIG={{.Env.EMSDK}}/.emscripten',
'TARGET_CONFIGURE_ARGS=-release -platform wasm-emscripten -nomake examples',
'TARGET_CMAKE_ARGS=-DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_pkg_config=OFF -DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH={{.Env.Protobuf_ROOT_mingw}} -DFEATURE_native_grpc=OFF -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR={{.Env.Protobuf_ROOT_mingw}}/include',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_pkg_config=OFF -DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH={{.Env.Protobuf_ROOT_mingw}} -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR={{.Env.Protobuf_ROOT_mingw}}/include',
]
-
Id: 'webassembly-linux-thread'
@@ -33,10 +33,10 @@ Configurations:
Target os: 'WebAssembly'
Compiler: 'GCC'
Platform dependency: 'opensuse-15.5-developer-build'
Features: ['Packaging', 'Sccache', 'DisableTests', 'UseConfigure']
Features: ['Packaging', 'Sccache', 'DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'EM_CONFIG={{.Env.EMSDK}}/.emscripten',
'TARGET_CONFIGURE_ARGS=-release -platform wasm-emscripten -nomake examples -feature-thread',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH=/usr/local -DFEATURE_native_grpc=OFF -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH=/usr/local -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'TARGET_CMAKE_ARGS=-DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON'
]

View File

@@ -5,3 +5,8 @@ Configurations:
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Compiler: 'GCC'
Features: ['TestOnly', 'LicenseCheck', 'UseLegacyInstructions']
-
Id: 'ubuntu-24.04-x64-license-check'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
Compiler: 'GCC'
Features: ['TestOnly', 'LicenseCheck', 'UseLegacyInstructions']

View File

@@ -7,7 +7,7 @@ Configurations:
Features: ['Packaging', 'UseLegacyInstructions']
Configure arguments: '-qmake -opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -nomake tests -opengl dynamic -nomake examples -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x64% -L %POSTGRESQL_LIB_x64% -static -no-icu'
-
Template: 'qtci-windows-10_22H2-x86_64-51'
Template: 'qtci-windows-10_22H2-x86_64-52'
Compiler: 'MSVC2019'
Features: ['Packaging', 'UseLegacyInstructions']
Configure arguments: '-qmake -opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -nomake tests -opengl dynamic -nomake examples -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x64% -L %POSTGRESQL_LIB_x64% -static -no-icu'
@@ -18,7 +18,7 @@ Configurations:
Features: ['Packaging', 'UseLegacyInstructions']
Configure arguments: '-qmake -opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -nomake tests -nomake examples -opengl dynamic -openssl -I %OPENSSL_INCLUDE_x86% -L %OPENSSL_LIB_x86% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x86% -L %MYSQL_LIB_x86% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x86% -L %POSTGRESQL_LIB_x86% -static -no-icu'
-
Template: 'qtci-windows-10_22H2-x86_64-51'
Template: 'qtci-windows-10_22H2-x86_64-52'
Compiler: 'MSVC2019'
Target arch: 'x86'
Features: ['Packaging', 'UseLegacyInstructions']

View File

@@ -2,7 +2,7 @@ Version: 2
Configurations:
-
Id: "ios-tests-on-macos"
Template: 'qtci-macos-12-x86_64-106'
Template: 'qtci-macos-13-x86_64-103'
Target os: 'IOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'

View File

@@ -13,5 +13,5 @@ Configurations:
'TARGET_CONFIGURE_ARGS=-nomake examples -debug -developer-build -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID}}',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF',
'ANDROID_EMULATOR=emulator_x86_api_26']
'NON_QTBASE_TARGET_CMAKE_ARGS=',
'ANDROID_EMULATOR=emulator_x86_api_28']

View File

@@ -1,7 +1,7 @@
Version: 2
Configurations:
-
Id: 'rhel_8.8_android_multi'
Id: 'android-9-multi-abi'
Template: 'qtci-linux-RHEL-8.8-x86_64-50'
Target os: 'Android_ANY'
Target arch: 'multi'
@@ -9,7 +9,7 @@ Configurations:
Target compiler: 'Clang'
Platform dependency: [
'rhel-8.8',
'android-8-x86-on-linux',
'android-9-x86-on-linux',
'android-14-x86_64-on-linux'
]
Features: [
@@ -21,8 +21,8 @@ Configurations:
]
Environment variables: [
'QT_CI_ARTIFACT_ID_PATH_Android-host=QT_CI_ARTIFACT_ID_PATH_rhel-8.8',
'QT_CI_ARTIFACT_ID_PATH_Android-x86=QT_CI_ARTIFACT_ID_PATH_android-8-x86-on-linux',
'QT_CI_ARTIFACT_ID_PATH_Android-x86=QT_CI_ARTIFACT_ID_PATH_android-9-x86-on-linux',
'QT_CI_ARTIFACT_ID_PATH_Android-x86_64=QT_CI_ARTIFACT_ID_PATH_android-14-x86_64-on-linux',
'COMMON_TARGET_TEST_CMAKE_ARGS=-DQT_ANDROID_ABIS="x86;x86_64"',
'ANDROID_EMULATOR=emulator_x86_api_26'
'ANDROID_EMULATOR=emulator_x86_api_28'
]

View File

@@ -9,20 +9,20 @@ Configurations:
-
Id: 'macos-universal-on-x86_64'
Template: 'qtci-macos-13-x86_64-103'
Template: 'qtci-macos-14-x86_64-105'
Compiler: 'Clang'
Target arch: 'x86_64-arm64'
Features: ['Packaging', 'Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure']
Features: ['Packaging', 'Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -framework'
Environment variables: [
'CMAKE_ARGS=-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DODBC_ROOT=/usr/local/opt/libiodbc -DPostgreSQL_ROOT={{.Env.POSTGRESQLBINPATH}}/.. -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
'NON_QTBASE_CMAKE_ARGS=-DFEATURE_gds=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_native_grpc=OFF',
'NON_QTBASE_CMAKE_ARGS=-DFEATURE_gds=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON',
'Protobuf_ROOT=/usr/local/lib/cmake/protobuf'
]
-
Id: 'macos-universal-on-arm64'
Template: 'qtci-macos-13-arm64'
Template: 'qtci-macos-14-arm-106'
Compiler: 'Clang'
Target arch: 'x86_64-arm64'
Features: ['DoNotRunTests', 'WarningsAreErrors', 'UseConfigure']
@@ -30,19 +30,13 @@ Configurations:
Environment variables: [
'CMAKE_ARGS=-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"',
'Protobuf_ROOT=/usr/local/lib/cmake/protobuf',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON',
]
# Test on all supported macOS versions (deployment targets)
# On x86_64
-
Id: 'macos-11-x86_64-tests'
Template: 'qtci-macos-11-x86_64-106'
Compiler: 'Clang'
Features: ['Sccache', 'TestOnly', 'Packaging']
Platform dependency: 'macos-universal-on-x86_64'
-
Id: 'macos-12-x86_64-tests'
Template: 'qtci-macos-12-x86_64-106'
@@ -66,13 +60,13 @@ Configurations:
-
Id: 'macos-12-arm64-tests'
Template: 'qtci-macos-12-arm64'
Template: 'qtci-macos-12-arm-102'
Compiler: 'Clang'
Features: ['TestOnly', 'Packaging']
Platform dependency: 'macos-universal-on-x86_64'
-
Id: 'macos-13-arm64-tests'
Template: 'qtci-macos-13-arm64'
Template: 'qtci-macos-13-arm-107'
Compiler: 'Clang'
Features: ['TestOnly', 'Packaging']
Platform dependency: 'macos-universal-on-x86_64'
@@ -87,7 +81,7 @@ Configurations:
-
Id: 'macos-12-arm-on-arm64-tests'
Template: 'qtci-macos-12-arm64'
Template: 'qtci-macos-12-arm-102'
Compiler: 'Clang'
Features: ['TestOnly']
Platform dependency: 'macos-universal-on-arm64'
@@ -117,8 +111,8 @@ Configurations:
# Build on recent macOS version with latest Xcode
-
Id: 'macos-13-x86_64-developer-build'
Template: 'qtci-macos-13-x86_64-103'
Id: 'macos-14-x86_64-developer-build'
Template: 'qtci-macos-14-x86_64-105'
Compiler: 'Clang'
Features: ['Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure']
Configure arguments: '-developer-build -release -force-debug-info -no-pch -no-framework -qtnamespace TestNamespace -make examples'
@@ -128,8 +122,8 @@ Configurations:
'Protobuf_ROOT=/usr/local/lib/cmake/protobuf',
]
-
Id: 'macos-13-arm64-developer-build'
Template: 'qtci-macos-13-arm64'
Id: 'macos-14-arm64-developer-build'
Template: 'qtci-macos-14-arm-106'
Compiler: 'Clang'
Features: ['DoNotRunTests', 'WarningsAreErrors', 'UseConfigure']
Configure arguments: '-developer-build -nomake examples -release -force-debug-info -separate-debug-info -framework'
@@ -140,28 +134,21 @@ Configurations:
]
# Test on all supported macOS versions (deployment targets)
-
Id: 'macos-11-arm64-developer-build-tests'
Template: 'qtci-macos-11.0-arm64'
Compiler: 'Clang'
Features: ['TestOnly']
Platform dependency: 'macos-13-arm64-developer-build'
-
Id: 'macos-12-arm64-developer-build-tests'
Template: 'qtci-macos-12-arm64'
Template: 'qtci-macos-12-arm-102'
Compiler: 'Clang'
Features: ['TestOnly']
Platform dependency: 'macos-13-arm64-developer-build'
Platform dependency: 'macos-14-arm64-developer-build'
-
Id: 'macos-13-arm64-developer-build-tests'
Template: 'qtci-macos-13-arm64'
Template: 'qtci-macos-13-arm-107'
Compiler: 'Clang'
Features: ['TestOnly']
Platform dependency: 'macos-13-arm64-developer-build'
Platform dependency: 'macos-14-arm64-developer-build'
-
Id: 'macos-14-arm64-developer-build-tests'
Template: 'qtci-macos-14-arm-106'
Compiler: 'Clang'
Features: ['TestOnly']
Platform dependency: 'macos-13-arm64-developer-build'
Platform dependency: 'macos-14-arm64-developer-build'

View File

@@ -0,0 +1,4 @@
Version: 2
Module only: True
Include: [yocto.yaml]
Configurations: []

View File

@@ -7,7 +7,7 @@ Include: [
Configurations:
-
Id: 'qnx-710-arm64-on-windows'
Template: 'qtci-windows-10_22H2-x86_64-51'
Template: 'qtci-windows-10_22H2-x86_64-52'
Target os: 'QNX_710'
Target arch: 'arm64'
Compiler: 'MSVC2019'

View File

@@ -9,5 +9,5 @@ Configurations:
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}'
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DINPUT_headersclean=ON'
]

View File

@@ -0,0 +1,14 @@
Version: 2
Module only: True
Configurations:
-
Id: 'ubuntu-22.04-axivion'
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure', 'DisableTests', 'Axivion_qtapplicationmanager', 'VMSize8']
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DINPUT_headersclean=ON'
]

View File

@@ -6,8 +6,8 @@ Configurations:
Template: 'qtci-linux-Ubuntu-20.04-x86_64-50'
Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure']
Configure arguments: '-nomake examples -release -c++std c++17 -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DFEATURE_clangcpp=OFF'
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DFEATURE_clangcpp=OFF -DINPUT_headersclean=ON'
]

View File

@@ -0,0 +1,14 @@
Version: 2
Module only: True
Configurations:
-
Id: 'ubuntu-22.04-lcov'
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure', 'lcov', 'VMSize8', 'DisableTests']
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DINPUT_headersclean=ON'
]

View File

@@ -13,7 +13,8 @@ Configurations:
Features: ['Sccache', 'UseConfigure', 'InsignificantTests']
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY'
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'NON_QTBASE_CMAKE_ARGS=-DINPUT_headersclean=ON'
]
-
# default.yaml

View File

@@ -5,11 +5,11 @@ Include: [
"ubuntu-22.04",
"ubuntu-22.04-documentation",
"ubuntu-22.04-documentation-x11-tests",
"windows-10_22h2-msvc2019-developer-build",
"windows-11_23H2-msvc2022",
"ios-universal"
],
macos.yaml: [
"macos-12-x86_64-tests",
"macos-14-x86_64-tests",
],
cmake_platforms_target_android.yaml: [
"android-arm64-on-macos"

View File

@@ -2,7 +2,7 @@ Version: 2
Module only: True
Configurations:
-
Template: 'qtci-windows-10_22H2-x86_64-51'
Template: 'qtci-windows-10_22H2-x86_64-52'
Compiler: 'MSVC2019'
Features: ['DisableTests']
-

View File

@@ -2,26 +2,19 @@ Version: 2
Module only: True
Configurations:
-
Template: 'qtci-windows-10_22H2-x86_64-51'
Compiler: 'MSVC2019'
Template: 'qtci-windows-10_22H2-x86_64-52'
Compiler: 'MSVC2022'
Features: ['Packaging', 'Sccache', 'DebugAndRelease']
Configure arguments: ''
Environment variables: []
Environment script: ['%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'amd64']
Environment script: ['%ProgramFiles%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'amd64']
-
Template: 'qtci-windows-10_22H2-x86_64-51'
Compiler: 'MSVC2019'
Template: 'qtci-windows-10_22H2-x86_64-52'
Compiler: 'MSVC2022'
Features: ['Packaging', 'Sccache', 'DebugAndRelease', 'DisableTests']
Configure arguments: ''
Environment variables: []
Environment script: ['%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'amd64']
-
Template: 'qtci-windows-10-x86-4'
Compiler: 'MSVC2019'
Features: ['Packaging', 'Sccache', 'DebugAndRelease', 'DisableTests']
Configure arguments: ''
Environment variables: []
Environment script: ['%ProgramFiles%\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'x86']
Environment script: ['%ProgramFiles%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'amd64']
-
Template: 'qtci-linux-RHEL-8.8-x86_64-50'
Compiler: 'GCC'
@@ -29,7 +22,7 @@ Configurations:
Configure arguments: ''
Environment variables: []
-
Template: 'qtci-macos-11-x86_64-106'
Template: 'qtci-macos-14-arm-106'
Compiler: 'Clang'
Features: ['Packaging', 'Sccache', 'DebugAndRelease']
Configure arguments: ''

View File

@@ -1,5 +1,6 @@
Version: 2
Include: [
cmake_platforms.yaml
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -1,15 +1,6 @@
Version: 2
Include: [
cmake_platforms.yaml
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations:
# Test on Debian-11.6 Wayland
-
Id: 'debian-11.6-arm64-wayland-tests'
Template: 'qtci-linux-Debian-11.6-aarch64-50'
Compiler: 'GCC'
Features: ['Sccache', 'TestOnly', 'RunDependencyTests', 'InsignificantTests']
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY'
]
Platform dependency: 'debian-11.6-arm64'
Configurations: []

View File

@@ -1,5 +1,6 @@
Version: 2
Include: [
cmake_platforms.yaml
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -1,13 +1,6 @@
Version: 2
Include: [cmake_platforms.yaml]
Configurations:
-
Id: 'ubuntu-22.04-axivion'
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure', 'DisableTests','Axivion_qtapplicationmanager', 'Insignificant', 'VMSize8']
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}'
Include: [
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -0,0 +1,14 @@
Version: 2
Configurations:
# Test gcc-12 on RHEL 9.2
-
Id: 'rhel-9.2-gcc12'
Template: 'qtci-linux-RHEL-9.2-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure', 'InstallQt5Dependencies', 'DoNotRunTests']
Configure arguments: '-developer-build -nomake examples -release -force-debug-info -headersclean -separate-debug-info -qt-pcre -no-libudev -bundled-xcb-xinput'
Environment variables: [
'PATH=/opt/rh/gcc-toolset-12/root/usr/bin/:{{.Env.PATH}}',
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DINPUT_headersclean=ON'
]

View File

@@ -6,6 +6,9 @@ Include: [
ios-tests.yaml,
address_sanitizer_platforms.yaml,
linux_android_tests_multi_abi.yaml,
wasm_qtbase_tests.yaml
wasm_qtbase_tests.yaml,
cmake_platforms_qemu_vxworks_buildtest.yaml,
qtlite.yaml,
qtbase-new-compiler-testing.yaml
]
Configurations: []

View File

@@ -1,5 +1,6 @@
Version: 2
Include: [
cmake_platforms.yaml
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -1,3 +1,6 @@
Version: 2
Include: [cmake_platforms.yaml]
Include: [
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -1,5 +1,6 @@
Version: 2
Include: [
cmake_platforms.yaml
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -1,5 +1,6 @@
Version: 2
Include: [
cmake_platforms.yaml
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -4,6 +4,8 @@ Include: [
integrity.yaml,
ios-tests.yaml,
address_sanitizer_platforms.yaml,
cmake_platforms_static_tests.yaml
cmake_platforms_static_tests.yaml,
cmake_platforms_qemu_vxworks.yaml,
qtlite.yaml
]
Configurations: []

View File

@@ -1,3 +1,6 @@
Version: 2
Include: [cmake_platforms.yaml]
Include: [
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -1,3 +1,6 @@
Version: 2
Include: [cmake_platforms.yaml]
Include: [
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -1,5 +1,6 @@
Version: 2
Include: [
cmake_platforms.yaml
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -1,5 +1,7 @@
Version: 2
Include: [
cmake_platforms.yaml
cmake_platforms.yaml,
cmake_platforms_qemu_vxworks.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -1,3 +1,7 @@
Version: 2
Include: [cmake_platforms.yaml]
Include: [
cmake_platforms.yaml,
cmake_platforms_qemu_vxworks.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -1,5 +1,6 @@
Version: 2
Include: [
cmake_platforms.yaml
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -2,6 +2,7 @@ Version: 2
Include: [
cmake_platforms.yaml,
address_sanitizer_platforms.yaml,
integrity.yaml
integrity.yaml,
cmake_platforms_qemu_vxworks.yaml
]
Configurations: []

View File

@@ -1,5 +1,8 @@
Version: 2
Include: [cmake_platforms.yaml]
Include: [
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations:
-
Id: 'ubuntu-22.04-axivion'
@@ -9,5 +12,5 @@ Configurations:
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}'
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DINPUT_headersclean=ON'
]

View File

@@ -1,3 +1,6 @@
Version: 2
Include: [cmake_platforms.yaml]
Include: [
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -2,6 +2,7 @@ Version: 2
Include: [
cmake_platforms.yaml,
address_sanitizer_platforms.yaml,
integrity.yaml
integrity.yaml,
cmake_platforms_qemu_vxworks.yaml
]
Configurations: []

View File

@@ -0,0 +1,204 @@
Version: 2
Configurations:
-
Id: 'ubuntu-24.04-arm64-static-qtlite'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests', 'MinimalStaticTests']
Configure arguments: >
-nomake examples
-release
-optimize-size
-static
-ltcg
-reduce-exports
-gc-binaries
-feature-linuxfb
-disable-deprecated-up-to 0x070000
-no-feature-abstractbutton
-no-feature-abstractslider
-no-feature-accessibility
-no-feature-action
-no-feature-androiddeployqt
-no-feature-appstore-compliant
-no-feature-backtrace
-no-feature-batch_test_support
-no-feature-brotli
-no-feature-calendarwidget
-no-feature-cborstreamwriter
-no-feature-clipboard
-no-feature-colordialog
-no-feature-columnview
-no-feature-commandlinkbutton
-no-feature-completer
-no-feature-concatenatetablesproxymodel
-no-feature-contextmenu
-no-feature-cssparser
-no-feature-cups
-no-feature-datawidgetmapper
-no-feature-datetimeedit
-no-feature-datetimeparser
-no-feature-dbus
-no-feature-desktopservices
-no-feature-dial
-no-feature-dnslookup
-no-feature-dockwidget
-no-feature-dom
-no-feature-dtls
-no-feature-eglfs
-no-feature-errormessage
-no-feature-filesystemiterator
-no-feature-filesystemmodel
-no-feature-filesystemwatcher
-no-feature-fontcombobox
-no-feature-fontdialog
-no-feature-fscompleter
-no-feature-future
-no-feature-gestures
-no-feature-gif
-no-feature-graphicseffect
-no-feature-graphicsview
-no-feature-gssapi
-no-feature-harfbuzz
-no-feature-highdpiscaling
-no-feature-hijricalendar
-no-feature-http
-no-feature-ico
-no-feature-icu
-no-feature-identityproxymodel
-no-feature-im
-no-feature-imageformat_bmp
-no-feature-imageformat_jpeg
-no-feature-imageformat_ppm
-no-feature-imageformat_xbm
-no-feature-image_heuristic_mask
-no-feature-imageio-text-loading
-no-feature-image_text
-no-feature-inputdialog
-no-feature-islamiccivilcalendar
-no-feature-jalalicalendar
-no-feature-jpeg
-no-feature-keysequenceedit
-no-feature-lcdnumber
-no-feature-libinput
-no-feature-library
-no-feature-lineedit
-no-feature-linux-netlink
-no-feature-localserver
-no-feature-macdeployqt
-no-feature-mainwindow
-no-feature-mdiarea
-no-feature-menu
-no-feature-menubar
-no-feature-messagebox
-no-feature-mimetype
-no-feature-movie
-no-feature-mtdev
-no-feature-multiprocess
-no-feature-networkdiskcache
-no-feature-networkinterface
-no-feature-networkproxy
-no-feature-ocsp
-no-feature-opengl
-no-feature-openssl
-no-feature-pcre2
-no-feature-pdf
-no-feature-permissions
-no-feature-picture
-no-feature-printdialog
-no-feature-printer
-no-feature-printpreviewdialog
-no-feature-printpreviewwidget
-no-feature-printsupport
-no-feature-private_tests
-no-feature-process
-no-feature-processenvironment
-no-feature-progressbar
-no-feature-progressdialog
-no-feature-proxymodel
-no-feature-radiobutton
-no-feature-raster-64bit
-no-feature-raster-fp
-no-feature-resizehandler
-no-feature-rubberband
-no-feature-sanitize_fuzzer_no_link
-no-feature-schannel
-no-feature-scroller
-no-feature-securetransport
-no-feature-sessionmanager
-no-feature-settings
-no-feature-sha3-fast
-no-feature-sharedmemory
-no-feature-shortcut
-no-feature-sizegrip
-no-feature-socks5
-no-feature-sortfilterproxymodel
-no-feature-splashscreen
-no-feature-sql
-no-feature-sqlmodel
-no-feature-sql-sqlite
-no-feature-sspi
-no-feature-stackedwidget
-no-feature-statusbar
-no-feature-statustip
-no-feature-style-stylesheet
-no-feature-syntaxhighlighter
-no-feature-systemsemaphore
-no-feature-systemtrayicon
-no-feature-tabletevent
-no-feature-tablewidget
-no-feature-textbrowser
-no-feature-texthtmlparser
-no-feature-textmarkdownreader
-no-feature-textmarkdownwriter
-no-feature-textodfwriter
-no-feature-timezone
-no-feature-toolbar
-no-feature-toolbox
-no-feature-topleveldomain
-no-feature-transposeproxymodel
-no-feature-treewidget
-no-feature-udpsocket
-no-feature-undocommand
-no-feature-undogroup
-no-feature-undostack
-no-feature-undoview
-no-feature-valgrind
-no-feature-vkgen
-no-feature-vnc
-no-feature-vulkan
-no-feature-wasm-exceptions
-no-feature-wasm-simd128
-no-feature-whatsthis
-no-feature-wheelevent
-no-feature-widgets
-no-feature-widgettextcontrol
-no-feature-windeployqt
-no-feature-wizard
-no-feature-xkbcommon
-no-feature-xml
-qpa linuxfb
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'NON_QTBASE_CMAKE_ARGS=
-DFEATURE_qdoc=off
-DFEATURE_qml_debug=off
-DFEATURE_qml_jit=off
-DFEATURE_qml_locale=off
-DFEATURE_qml_network=off
-DFEATURE_qml_profiler=off
-DFEATURE_quickcontrols2_fusion=off
-DFEATURE_quickcontrols2_imagine=off
-DFEATURE_quickcontrols2_ios=off
-DFEATURE_quickcontrols2_macos=off
-DFEATURE_quickcontrols2_material=off
-DFEATURE_quickcontrols2_universal=off
-DFEATURE_quickcontrols2_windows=off
-DFEATURE_quick_designer=off
-DFEATURE_quick_particles=off
-DFEATURE_quick_pixmap_cache_threaded_download=off
-DFEATURE_quick_shadereffect=off
-DFEATURE_quicktemplates2_calendar=off
-DFEATURE_quicktemplates2_hover=off
-DFEATURE_quicktemplates2_multitouch=off'
]

View File

@@ -1,3 +1,6 @@
Version: 2
Include: [cmake_platforms.yaml]
Include: [
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -1,5 +1,6 @@
Version: 2
Include: [
cmake_platforms.yaml
]
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -1,5 +1,6 @@
Version: 2
Include: [
cmake_platforms.yaml
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -1,5 +1,7 @@
Version: 2
Include: [
cmake_platforms.yaml
cmake_platforms.yaml,
cmake_platforms_qemu_vxworks.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -1,5 +1,6 @@
Version: 2
Include: [
cmake_platforms.yaml
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -1,5 +1,6 @@
Version: 2
Include: [
cmake_platforms.yaml
]
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -1,5 +1,6 @@
Version: 2
Include: [
cmake_platforms.yaml
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -1,6 +1,8 @@
Version: 2
Include: [
cmake_platforms.yaml,
integrity.yaml
integrity.yaml,
cmake_platforms_qemu_vxworks.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -1,5 +1,6 @@
Version: 2
Include: [
cmake_platforms.yaml
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -1,3 +1,6 @@
Version: 2
Include: [cmake_platforms.yaml]
Include: [
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -1,5 +1,7 @@
Version: 2
Include: [
cmake_platforms.yaml
cmake_platforms.yaml,
cmake_platforms_qemu_vxworks.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -1,6 +1,7 @@
Version: 2
Include: [
cmake_platforms.yaml,
address_sanitizer_platforms.yaml,
integrity.yaml
]
Configurations: []

View File

@@ -14,10 +14,10 @@ Include: [
"windows-10_22h2-msvc2022",
"windows-10_22h2-msvc2019-developer-build",
"rhel-8.8",
"windows-10_22h2-mingw11",
"windows-10_22h2-mingw11-developer-build",
"windows-10_22h2-mingw13",
"windows-10_22h2-mingw13-developer-build",
"windows-10_22h2-llvm",
"windows-11_22h2-msvc2019"
"windows-11_23H2-msvc2019"
],
cmake_platforms_qemu_qnx710.yaml: [
"qnx-710-x86_64-developer-build-on-linux",
@@ -26,6 +26,11 @@ Include: [
],
integrity.yaml: [
"integrity-arm64"
],
cmake_platforms_qemu.yaml: [
"qemu-arm64-developer-build",
"qemu-armv7-developer-build",
"qemu-mips64-developer-build"
]
]
Configurations:
@@ -37,7 +42,6 @@ Configurations:
Compiler: 'GCC'
Platform dependency: 'ubuntu-22.04'
Features: ['UseConfigure', 'DoNotRunTests', 'DisableTests', 'Axivion_QSR']
Configure arguments: '-nomake examples -release -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
Environment variables: [
'TARGET_CONFIGURE_ARGS=-release -no-warnings-are-errors -nomake examples -qt-harfbuzz -device linux-generic-g++ -device-option "CROSS_COMPILE={{.Env.QEMUARM64_TOOLCHAIN_CROSS_COMPILE}}" -device-option "DISTRO_OPTS=boot2qt" -no-feature-forkfd_pidfd -qtlibinfix TestInfix',
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QEMUARM64_TOOLCHAIN_FILE}} -DQT_FORCE_BUILD_TOOLS=ON',

View File

@@ -13,9 +13,9 @@ Include: [
"windows-10_22h2-msvc2019",
"windows-10_22h2-msvc2022",
"rhel-8.8",
"windows-10_22h2-mingw11",
"windows-10_22h2-mingw13",
"windows-10_22h2-llvm",
"windows-11_22h2-msvc2019"
"windows-11_23H2-msvc2019"
],
cmake_platforms_qemu_qnx710.yaml: [
"qnx-710-x86_64-developer-build-on-linux",
@@ -42,14 +42,17 @@ Configurations:
Features: ['Packaging', 'Sccache', 'UseConfigure', 'MinimalStaticTests']
Configure arguments: '-static -no-icu -nomake examples -release -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput -no-sql-mysql'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY'
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'NON_QTBASE_CMAKE_ARGS=-DINPUT_headersclean=ON'
]
-
Id: 'Windows-MSVC2019_Static'
Template: 'qtci-windows-10_22H2-x86_64-51'
Template: 'qtci-windows-10_22H2-x86_64-52'
Compiler: 'MSVC2019'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'MinimalStaticTests']
Configure arguments: '-release -headersclean -nomake examples -qt-zlib -static -no-icu -no-sql-mysql -no-sql-odbc -no-sql-psql -plugin-sql-sqlite -plugin-sql-odbc'
Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..',
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}']
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
'NON_QTBASE_CMAKE_ARGS=-DINPUT_headersclean=ON'
]

View File

@@ -1,5 +1,6 @@
Version: 2
Include: [
cmake_platforms.yaml
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -1,5 +1,6 @@
Version: 2
Include: [
cmake_platforms.yaml
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -1,5 +1,6 @@
Version: 2
Include: [
cmake_platforms.yaml
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -1,5 +1,6 @@
Version: 2
Include: [
cmake_platforms.yaml
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -2,6 +2,7 @@ Version: 2
Include: [
cmake_platforms.yaml,
address_sanitizer_platforms.yaml,
integrity.yaml
integrity.yaml,
cmake_platforms_qemu_vxworks.yaml
]
Configurations: []

View File

@@ -1,5 +1,6 @@
Version: 2
Include: [
cmake_platforms.yaml
]
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -2,6 +2,7 @@ Version: 2
Include: [
cmake_platforms.yaml,
address_sanitizer_platforms.yaml,
integrity.yaml
integrity.yaml,
cmake_platforms_qemu_vxworks.yaml
]
Configurations: []

View File

@@ -1,5 +1,6 @@
Version: 2
Include: [
cmake_platforms.yaml
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -1,5 +1,6 @@
Version: 2
Include: [
cmake_platforms.yaml
]
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -0,0 +1,3 @@
Version: 2
Include: [cmake_platforms.yaml]
Configurations: []

View File

@@ -1,5 +1,7 @@
Version: 2
Include: [
cmake_platforms.yaml
cmake_platforms.yaml,
cmake_platforms_qemu_vxworks.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -1,28 +1,20 @@
Version: 2
Include: [
cmake_platforms.yaml
]
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations:
# Test on Ubuntu 22.04 Wayland
# Test on Ubuntu 24.04 ARM64 Wayland
-
Id: 'ubuntu-22.04-documentation-wayland-tests'
Template: 'qtci-linux-Ubuntu-22.04-x86_64-50'
Id: 'ubuntu-24.04-arm64-documentation-wayland-tests'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
Compiler: 'GCC'
Features: ['Sccache', 'TestDocs', 'TestOnly', 'RunDependencyTests', 'InsignificantTests']
Platform dependency: 'ubuntu-22.04-documentation'
Features: ['TestOnly', 'RunDependencyTests', 'InsignificantTests']
Platform dependency: 'ubuntu-24.04-arm64-documentation'
# Test on Ubuntu 24.04 x64 Wayland
-
Id: 'ubuntu-22.04-wayland-tests'
Template: 'qtci-linux-Ubuntu-22.04-x86_64-50'
Id: 'ubuntu-24.04-x64-wayland-tests'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
Compiler: 'GCC'
Features: ['Sccache', 'TestOnly', 'RunDependencyTests', 'InsignificantTests']
Platform dependency: 'ubuntu-22.04'
# Test on Debian-11.6 Wayland
-
Id: 'debian-11.6-arm64-wayland-tests'
Template: 'qtci-linux-Debian-11.6-aarch64-50'
Compiler: 'GCC'
Features: ['Sccache', 'TestOnly', 'RunDependencyTests', 'InsignificantTests']
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY'
]
Platform dependency: 'debian-11.6-arm64'
Features: ['TestOnly', 'RunDependencyTests', 'InsignificantTests']
Platform dependency: 'ubuntu-24.04-x64'

View File

@@ -1,5 +1,6 @@
Version: 2
Include: [
cmake_platforms.yaml
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -1,5 +1,6 @@
Version: 2
Include: [
cmake_platforms.yaml
]
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -1,7 +1,7 @@
Version: 2
Configurations:
-
Template: 'qtci-windows-10_22H2-x86_64-51'
Template: 'qtci-windows-10_22H2-x86_64-52'
Compiler: 'Mingw'
Environment variables: ['PATH=C:\MINGW1120_i686\mingw32\bin;$PATH']
Features: ['Packaging', UseLegacyInstructions']

View File

@@ -1,5 +1,6 @@
Version: 2
Include: [
cmake_platforms.yaml
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

View File

@@ -1,5 +1,6 @@
Version: 2
Include: [
cmake_platforms.yaml
]
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations: []

Some files were not shown because too many files have changed in this diff Show More