Compare commits

..

562 Commits

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
Samuli Piippo
ab9c497225 Add platform configs for meta-boot2qt-qcom
CI configs for new Boot2Qt repo.

Change-Id: Iab71a549356bf2dd72c67dbaf624e3d3c8cdc146
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2023-12-05 11:32:02 +02:00
Ari Parkkila
1a9363044c Add platform configs for meta-boot2qt-aws
CI configs for new Boot2Qt repo.

Change-Id: Ib49d66f488ada3c743161a8f256a0c8c8f98728e
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2023-12-05 11:32:01 +02:00
Qt Submodule Update Bot
2df27331f9 Update submodules on 'dev in qt/qt5'
Change-Id: Ie2264d86613f226e3605eb8af0d71d25135f29c4
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-12-04 12:40:03 +00:00
Qt Submodule Update Bot
024d2f039d Update submodules on 'dev in qt/qt5'
Change-Id: If3e5412b5e1c4aa15124b0045f2c243490243231
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-12-02 08:55:43 +00:00
Qt Submodule Update Bot
e57e7e3fa7 Update submodules on 'dev in qt/qt5'
Change-Id: I42b3d229bb150200260f844c27445358b8208ce2
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-12-01 07:04:32 +00:00
Qt Submodule Update Bot
c0f9a30385 Update submodules on 'dev in qt/qt5'
Change-Id: Ieab16ee3160e8542e13b1edb9d1055e0a201b067
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-11-30 04:59:34 +00:00
Qt Submodule Update Bot
250c2b22b5 Update submodules on 'dev in qt/qt5'
Change-Id: I58f6efc608ad50213312becd4ae798c33b9f0179
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-11-25 04:56:19 +00:00
Jani Heikkinen
370890a8e3 Add 'Packaging' flag for llvm MinGW build
We are planning to add llvm based mingw build in the online installer
from Qt 6.7.0 ->

Task-number: QTBUG-119386
Change-Id: I4603e1492e54b7b05e67e0f2f422cc668bf7d822
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2023-11-24 11:53:40 +00:00
Heikki Halmet
03451662de Provisioning: Install util-linux package for license service
This is required for macOS ARM target in license service

Task-number: QLS-455
Change-Id: Id424853f228f7105b9da56c3968ffa90df18ac61
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
2023-11-24 11:53:35 +00:00
Konrad Kujawa
9707535fc1 Add provisioning of gRPC on Windows machines
Enable native_grpc feature on msvc developer-builds.

Fixes: QTBUG-109072
Pick-to: 6.6
Change-Id: I64914d4bf0f26b907a98508f88587cbc8cb947b3
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Tatiana Borisova <tatiana.borisova@qt.io>
2023-11-22 20:06:49 +02:00
Bartlomiej Moskal
65101a61e6 Coin: Enable openssl for Android FFmpeg install script
The FFmpeg library should use dynamically linked OpenSSL. To make it
possible --enable-openssl flag need to be set. Additionally correct path
for OpenSSL need to be passed to FFmpeg configuration script.

Task-number: QTBUG-110805
Task-number: QTBUG-114954
Task-number: QTBUG-113980
Pick-to: 6.6 6.5
Change-Id: Id887c2c4083663a674123a0f0003b44661149116
Reviewed-by: Samuel Mira <samuel.mira@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2023-11-22 10:54:58 +01:00
Qt Submodule Update Bot
dd789418a4 Update submodules on 'dev in qt/qt5'
Change-Id: I4511190f463102c52f20f5b5d94b462c7aac58df
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-11-20 17:54:58 +00:00
Petri Virkkunen
e9325a87a6 Upgrade Python on RHEL 8.8 from 3.8 to 3.11
In order to avoid installing packages to one version of python and then
trying to use them from another version, stop installing python 3.8 and
simply install Python 3.11, along with pip.

Change-Id: Id2f63a6d1aff0d3fd3a5934887fe82a642f6ab92
Reviewed-by: Dominik Holland <dominik.holland@qt.io>
Reviewed-by: Zoltan Gera <zoltan.gera@qt.io>
2023-11-20 19:54:57 +02:00
Matti Paaso
c886c32307 Provisioning: Add ICU 73.2 into Debian aarch64
ICU packages has been compiled in LoA. This script will install
it into Debian.

Task-number: QTBUG-118676
Change-Id: Ic3ffa6881815d6017e7a855e62859b9104f49fae
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2023-11-20 14:56:00 +02:00
Jani Heikkinen
e05c8b8313 Move wasm multithread build from intel mac to openSuse
The same wasm binary is used in every hosts so it doesn't matter in which
host the build is done. That's why move the build from intel mac to linux
to save limited intel mac resources

Change-Id: I13212fc3950e90b6da4298a7cf8b67c7fa96cfb8
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2023-11-20 12:55:56 +00:00
Qt Submodule Update Bot
0cc389bcc8 Update submodules on 'dev in qt/qt5'
Change-Id: Ic0f42ba9a1a8d78a4c4fcaa44a8a32148dff1623
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-11-17 16:28:07 +00:00
Tor Arne Vestbø
760cf59266 Stop testing macOS developer builds on x86_64 hardware
Our x86_64 pool is overloaded, so we need to reduce jobs.

As we're testing our packaging (universal) builds (both the one built
on x86_64 and the one built on arm64) on x86_64 for all macOS platforms
we support, it should be fine to remove the x86_64 tests of the
developer builds. These developer builds are still tested on arm64,
so the only test coverage we're losing on x86_64 are the subset of
tests that depend on QT_BUILD_INTERNAL.

Change-Id: Ia83964cc77d04ba796e3a59389ce000a51dcac93
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-11-15 18:54:50 +01:00
Tor Arne Vestbø
021c7b6b0a Remove macOS 14 nightly template
Change-Id: Ieac3f8d6b4860d7ee8b67a3e9a812a9c67fa9a18
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2023-11-15 18:54:46 +01:00
Alexandru Croitor
bae2268c47 CMake: Update provisioned CMake to version 3.27.7
We want access to the debugger, and also to be in sync with the CMake
shipped with the Qt SDK.

Task-number: QTBUG-118138
Change-Id: I4b43b9543e8e6ef23c9608a8e1c623ee16edfbd5
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2023-11-15 09:14:29 +01:00
Toni Saario
92bdb686cc Add VxWorks target
Adds VxWorks VSB, VIP and libs. Exports VSB and work dir for
VxWorks qemu. Places VxWorks qemu launcher in home.

Use 8 cores on VxWorks target as qemu is run on 4 cores and
those 4 cores will be run at 100% all time due to RTOS nature
of VxWorks.

Task-number: COIN-297
Change-Id: If1ae42109a5a1ab7164f09a9eabf9fd9064fd0d9
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Jarno Lämsä <jarno.lamsa@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2023-11-14 21:18:20 +02:00
Samuli Piippo
9b067849bf Add insignificant targets for Yocto builds
Add few targets that can be used to do speculative builds that may fail
without causing integrations to fail.

Change-Id: I44b1afcf4db22be2f930e31e2a5d39fb3697d2fe
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2023-11-14 20:33:04 +02:00
Allan Sandfeld Jensen
23ab8c94b0 Add libatomic to RHEL 8.8
Needed for qtwebengine 6.7

Pick-to: 6.6 6.5
Fixes: QTBUG-119109
Change-Id: I38d78731578dcb4ce5a8755d116e1326e6d6ffa4
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2023-11-14 18:32:50 +00:00
Qt Submodule Update Bot
bee4591acd Update submodules on 'dev in qt/qt5'
Change-Id: I4498bc330cfbcc7cffc54d8f5ea72ae2ff2684dc
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-11-14 06:11:54 +00:00
Dominik Holland
123b4be006 Add python3-venv to aarch64 debian
Needed by qtinterfaceframework

Pick-to: 6.6 6.5
Change-Id: I2c2d7d193ae2034fadd41864b430620ee635d9d0
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2023-11-13 10:47:12 +00:00
Qt Submodule Update Bot
eadc7461ca Update submodules on 'dev in qt/qt5'
Change-Id: I1769b9bbff35f1ea6da2d978a5d8a3265808f244
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-11-11 16:27:49 +00:00
Tor Arne Vestbø
706155cf4b coin: Make macOS 14 configurations significant
They are green on all modules now.

Fixes: QTBUG-115945
Change-Id: I63838b6aa4e033938303bb13d0881f59004275c2
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2023-11-11 17:27:48 +01:00
Michal Klocek
f43a26a96e Fix the wrong call in ps1 files
This amends bb82c65ac0

Task-number: COIN-1077
Change-Id: Ib9d2bb05530aa1b760accecf908a2359cab49157
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-11-10 12:56:23 +00:00
Jukka Jokiniva
cd06971dd3 Change Debian packaging rules branch for 6.7
Change-Id: Icdfa48c7e98a5f0e88a7d2e26f262aeaab12e709
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Reviewed-by: Toni Saario <toni.saario@qt.io>
2023-11-09 17:07:31 +00:00
Johanna Äijälä
72861b5f57 Provisioning: add nodejs18 to SLES15_SP5
Needed for QtWebEngine build done in RTA.

Pick-to: 6.6
Change-Id: Ia2338ac9446960cd6a56d4956126698e9400af32
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2023-11-08 22:38:39 +02:00
Aku Pietikäinen
854bc07fc2 Revert "Add usr\bin\ to path on windows"
This reverts commit 50aa0031a4.

Reason for revert: Change replaces PATH and causes some built-in
commands to be replaced with breaking Git equivalents.

Change-Id: I9e25238c8f84cfc5ad44e1cdfb0a0fe33a60dcfe
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-11-08 19:16:34 +00:00
Michal Klocek
bb82c65ac0 Set longpathsenabled reg key on windows
Besides proper manifest registry has to have a proper long path key.
The coin vms have this registry key not set. Fix it.

See: https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation

Task-number: COIN-1077
Change-Id: Ia2eb8531c1881cfc67de537a1cb25be56274c031
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2023-11-07 17:01:12 +00:00
Casimir Saastamoinen
23116e7331 Configure pip for internal cache
Task-number: QTQAINFRA-5531
Change-Id: I89c5502f62b2777a06b8f301a9fbaca1a3f8859d
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2023-11-05 12:06:07 +03:00
Casimir Saastamoinen
50aa0031a4 Add usr\bin\ to path on windows
Task-number: COIN-1060
Change-Id: I2ab63617f417b92a4d858c5da301185693e799f3
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2023-11-05 12:06:04 +03:00
Amir Masoud Abdol
1fd6fb3565 Provisioning: Mount Vcpkg Cache Drive on macOS
Change-Id: I3038467c98a7c2a5f3b05d7b370d9ec0ea95156d
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-11-05 10:05:59 +01:00
Amir Masoud Abdol
991ed8bc74 Provisioning: Install cif-utils (and keyutils) for mounting SMB on Linux
Change-Id: I91df89bd9741010f384c2c097363614438819a92
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-11-05 10:05:55 +01:00
Amir Masoud Abdol
9d8337ac91 Provisioning: Mount Vcpkg Cache Drive on Windows
Change-Id: Ib8d0722cdfc8cc16e52f3ac38ef5cc4ff210d751
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-11-05 10:05:51 +01:00
Amir Masoud Abdol
10b0282ea2 Provisioning: Mount Vcpkg Cache Drive on Linux
Change-Id: Ib7345f622e05248aa0a61e44a4d079666e56ae7d
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-11-05 10:05:47 +01:00
Tony Sarajärvi
070b3bf26e Remove unused variable from mimersql.sh
Change-Id: I1f77dfcac4988c0e377b68b9d6b85cf265869aea
Reviewed-by: Fredrik Ålund <fredrik.alund@mimer.com>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2023-11-05 09:05:43 +00:00
Tony Sarajärvi
f7fb9e99f7 Update llvm-mingw to 17.0.3
Change-Id: I2a44fd8d5dd75771539926a55c5da784267d595f
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
2023-11-05 09:05:38 +00:00
Marianne Yrjänä
931f282b7a CI: Add minimal multimedia support for QNX qemu
Add minimum set of libraries needed for running qtmultimedia autotests.
QNX qemu doesn't support graphics which limits the amount of runnable
multimedia autotests for QNX.

Task-number: QTBUG-92226
Pick-to: 6.6 6.5
Change-Id: I72973d5582389877dc112f98f5a62a7aaa07d23a
Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@qt.io>
2023-11-04 11:27:10 +03:00
Marianne Yrjänä
b5607a5894 QNX: Add CMAKE_SYSTEM_PROCESSOR definition for QNX toolchain files
Add CMAKE_SYSTEM PROCESSOR definition and use that for finding processor specific binaries from QNX SDP.

Task-number: QTBUG-116082
Pick-to: 6.6 6.5
Change-Id: I893cac45058d8e0ac6228159e9b97bc59307ff35
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-11-04 08:27:07 +00:00
Bartlomiej Moskal
2d3245e0ea Coin: Install FFmpeg for Android on missing targets
On qtci-macos-13-x86_64 host CI tries to build and run the test on
Android (arm64) while we still haven't managed to install FFmpeg for it.
The same situation happened with qtci-linux-RHEL-8.8-x86_64 and Android
x86.

Task-number: QTBUG-110805
Task-number: QTBUG-114954
Task-number: QTBUG-113980
Pick-to: 6.6 6.5
Change-Id: If953221b104d5bb8fce9d48f8ecd977c2e80c41d
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2023-11-02 20:11:01 +00:00
Bartlomiej Moskal
185b7219a4 Coin: Fix install-ffmpeg calls for android
There is a specialized script to install FFmpeg for Android. Use it
instead of common install-ffmpeg.sh (which does not work for "android"
parameter).

Task-number: QTBUG-110805
Task-number: QTBUG-114954
Task-number: QTBUG-113980
Pick-to: 6.6 6.5
Change-Id: I2409e0f8ffe0f8b28eadce4738c2551fe00a7fbf
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2023-11-02 17:40:26 +02:00
Matti Paaso
6ddb97c90e Provisioning: Fix icu 73.2
Icu packages overwritten in ci-files01-hki, and file hash
changed.

Change-Id: I4755e13409cd4af008919ae3905fdb21fb893795
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2023-11-02 17:40:23 +02:00
Matti Paaso
c3d0b1461a Add Axivion analysis linux target for new modules
Adding Axivion analysis insignificant target for
qtapplicationmanager and qtinterfaceframework

Task-number: QTQAINFRA-5683
Change-Id: Ib9f839c6126883e8fa94218a9f00dc8785811540
Reviewed-by: Dominik Holland <dominik.holland@qt.io>
2023-11-02 11:18:47 +03:00
Elias Toivola
64673dbe75 Disable clangcpp in Ubuntu 20.04 C++17 nightly run
Our self-built libclang cannot be used in this platform configuration as
it causes linker errors in Qttools. Disabling clangcpp also disables
QDoc.

Task-number: QTBUG-113649
Change-Id: I80ac05c173397bfc573740bbf7b02cc0acc7fadf
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-11-02 09:35:42 +02:00
Petri Virkkunen
eb100b6e3b Add AAOS10 image for Android Automotive emulator as minimum supported SDK
Android Automotive should follow the lead for Q4A and regularly test
changes with both the minimum and then maximum supported SDK levels.
These are Android 10 and 13, of which 13 is already active on the CI.
This commit adds a Configuration for Android 10 and support for
creating an avd for that image.

Task-number: QAA-2073
Change-Id: I6d22c68f10a5da4b46664c67cf1369cbc7f5a537
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2023-11-01 16:54:30 +02:00
Petri Virkkunen
ce7be1254b COIN/Android: Specify tags for emulator logcat output
Without specifying tags for logcat output, the flag -logcat-output does
not actually write anything to file. Looks like -logcat-output is
designed to take any logcat output that would be written to the
emulator output and write it to a file instead, so if there is no
logcat output in the emulator output, there will be no output to file.

Task-number: QTQAINFRA-5908
Change-Id: If44265c858f8cb6854659fed6dd15d02cbf1d7ab
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2023-11-01 17:54:28 +03:00
Aku Pietikäinen
cebd09e9ea Update webos tier 1 image
Increase Ubuntu 20.04 disk size to 1 TB to fix webos build.

Change-Id: Id1290bf7745f500097341bd8476dc5be45b69b0d
Task-number: QTQAINFRA-5898
Reviewed-by: Toni Saario <toni.saario@qt.io>
2023-11-01 11:42:46 +00:00
Tor Arne Vestbø
5de62a4a74 coin: Remove macOS 11 x86_64 developer build and arm64 packaging tests
We're running out of capacity for macOS 11 nodes, so let's reduce the
test coverage, now that macOS 11 is no longer a primary platform.

It's still supported, so we keep one x86_64 and one arm64 config.

Change-Id: I3fc4c3a12967b937ef59fd190074dac30dedd2be
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2023-10-31 01:21:06 +01:00
Matti Paaso
95e4077203 Change Axivion bauhaus-suite version to 7.6.2
Also, axivion_config changed to correspond new release. Common
part of the configuration has been removed from all submodules
and added into common configuration.

Change-Id: I724f020e4299077068d0d623efb63700848e6bf4
Reviewed-by: Toni Saario <toni.saario@qt.io>
2023-10-29 07:52:48 +03:00
Tor Arne Vestbø
7cc0a72d44 coin: Add insignificant configurations for macOS 14
Change-Id: Iab3aea900d570a10a1e4100665ea2b4f7b89afbb
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2023-10-28 21:38:26 +00:00
Tero Heikkinen
530f00502a Provisioning: Fix SLES 15 SP5 packagekit flakiness
Task-number: QTQAINFRA-5899
Change-Id: Ie5070cc4d99e7fe451c394c3078aeb60e8332fff
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2023-10-27 21:55:15 +03:00
Petri Virkkunen
3f2386f2c4 Android: Use Android 14 Beta image instead of downloaded one
After Oct 4th Google Android 14 release, few cases started to fail.
Cases did not fail earlier. Earlier system images were downloaded.
This change introduces system image storage to CI-files.

Task-number: QTBUG-117994
Change-Id: I143691f6d87f8c9b40b1f5744164cb0d22c219c3
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2023-10-27 21:55:14 +03:00
Heikki Halmet
4067395aee Provisioning: Upgrade ffmeg version to fix make issue with SLES
Version points to commit:
c5039e158d20e85d4d8a2dee3160533d627b839a

This commit is the latest one in 6.0 branch. This way we'll get
fix also for https://fftrac-bg.ffmpeg.org/ticket/10405

Version should be changed to official release
when the next official release is available.

Pick-to: 6.6
Task-number: QTQAINFRA-5912
Change-Id: I4e7acea5a54ce692334c7fe22ba074791c94cf03
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-10-27 18:55:12 +00:00
Samuli Piippo
f4f2ebae60 Add platform configs for boot2qt-manifest repo
Change-Id: I3746cb708f54c7a17f54fd38ae58cca87d0b5724
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
Reviewed-by: Toni Saario <toni.saario@qt.io>
2023-10-23 11:26:40 +03:00
Ville-Pekka Karhu
2cf8bbf580 Provisioning: Update macOS 14 Intel nightly Tier1 version
This change updates macOS 14 from beta version to released version 14.0

Change-Id: I6e87ee51efcce5edcdc853048c67598c02b3defe
Reviewed-by: Toni Saario <toni.saario@qt.io>
2023-10-23 08:23:40 +00:00
Topi Reinio
a345c01d68 coin: Update provisioned qdoc, qtattributionsscanner binaries
Update qdoc and qtattributionsscanner to the latest version from
qttools/dev.

qtattributionsscanner is updated to a version that supports multiline
copyright entries as a string array.

Task-number: QTBUG-111873
Pick-to: 6.6 6.5
Change-Id: I7dccdd431015610dcead220fa4cf3b5640049ece
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
2023-10-23 07:05:20 +00:00
Teemu Holappa
475b77c125 Add COIN configuration for meta-qsr layer
Task-number: QSR-2019
Change-Id: Id1f5729bd286618f00c24d4956e986215970ad0b
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2023-10-23 06:07:22 +00:00
Elias Toivola
ab4ba58eeb Remove Android 13 from CI, set Android 14 as max version
Task-number: QTQAINFRA-5770
Change-Id: I29347255f9e606b9aa32fe000325cf57d4eb1b30
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Petri Virkkunen <petri.virkkunen@qt.io>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
2023-10-22 18:27:31 +03:00
Dimitrios Apostolou
491fb5492e Use latest CMake version for the ASAN configuration
This fixes  ctest --stop-on-failure.

The minimal CMake version is tested separately on a non-ASAN config,
no need to test it again.

Pick-to: 6.6 6.5
Change-Id: I71e0158fca0d1ef19449b034faa119f8cf2d3519
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2023-10-21 00:23:44 +02:00
Fredrik Ålund
b073e4c5d8 Mimer SQL: Do not unpack directly to /usr/local and use sudo
Unpacking the Mimer SQL universal binary package fails on macOS 14-arm.
Do not unpack directly to /usr/local and use sudo. Verify that all
directories exist.

Fixes: QTBUG-111219
Pick-to: 6.6
Change-Id: I5f1bf3413103c07a94a47b5421c41b8b1234ca22
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2023-10-20 05:31:03 +00:00
Qt Submodule Update Bot
26ccf4dfd7 Update submodules on 'dev in qt/qt5'
Change-Id: Iec6d0d6db38ec09b51f600f06768d1ced021fa6e
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-10-20 02:37:09 +00:00
Michal Klocek
fedf1d863a Fix ninja long path support
Ninja has issues if path exceeds 260 chars. The issue
is reported here https://github.com/ninja-build/ninja/issues/1900
and can be easily fixed by doing correct setting in
manifest file. Unfortunately the author still did not make
release with the fix.

QtWebEngine/QtPdf build generated file paths can exceed 260 chars
especially if build is done on android platform, which leads to
issues when running ninja as it get wrong 'dirty' and
'missing' nodes info.

Add workaround and patch manifest during installation.

Task-number: COIN-1077
Change-Id: I89166de73400de63bc3d1116b87c0f0754f36a2e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2023-10-18 19:43:52 +02:00
Fredrik Ålund
3d354bf9c0 Add universal binary for Mimer SQL on macOS
Do not use the Mimer SQL installer on macOS since it is not universal.
Instead, use an archive with the needed library and include files.
Use a universal binary on all macOS version from 11 and up.

Fixes: QTBUG-111219
Pick-to: 6.6
Change-Id: I4a3716b1207ee966f36e977fe5f9d1016fb9efcb
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2023-10-13 09:55:21 +02:00
Qt Submodule Update Bot
192856ef62 Update submodules on 'dev in qt/qt5'
Change-Id: I90b67ec626598d7a59e2c18ed5fb63344173f988
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-10-13 07:15:46 +00:00
Artem Dyomin
aea9fc281c Install vlc binaries on ubuntu and macos for QtMM streaming tests
Cross-platform VLC provides a cmd-line interface for creating media
streams, we use it in QtMultimedia integration tests.
In the future, vlc might be replaced with something more light-weight,
but for now let's just start running the streaming tests at least on
these platform.

Pick-to: 6.5 6.6
Change-Id: I887a98a1ee8f4a9f0a08d16124303bd10fa5a6ba
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
2023-10-11 13:16:19 +00:00
Kai Köhne
938e4c74ea Make qtmultimedia a hard dependency for qtspeech
Since commit 1764bc86cdfc22154a (qtspeech.git), Qt Multimedia is a
dependency for all of qtspeech. So let's also mark this as required
for top-level builds.

Change-Id: Iddc47fe7b57afeaf13c0ba36aa1517bf81794f75
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2023-10-09 14:21:11 +02:00
Ville-Pekka Karhu
2a7c5cdf71 Provisioning: A better fix for enabling zsh history
Change-Id: I089ae9ea42b51b66009c1e2c50910ea689500aa1
Reviewed-by: Simo Fält <simo.falt@qt.io>
2023-10-09 09:10:15 +03:00
Simo Fält
d3c761ae13 Provisioning: Fix macOS 14 python installation
Change-Id: Ibe1e40fbede609665f1a83e79df5cdc07d23cb5a
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2023-10-09 06:09:35 +00:00
Tero Heikkinen
19cbccac87 Remove RHEL 8.6 from yaml configurations
Removing RHEL 8.6 from yaml configurations at first
and scripts will be kept for some time, until removed later.

Task-number: QTQAINFRA-5768
Change-Id: I687f96de35b4bfa28d5a520717f29f059c4925c3
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2023-10-07 13:50:21 +03:00
Qt Submodule Update Bot
f5d48d4bd0 Update submodules on 'dev in qt/qt5'
Change-Id: I2a55d816274e021f13dfd2799987008d2243b2b6
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-10-07 06:44:52 +00:00
Fredrik Ålund
1927326833 Install Mimer SQL on macOS
Mimer SQL is needed to build the QtSql Mimer SQL plugin.

Fixes: QTBUG-111219
Change-Id: I678c095068fd096f8632f9cdbb00b1bdf96bbe45
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2023-10-07 06:44:51 +00:00
Qt Submodule Update Bot
35fe846d56 Update submodules on 'dev in qt/qt5'
Change-Id: I604c3fbc299bfa96031df731f330b66c495d0ede
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-10-04 13:42:22 +00:00
Samuli Piippo
6cf294e362 Update libusb to 1.0.26 on Windows
Add support for arm64. Static libusb binaries packaged from
vcpkg builds with MSVC2019.

Task-number: QTBUG-117504
Pick-to: 6.6 6.5
Change-Id: I0ec4bc6eb2976f22e94533d91b8e1ff9af020e57
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2023-10-03 20:43:58 +03:00
Samuli Piippo
f68c116871 Add libusb to aarch64 debian
Needed by QDB.

Pick-to: 6.6 6.5
Task-number: QTBUG-114257
Change-Id: I4f17c4fda628e7fd58c71fb088d940dc14dce89a
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2023-10-03 20:43:58 +03:00
Simo Fält
a46d0c19df CI: Fix cmake debian package path for arm
Change-Id: Ib1ea0b7bec0e00b50c957ae0f530284ae32bbe9b
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit f8f18afaa2)
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2023-10-03 17:43:58 +00:00
Simo Fält
43d66408b0 COIN: Use Ubuntu Focal chroot instead of Debian stable
We need to use older chroot to build debian packages.

Task-number: QTBUG-117120
Change-Id: I044e398324c380716b309dad5b087e97bc6688ab
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 43e1a3d2f5)
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2023-10-03 17:43:58 +00:00
Ville-Pekka Karhu
8e5e4d5e2c Provisioning: Fix for enabling zsh history
Change-Id: I9b1af1f99181a7b1c0a4acded4022a26fbf5a641
Reviewed-by: Simo Fält <simo.falt@qt.io>
2023-10-03 08:16:19 +03:00
Qt Submodule Update Bot
893ce64fbe Update submodules on 'dev in qt/qt5'
Change-Id: Id4697753052ffa8ebd9ac08cb8818c9ae0edc70f
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-10-03 04:10:32 +00:00
Tero Heikkinen
ee054393ce Remove SLES 15 SP4 from CI platform configs
SLES 15 SP4 scripts from pre-provisioning and provisioning
will be removed later.

Pick-to: 6.6
Task-number: QTQAINFRA-5667
Change-Id: Idb49075800e5c3a23804b6df8dd283af3fcbf000
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-10-02 18:57:27 +03:00
Minna Erälä
dac25765dd Add ubuntu-20.04 for RTA
Patch2: Move configuration to RTA-specific file

Pick-to: 6.6
Change-Id: Ifa8ddb29069ea8aa419e1f1ffa79c316eb9e2266
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
2023-10-02 12:17:03 +03:00
Elias Toivola
bbbe558077 Fix FFmpeg nv-codec file SHA and cache
External URL file SHA changed and the cache file didn't exist.

Pick-to: 6.6 6.6.0 6.5 6.5.3
Task-number: QTQAINFRA-5862
Change-Id: Ib4670d367d6541e67eb54dd3fb84079548b13722
Reviewed-by: Liang Qi <liang.qi@qt.io>
2023-09-30 10:24:34 +03:00
Ville-Pekka Karhu
117c1b30cd Provisioning: Update macOS 14 Xcode version to 15 official release
Change-Id: Ia50d9363ba81c1a8cb9cd334a1b380a22518913e
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2023-09-28 16:46:36 +03:00
Michal Klocek
dcf72e8116 Update Nodejs on windows to 20.7
Update nodejs to fix flacky webengine builds on windows due
to uv console init race condition.

Leave LTS nodejs release on other platforms.

Fixes: QTQAINFRA-5437
Pick-to: 6.6 6.5
Change-Id: Id066d29c819afe8e7de168a8d35d078c5408acef
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2023-09-28 11:20:43 +00:00
Alexey Edelev
c8062a4244 Add QtSortModuleDependencies.cmake
The script produces the list of Qt submodules that are required to
build the submodules listed in the QT_BUILD_SUBMODULES variable.
Also the script supports the "collect all but skip repos" mode.
The repos that needs to be skipped should be specified by setting
BUILD_<repo>=FALSE.
The resulting list preserves the required build order.

Change-Id: Ia1cfe0ce013f80dc2793a0ba863a18789657e5a1
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io>
2023-09-28 11:02:30 +02:00
Tero Heikkinen
fa1143e15b Remove InsignificantTests flags from SLES 15.5
SLES 15.5 is added as parallel with SLES 15.4 until packaging
site gives green light to remove the older version.

This is following the new CI process to introduce new platforms in
parallel with Insignificant flags in use. Flags removed now after
flakiness has been monitored enough to give green for OS replacing.

Pick-to: 6.6
Task-number: QTQAINFRA-5667
Change-Id: Icdb4ed3be8590f85c22c8b73ba6ff0543e2b6e09
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2023-09-28 10:59:26 +03:00
Tony Sarajärvi
1576772ad9 Fix shellcheck complaints on SLES provisioning script
Change-Id: I0ac463851ef65f449165f7fa36008093850861db
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2023-09-28 06:49:16 +00:00
Qt Submodule Update Bot
2ff9477687 Update submodules on 'dev in qt/qt5'
Change-Id: Icf25c138b69a48f4116c81dace3b355571a62046
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-09-27 21:10:59 +00:00
Petri Virkkunen
879092ecc1 Update Android Automotive emulator image to AAOS13
Task-number: QAA-2036
Change-Id: I6f27bf9edbd5c7b4f0a3124d888e3b0ac2f48bfa
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
2023-09-27 08:58:24 +03:00
Jussi Witick
c8434c0d6f Add Axivion analysis target for QtSafeRenderer runtime on INTEGRITY
Add Axivion MISRA-C++ analysis target for QtSafeRenderer runtime
on INTEGRITY. The results will be posted in the qtsaferenderer/integrity
target in the Axivion dashboard.

Task-number: QSR-2186
Change-Id: Ice8115dbe8dc1dacfbfca493c77d95eb95088439
Reviewed-by: Teemu Holappa <teemu.holappa@qt.io>
2023-09-26 10:01:10 +00:00
Qt Submodule Update Bot
69285d06e3 Update submodules on 'dev in qt/qt5'
Change-Id: I9661c39cc2e8ae17321d7c356248a402b7d662c6
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-09-25 17:59:48 +00:00
Safiyyah Moosa
80573dd36b Doc: Create README template
There are many Qt submodules, and it would be beneficial to users if
there was a standard README template that will enable them to understand
and access the submodule content better. Currently many of the
submodules do not have README documents, or if they do, each submodule
varies vastly regarding what content is in the document. This proposed
README template is based on the Git ReadMe structure.

Task-number: QTBUG-114809
Pick-to: 6.5 6.6
Change-Id: I3d1d1da27ed665e76ee6d1df8a93c3e5a920b0a3
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io>
2023-09-23 10:27:29 +02:00
Qt Submodule Update Bot
396b1b626d Update submodules on 'dev in qt/qt5'
Change-Id: I17e6fa6a13a6c35823438435ff42845f478b050e
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-09-21 13:51:05 +00:00
Tor Arne Vestbø
1a5c03a20f coin: Re-order and comment macOS build configs
To clarify what we do (and don't do).

Change-Id: I719f538e7abce279b619a82b80b74bd01d1538d4
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2023-09-20 14:49:59 +02:00
Marc Mutz
7db7d89fd0 ubuntu-22.04: don't ignore warnings anymore
We permanently accept C++17-isms that cause warnings (or, on Clang,
sometimes hard errors) in C++20 builds, because this configuration
(unlike the MSVC C++20 build) disables -Werror.

Enable -Werror for dev C++20 Linux builds, at least, going forward.

Change-Id: I2334f87e7c88f263af89bdd029bdf469f242d297
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2023-09-20 06:29:11 +00:00
Alexandru Croitor
29e674d299 CMake: Move some code back into qtbase
It's somewhat painful to do changes in the top-level CMakeLists.txt
in regards to calling qtbase commands, because the file needs to be
compatible with different qtbase sha1s while the submodule update
catches up with a new qtbase to be used for qt5.git.

Use the commands defined in the new QtBaseTopLevelHelpers.cmake file to
to move some responsibility back to qtbase.

This way we can hopefully avoid some churn and do direct changes in
qtbase instead.

Pick-to: 6.6
Task-number: QTBUG-112957
Change-Id: Id897a9f7da366b00a0780a2475b1fb5772bbe8bc
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io>
2023-09-20 08:29:08 +02:00
Allan Sandfeld Jensen
b49729a50c Add vulkan package to SLES
Helps build vulkan support in qtbase, and vaapi support in qtwebengine

Pick-to: 6.6 6.6.0
Task-number: QTBUG-115722
Change-Id: If51bc6a91c69829313991bfa9172026ce54476f7
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2023-09-20 05:01:31 +00:00
Qt Submodule Update Bot
8d5aef0881 Update submodules on 'dev in qt/qt5'
Change-Id: Id0ad0c7ff7d04b207fa9653fbc281d42d7eeca73
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-09-20 03:20:06 +00:00
Qt Submodule Update Bot
e0729e2a6e Update submodules on 'dev in qt/qt5'
Change-Id: I8da142aedd8a70895700b8d38f4f6cfcc0b7e5b5
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-09-18 20:33:28 +00:00
Nicholas Bennett
6fea315c0f Docs: Make sure documentation tests run on QtAA integration
Previously the dedicated documentation config was removed in favor of including
ubuntu-22.04-documentation.
Since then, that configuration lost the TestDocs flag. It now comes with
ubuntu-22.04-documentation-x11-tests instead, so this change adds that
configuration.

Pick-to: 6.6 6.6.0 6.5
Change-Id: I046f79aa8810ded6aa6dd07814ff43dd3fa2bbe8
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2023-09-14 14:05:28 +00:00
Tero Heikkinen
f81b389059 Add SLES 15.5 to CI with InsignificantTests flag enabled
SLES 15.5 will be added as parallel with SLES 15.4 until
packaging site gives green light to remove the older version.

Upgrade nodejs to commonly used 18.16.0 version

This is following the new CI process to introduce new platforms in
parallel with Insignificant flags in use. Flags removed later after
flakiness has been monitored enough to give green for OS replacing.

Pick-to: 6.6
Task-number: QTQAINFRA-5667
Change-Id: I66d325f0e20f536b8e8b61ce3eb9f1dbc6a9f204
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2023-09-14 13:59:23 +03:00
Elias Toivola
b105bbaab1 Provisioning: Bump sdkApiLevel and sdkBuildToolsVersion to 34.0.0
Task-number: QTQAINFRA-5691
Change-Id: I4c0f92a53165f316da4b69161f0ec7cb6f889167
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2023-09-14 05:04:47 +00:00
Elias Toivola
b3d10251b4 Fix cache URLs and add missing cache files
The missing files were downloaded from their external source and placed in their directories of the cache URLs. Files: FFmpeg-n6.0.tar.gz, Postgres-2.5-14.dmg, protobuf-all-21.9.zip, MimerSQLInstaller_x64_1107b.exe, FFmpeg-n6.0.zip, msys2-base-x86_64-20220319.tar.xz, python-3.10.0-amd64.exe, python-2.7.13.msi, mimersqlsrv_11.0_amd64-openssl3.deb, mimersqlsrv-11.0.x86_64-openssl3.rpm, MinGW-w64-x86_64-11.2.0-release-posix-seh-rt_v9-rev3.7z

Task-number: QTQAINFRA-5766
Change-Id: Ieacdc9138b71969397d900096956f54faff45918
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2023-09-14 05:04:44 +00:00
Elias Hautala
a716087c94 Enable example build for Android in CI
Enables building of examples for Android 13 RHEL 8.8 in CI.

Fixes: QTQAINFRA-4435
Change-Id: I370deeb04b58b67ccd7b24f6df21dab911323041
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
Reviewed-by: Johanna Äijälä <johanna.aijala@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2023-09-14 08:04:41 +03:00
Tero Heikkinen
348bd59693 Remove InsignificantTests from RHEL 8.8 before removing 8.6
Before RHEL 8.6 can be removed, newer RHEL 8.8 needs to be
monitored that there is no flakiness and cleared from all
InsignificantTests flags after that.

This is following the new CI process to introduce new platforms.
No flakiness visible, therefore removing Insignificant flag.

Task-number: QTQAINFRA-5768
Change-Id: Iec4b741cd896ce73ba3804c2a971e36eef93b966
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-09-14 08:04:38 +03:00
Tony Sarajärvi
620666bce4 Fix shellcheck complaints about provisioning scripts
Also adds executable attributes to shell scripts that were missing it.

Change-Id: Id52ef495147fdbfb5cb1a1f711fac530e0e85f3b
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2023-09-13 06:44:02 +00:00
Simo Fält
ddef5cc5f2 CI: Enable debian amd64 debian packaging config
Change-Id: I4efcdb930edb6b42e1042316986e5fb11ca337f6
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
(cherry picked from commit 932419ebb9)
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2023-09-12 07:33:27 +03:00
Elias Toivola
d043fa0a45 Provisioning: RHEL platforms: Wait for PackageKit to finish
PackageKit is sometimes locked when trying to remove it, causing an error in provisioning. Scripts now wait until it is free for removal.

Task-number: QTQAINFRA-5577
Change-Id: I15d6bf5d72ec61517cc42a1dc51012ad60a806e9
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2023-09-12 04:32:58 +00:00
Simo Fält
a2d926fdd1 Provisioning: Copy backported .deb files for sbuild
These are required to successfully build debian packages for
Ubuntu Focal.

Change-Id: I708f3716ba8d1251bfae22da325e8e27f0fb80fe
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 5b30b2f432)
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2023-09-11 10:03:42 +03:00
Alexey Edelev
aae1a25bf1 Add .proto files format to _clang-format
Use the Google format with 4 indents.

Change-Id: I852fabc07e16c19ac5555e4b34400a1c94a9d1d3
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
Reviewed-by: Konrad Kujawa <konrad.kujawa@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
2023-09-11 09:03:26 +02:00
Toni Saario
561f9e287b Add Ubuntu 22 namespace build and doc tests to default precheck
Pick-to: 6.5 6.6
Change-Id: I42b1355406040fbf61339013294232c3f0a339fa
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-09-06 13:53:33 +00:00
Simo Fält
b1ce3549a0 Provisioning: Install missing python3 packages to Debian 11
Pick-to: 6.5 6.6
Change-Id: Ib322d71a2af760f3cedecf73d0b51a1b15e460f6
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-09-05 18:12:58 +00:00
Dimitrios Apostolou
64bb2e7480 Introduce ASAN build for qtdeclarative
Fixes: QTQAINFRA-5755
Change-Id: I9fe2df9810baa793f2b063f09e2fec2e9786acd0
Reviewed-by: Toni Saario <toni.saario@qt.io>
2023-09-05 20:12:53 +02:00
Simo Fält
68e8df875d COIN: Fix Linux config id for qtpip
Change-Id: I8eb08d540d4a70f131d691cc6505bd0df8402135
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2023-09-05 19:29:22 +03:00
Alexandru Croitor
cbb50f2e0b CMake: Remove unused variable
Pick-to: 6.5 6.6
Change-Id: I8f79797428226b376a21813c91c87b5bfe8b390b
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2023-09-05 18:29:18 +02:00
Artem Dyomin
7300099520 Add openssl to ffmpeg linux builds
We need ffmpeg+openssl to enable multimedia networking.
We kept it disabled on linux since we had linking dependency.
The related patch in QtMM resolves openssl symbols dynamicaly
and address the mandatory dependency.

Pick-to: 6.5 6.6
Change-Id: Idad0618a5320ae32d50fe1f3866c4ffd1bf8f542
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
2023-09-05 16:29:15 +00:00
Marc Mutz
bfb6538af8 nightly_ubuntu_22_04_xwayland: drop -no-warnings-are-errors
I can see why de8a8879bd added
-no-warnings-are-errors (QtWayland tests were full of [=] implicitly
capturing *this), but I've fixed those now, so re-add -Werror.

Pick-to: 6.6 6.5
Change-Id: I48db4cee08bd766b2b00949cdb09a4dd97214298
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2023-09-05 18:29:11 +02:00
Rami Potinkara
b808969b95 Coin/Android: Add Android 14 to CI
Add Android 14 to CI and keep 13 as maximum supported version, to allow
significant testing for both Android 13 and 14.

Android 13 is not yet removed, because Android 14 is still in beta
phase, so the plan is to fully replace Android 13 with Android 14 once
it's publicly released, and for now test Android 14, to avoid any
potential fails that might come before the final release.

[*] Android 14 is expected to be released late August 2023.

Task-number: QTQAINFRA-5609
Task-number: QTQAINFRA-5557
Change-Id: Ied5c560aa7d60f00948482fb1d7091b3139c6f0c
Reviewed-by: Simo Fält <simo.falt@qt.io>
2023-09-05 16:29:06 +00:00
Simo Fält
f8fe54df2a CI: Add platform configs for qtpip
Change-Id: I1e84d4646e12e6da18b2c831d2eb6a7c42e43c9d
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
2023-09-04 07:42:25 +00:00
Axel Spoerl
095fb20175 Add cache cleanup script to openSuSE 15.4 and 15.5 provisioning
Change-Id: I5f3465f1492fd5c047cfe4cd570a06ec25a73fad
Reviewed-by: Toni Saario <toni.saario@qt.io>
2023-09-02 13:58:38 +02:00
Tero Heikkinen
afdcf514f5 Update ICU for RHEL 9.2
Task-number: QTQAINFRA-5654
Change-Id: Ic930147af4fe87545c9e3d4c407b54684eb37d37
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
2023-09-02 14:58:31 +03:00
Lucie Gérard
6757a4c399 Add license directory and update remaining license format in coin
Pick-to: 6.5 6.6
Task-number: QTBUG-108364
Change-Id: I1250a46d60d5b4e85258b93f8f6f6fc4631b3a70
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2023-09-02 13:58:24 +02:00
Tor Arne Vestbø
f161cc18e2 coin: Enable warnings are errors for iOS build
Change-Id: Iad787adb9d4a184d047815c3b16750444ce6b0e9
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-09-02 13:58:19 +02:00
Simo Fält
8667829703 CI: Enable debian arm64 debian packaging config
Change-Id: I15537eab53c6e879d22761a12b017f3aaab4f7ea
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
(cherry picked from commit 00af6b857a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2023-09-02 11:58:14 +00:00
Simo Fält
16905c60c1 Provisioning: Install debian packaging dependencies to Ubuntu
Change-Id: I320adf737c7ac9da45e27b30b385318f1d925905
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
(cherry picked from commit 442f28b534)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2023-09-02 11:58:08 +00:00
Qt Submodule Update Bot
f89575f6b3 Update submodules on 'dev in qt/qt5'
Change-Id: I7e9d4630292a0e5dd8dceb0c5183925aaff8be42
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-09-01 18:18:36 +00:00
Piotr Wierciński
4c3df86e21 wasm: Fix provisioning machine with correct version of Emscripten
The SHA-1 hash was not properly updated after upgrading Emscripten
from version 3.1.25 to 3.1.37.

Pick-to: 6.6
Change-Id: Iad2a8603ce6163545de432a35940c91ee47ffea8
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2023-09-01 18:18:31 +00:00
Jussi Witick
f9cc281e15 Add Axivion analysis target for QtSafeRenderer runtime on qnx
Add Axivion MISRA-C++ analysis target for QtSafeRenderer runtime
on qnx. The results will be posted in the qtsaferenderer-qnx target
in the Axivion dashboard.

Task-number: QSR-2070
Change-Id: Icea1dcaaecb505545f63c518e2dce49865a26505
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
2023-09-01 18:18:27 +00:00
Axel Spoerl
71b55915f0 OpenSuSE: disable kwin overview
The KDE window manager kwin launches window overview, when the mouse
remains in the top left for about 1 second. This causes flakiness in
autotests, if they move the mouse to the top left.

=> Disable the overview function, which is enabled by default.

Change-Id: I43925d15db99f5d40b6cc0cdba39203513e8c59f
Reviewed-by: Toni Saario <toni.saario@qt.io>
2023-09-01 06:16:49 +02:00
Lucie Gérard
ae21de72f3 Add license header to provisioning scripts missing one
Task-number: QTBUG-108364
Pick-to: 6.5 6.6
Change-Id: I5b1d53aad917ed38f9e26e1fcc1b97b921c0603a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2023-08-31 16:25:43 +02:00
Alexey Edelev
4989ee9b24 Enable building of ProtobufWellKnownTypes module on Android
Point to the location of the host well-known .proto files using
the QT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR CMake cache variable.

Pick-to: 6.6
Change-Id: I53c6a76f28736c60d22a9d52e6ae79079b64772a
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2023-08-29 09:52:26 +02:00
Casimir Saastamoinen
949594ef83 Give qt user access to zsh history and transfer .viminfo under qt user
Task-number: COIN-723
Change-Id: I093ba09ffc3b7500ace71b4752f17015859989c7
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2023-08-29 09:58:57 +03:00
Tero Heikkinen
0122ea6e0a Replace OpenSUSE leap 15.4 with OpenSUSE leap 15.5
OpenSUSE 15.5 will replace 15.4 in yaml configurations
at first and OpenSUSE 15.4 scripts are still kept for some time.

OpenSUSE 15.4 scripts will be removed later.

Task-number: QTQAINFRA-5666
Change-Id: Ic04dee5935b2d0ea9b99dd103f796d38ea90ba2d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2023-08-29 09:56:43 +03:00
Qt Submodule Update Bot
a47b307520 Update submodules on 'dev in qt/qt5'
Change-Id: I4baf1883f0339e0fec229a392449b1634c281500
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-08-28 06:06:57 +00:00
Artem Dyomin
69c29b7584 Add nvcodec to the ffmpeg build
The patch enables nvidia hardware encoders/decoders.
It doesn't add new package dependencies, ffmpeg loads
required functionality in runtime if nvidia drivers have been
installed.

The change is coming together with implementation of hw devices precheck
in qtmultimedia.

Pick-to: 6.5 6.6
Change-Id: Id54a95b2bacf433950c7b50a42ff99136a143d98
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2023-08-25 10:54:34 +00:00
Matti Paaso
f80e295d4d Update ICU for RHEL 8.8
Task-number: QTQAINFRA-5654
Change-Id: I2a8b05f144afc05f1049633b7282864e3f6bb81e
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2023-08-24 08:22:20 +03:00
Qt Submodule Update Bot
663f2ed8ca Update submodules on 'dev in qt/qt5'
Change-Id: Iad921e1fe70c3786d8ab0adc90d64f5590e667f9
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-08-23 04:54:58 +00:00
Mårten Nordheim
fba42d674e clang-format: Add space after template keyword
simple git grep-ing shows more uses of _with_ space than without

Change-Id: I0b2d94aa6312dd6856a2b886bc7ec028978dc0cf
Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>
2023-08-22 14:15:22 +00:00
Tero Heikkinen
9ea71ea245 Upgrade RHEL 9.0 to version 9.2
RHEL 9.2 will replace RHEL 9.0 in yaml configurations
at first and RHEL 9.0 scripts are still kept for some time.

RHEL 9.0 scripts will be removed later.

Task-number: QTQAINFRA-5608
Change-Id: Iff463f26ba6bcb7962b4f8bafbf88aa7c13392c1
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-08-22 14:00:24 +03:00
Casimir Saastamoinen
a4628e939b Change git_lfs install location to versions own repo
Task-number: QTQAINFRA-5573
Change-Id: I481a6d82a6fee2bb849369f98085ccded1ca54a8
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
2023-08-21 12:35:05 +03:00
Qt Submodule Update Bot
1f719c0f57 Update submodules on 'dev in qt/qt5'
Change-Id: I2a71909edd924f84abd669332e84cf58d2013a8c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-08-21 06:00:06 +00:00
Artem Dyomin
d16fb16c53 Disable vulkan and v4l2m2m for ffmpeg builds
Vulkan:
FFmpeg has a very draft support of vulkan in n5.x and n6.0,
it's promised to be introduced with some working functionality in n6.1.
We'll wait for 6.1, then test it. For now, let's get rid of the extra
dependency.

v4l2m2m:
It's a prospective hw acceleration on linux, especially on embeddded
platforms, but currently, in my experiments, it's not working with
both QtMM and ffmpeg cmd line.
Let's get rid of the not working codec. Hopefully, it'll be fixed
in the future.

Pick-to: 6.6 6.5
Change-Id: I2468f84ae2ec54043d2db83f1a9c08be8e4f509d
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
2023-08-17 11:33:29 +00:00
Aku Pietikäinen
2de9e59be6 Provisioning: macOS 14 x86_64 support
Change-Id: I369beb7a790fbb94bf2c1e9a823734434ea3b3da
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2023-08-16 16:06:23 +03:00
Matti Paaso
28e1b89e42 Change Java 8 into Java 11 for Windows x86
Jenkins dropped Java 8 support and Windows x86 is still used in
packaging and RTA.

Pick-to: 6.6 6.5 6.4 6.2
Change-Id: I001aacd38147a21944ecaa7223414226a6c500ff
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2023-08-16 07:37:08 +03:00
Fredrik Ålund
7200dcc016 Fix provisioning script for Mimer SQL on Windows
When building on Windows in the CI environment the Mimer SQL libraries
where not found. The updated script set an environment variable that is
is when building the QtSql Mimer SQL plugin

Fixes: QTBUG-111219
Pick-to: 6.6
Change-Id: Id486a5a3b37d90cd19180f7900456eeae910d1de
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2023-08-15 10:11:50 +00:00
Qt Submodule Update Bot
805033551b Update submodules on 'dev in qt/qt5'
Change-Id: I8b6dc19221b03ba3058996cf9b6605f165e0787b
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-08-14 19:57:42 +00:00
Elias Toivola
29b68ab740 Provisioning: Enable SSH in OpenSUSE 15.4
Task-number: QTQAINFRA-5628
Change-Id: I0dadf72d1c071cd24240de86cdd68a2c71b58b80
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2023-08-14 10:58:01 +03:00
Artem Dyomin
76f4cebd21 Add libvaapi to the ffmpeg build on Linux x86_64
We need to provide hw acceleration in qtmultimedia linux packages,
vaapi interface is already integrated to the module.

To be described in QtMM documentation.

Pick-to: 6.6 6.5
Change-Id: I60fcc0b43e5800b7dc5621bfb835c72237fd9b02
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
2023-08-12 15:58:25 +00:00
Amir Masoud Abdol
2f8168436d Provisioning: Update 7zip
Vcpkg needs a newer 7zip, and although it can automatically download,
install and use a newer version, it is better and safer if we can
provide the newer 7zip, and satisfy this requirement.

Change-Id: If9eda0cb6e2a884647a41572e18f9814cb48e0a0
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-08-12 06:30:54 +02:00
Amir Masoud Abdol
4f2a7e6989 Remove the leftover of the already renamed qtci-macos-11.0-x86_64
The platform has already been renamed to `qtci-macos-11-x86_64`, and
this is most likely a leftover.

Change-Id: I431a4c05104788d9b4221de8bafcf122a97eee14
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-08-12 06:30:47 +02:00
Amir Masoud Abdol
12a3ab0059 Update emsdk_windows_3_1_37.zip SHA1
Amends 13c53ef79f

Pick-to: 6.6
Change-Id: I941301daf06f92284d05a84f01b8e97f33c63891
Reviewed-by: Mikołaj Boc <Mikolaj.Boc@qt.io>
2023-08-12 06:30:39 +02:00
Toni Saario
09b407ce19 Fix qsr rhel 8.4 includes
Id has since changed to 8.6. Coin now detects faulty includes and
bails out if some includes are not found.

Change-Id: I2a07931c80b0878d5ace26c7ad8c444d11678a0e
Reviewed-by: Teemu Holappa <teemu.holappa@qt.io>
2023-08-10 09:18:42 +03:00
Matti Paaso
54eb300535 Change icu version into 73.2
Task-number: QTQAINFRA-5654
Change-Id: I93e671447569ff2c34204b645f39c8b4ec841ac6
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2023-08-10 06:41:26 +03:00
Matti Paaso
9a94ba93db Add tqtc-qtsdk.yaml file
Pkg Jenkins wants to use tqtc-qtsdk repository to get machines
from Coin.

Task-number: QTQAINFRA-5501
Pick-to: 6.6 6.5 6.4 6.2
Change-Id: Ief782a4808b7484e456c6e7ca3d156aba8dabdd9
Reviewed-by: Antti Kokko <antti.kokko@qt.io>
2023-08-07 13:44:59 +03:00
Simo Fält
ca17f43f26 Revert "COIN: Disable linux on arm config again"
This reverts commit 82327bfc4d.

Reason for revert: There are two hosts up and running

Change-Id: I388110f581e5040019448b410ea93747154e0efd
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2023-08-04 05:48:17 +00:00
Alexey Edelev
fc257d16aa Enable ProtobufWellKnownTypes build for iOS
Specify QT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR that points to the
host protobuf include directory, to grab the required .proto files.

Task-number: QTBUG-115582
Pick-to: 6.6
Change-Id: I4e8b3043b105b05799921ac9a943f414718c1d09
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-08-03 11:43:53 +02:00
Allan Sandfeld Jensen
77e5ed942b Update requires packages for SLES for WebEngine
Fixes: QTBUG-115722
Pick-to: 6.6
Change-Id: I563879a4fd73f99b5d0c275e0c66fc05c7d833a3
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2023-08-02 20:21:38 +00:00
Alexey Edelev
bde2b6e0eb Allow building ProtobufWellKnownTypes on WASM packaging platform
Specify QT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR that points to the
host protobuf include directory, to grab the required .proto files.

Task-number: QTBUG-115582
Pick-to: 6.6
Change-Id: I3184439d92c8b79c9dc78a117584f7cf56b9eb97
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Konrad Kujawa <konrad.kujawa@qt.io>
2023-08-02 12:56:37 +02:00
Assam Boudjelthia
6a205068bf Android: use correct version in multi-abi tests target name
The target uses RHEL 8.6 not 8.4.

Change-Id: Ic2ec714032b1c572f4ac88fb400a9bc65f0af61f
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-08-01 13:35:34 +03:00
Ivan Solovev
2ed9f566c1 Update californium docker container
The californium docker container was based on californium 1.0.0, which
is a very old release. This results in some SSL-related errors when
running the Qt CoAP tests in the CI.

This patch updates the docker container. Instead of a custom fork of
a californium server, we use 3.8.0 release tag, and apply a custom
patch locally.
A similar docker container is already uploaded to DockerHub and used
in Qt CoAP examples.

Task-number: QTBUG-114798
Pick-to: 6.6 6.5
Change-Id: I07346f69a6790b4ae648e073440d68f28668cdd0
Reviewed-by: Sona Kurazyan <kurazyan.sona@gmail.com>
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
2023-08-01 11:25:28 +02:00
Ville-Pekka Karhu
7863f9974c Replace macOS 12 ARM with macOS 13 ARM as a build target
Change-Id: I3c05bf3d33e3360b453417f48e7c7575abde837b
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2023-08-01 12:25:24 +03:00
Assam Boudjelthia
2e96d4eefa Android: Add missing ANDROID_EMULATOR param to Multi-ABI test target
The Multi-ABI targets run a subset of Android tests but the target
doesn't explicitly set the name of the Android emulator to run, so it
was defaulting to Android 6 because the CI Android emulator runner
script defaults to that. The latter is going change to be more explicit,
so this needs to be explicit also.

Pick-to: 6.6 6.5
Change-Id: Ifd5ddd5b5cf3b7a1b275f5a7b1252a21ae3165bc
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-08-01 07:43:46 +00:00
Assam Boudjelthia
1c27f95d01 COIN/Android: improvements to Android Emulator launcher script
* Don't fail silently if the AVD name is not provided.

* Add the following flags to the emulator:
    * -no-window: since we don't really interact with emulator is CI
    * -no-boot-anim: no need to run the boot animation
    * -no-snapshot-load: removed because it serves nothing
    * -detect-image-hang -restart-when-stalled: helps recover the
      emulator from freezes during execution
    * Disable warning dialog about nested virtualization.

* Terminate the emulator instance if the script expects it to not be
  running, i.e. save time by attempting to terminate and move on with the
  script execution instead of simply failing and doing nothing.

* Add a timeout to the blocking call 'adb wait-for-device'
* Save logcat output to a file for quick access to the logs,
  and put both emulator and logcat files under testresults folder,
  which would them available in cases of failure without needing to
  create a VM for debugging to get the logs.

Task-number: QTQAINFRA-5596
Fixes: QTQAINFRA-4628
Change-Id: I751bbec14980a452e02066f4e79d76fe6f3c018f
Reviewed-by: Simo Fält <simo.falt@qt.io>
2023-08-01 10:43:42 +03:00
Assam Boudjelthia
f7f7c9f915 COIN/Android: Use -avd param to avoid appending '@' to AVD name
Using -avd emulator param saves us from using the '@' character
at the start of the name (which I didn't do few times, and was
faced with an unresponsive emulator and not immediately seeing
the problem in a debug vm).

Task-number: QTQAINFRA-5596
Change-Id: I3863dc312fd33dae78eeb3dd02f5fb16ca79d72b
Reviewed-by: Simo Fält <simo.falt@qt.io>
2023-08-01 10:43:38 +03:00
Assam Boudjelthia
0da9d348cf Revert "Coin: temporarily set ubuntu-22.04-documentation targets insignificant"
This reverts commit c0cf9e7b28.

Reason for revert: Chromium update is done in qtwebenigne.

Change-Id: Ic8d9b0f5aadbaa8be3d89e08a770c5824a7a4da4
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-07-31 07:31:23 +00:00
Qt Submodule Update Bot
38ee3dd2cf Update submodules on 'dev in qt/qt5'
Change-Id: I36e433216a646ed86338f0aa6a748b67cc46d805
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-07-29 02:33:05 +00:00
Ville-Pekka Karhu
6f24602eb4 Provisioning: Add macOS 14 ARM support
Task-number: QTQAINFRA-5643
Change-Id: Ie98a77063c59033ccffa397aca4dbc349e624450
Reviewed-by: Simo Fält <simo.falt@qt.io>
2023-07-28 11:14:26 +03:00
Alexey Edelev
1cd7c2ab24 Use the correct NON_QTBASE_TARGET_CMAKE_ARGS for windows arm64 platform
Amends b028d7499f

Change-Id: I1b0ed42cbf7c738e6423f8af349bd906b5437e87
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-07-27 09:45:58 +02:00
Qt Submodule Update Bot
68318c4636 Update submodules on 'dev in qt/qt5'
Change-Id: Ie766529ec00b837a45d5ba323d50bb9aba6429f4
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-07-27 05:26:08 +00:00
Alexandru Croitor
3ed21fda1a CMake: Remove feature workarounds now that we ignore strawberry perl
Now that we ignore the libraries shipped within the strawberry perl
distribution, we can remove the explicit FEATURE_system_foo flags
because we'll default to using the qt provided libraries by default.

Pick-to: 6.5 6.6
Task-number: QTBUG-113726
Change-Id: I0ef7ae2afd489107a4d5b2c4f859e1e3590ca5e9
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-07-26 08:27:09 +02:00
Alexandru Croitor
9b7dcd94df CMake: Ignore libraries provided by strawberry perl
Because we have strawberry perl's bin dir in the PATH, CMake considers
that a find_package prefix, and thus finds includes and libraries
that are shipped with strawberry perl.
That causes problems because the 3rd party runtime libraries are not
installed by the Qt installer, so any Qt modules / plugins that depend
on the 3rd party libraries will fail to load.

Use CMake 3.23's CMAKE_IGNORE_PREFIX_PATH option to tell it to ignore
strawberry headers and libraries.

We need to repeat it both for qtbase and non-qtbase args, to ensure
the libraries are not picked up for all of Qt.

This is a more general fix for problems like the one fixed by
a97bdde4d4

Pick-to: 6.5 6.6
Task-number: QTBUG-113726
Change-Id: I706bf9ac945a47dc809bbb6eb9eda4ca93f84695
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-07-26 08:27:08 +02:00
Assam Boudjelthia
8b6151e23d Coin: install specific version of openjdk 11
Android's sdkmanager seems to fail with openjdk 11 version 11.0.20.0.8.
The previous version 11.0.19.0.7 seems to work. the error is failure to
find /usr/lib/jvm/java-11-openjdk-11.0.20.0.8-2.el8.x86_64/lib/tzdb.dat.

This is more of a workaround for now to unblock provisioning.

Change-Id: Ib50b497c6e8b6bffd0739bf665ab1deb5bd51666
Reviewed-by: Simo Fält <simo.falt@qt.io>
2023-07-25 15:53:17 +03:00
Allan Sandfeld Jensen
d1552c26a8 Add libva-devel and gbm-devel packages for qtwebengine
Will be needed in Qt 6.6 for VA-API

Pick-to: 6.6
Change-Id: I4389ee03eb85a05f9bce37a0eb4629d30e1aefd1
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-07-25 14:53:14 +02:00
Qt Submodule Update Bot
00db7c2cbb Update submodules on 'dev in qt/qt5'
Change-Id: I77972fba7a0dfd34969b79c46d76dcdab719afa9
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-07-25 12:53:10 +00:00
Assam Boudjelthia
c0cf9e7b28 Coin: temporarily set ubuntu-22.04-documentation targets insignificant
... and the targets that depend on it, to deal with a cyclic dependency
in qtwebengine chromium update.

Change-Id: If5f64aed4d5e6ce34b8c6e58b3657fc3a438cb8c
Reviewed-by: Simo Fält <simo.falt@qt.io>
2023-07-25 12:53:04 +00:00
Assam Boudjelthia
8d199fd701 COIN/ANDROID: Move android_emulator_launcher.sh to qt5.git
The android emulator launcher script is mainly used in CI and thus
makes sense to be moved there. This also makes it easier to make changes
without having to wait for submodule updates.

The env var ANDROID_EMULATOR_RUNNER points to the path of the runner
script, and can be used by qtbase.

qt5.git part of the change.

Task-number: QTQAINFRA-5596
Change-Id: If253e0a5f14d67526995561b1859312e61efdfff
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-07-25 15:52:58 +03:00
Michal Klocek
9de403d32f Install 'dataclasses' python module for RHEL-8.8 as well
Install missing 'dataclasses' module for python.
It is required for licenses generation for webengine.

Make pip call after pip 'upgrade'.

Change-Id: Iedced50fe644c1711ee42d4940f70a24a070c4df
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
2023-07-25 15:52:54 +03:00
Dominik Holland
b87b44168c Provisioning: Remove the special wheel cache for python3 packages
It should be replaced with a global pip cache in the long run.
Removing it should make the maintenance of the required packages easier
as it can be done within the modules instead of in the global
provisioing scripts.

Pick-to: 6.6
Change-Id: Ief9832a8a640ce98325cda015d0a9e89d6cb16af
Reviewed-by: Simo Fält <simo.falt@qt.io>
2023-07-25 15:52:51 +03:00
Simo Fält
8b8bd315f9 Make android-13-RHEL-8.8-x86_64-on-linux test as insignificant
The config is currently blocking CI.

Task-number: QTQAINFRA-5606
Change-Id: Iebe1e11cbae0405fa1d1acd05581d62058ee8a06
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2023-07-24 13:57:43 +03:00
Marc Mutz
75486e8c60 Revert "Enable Unity Build on Qt Base for macOS -developer-build"
This reverts commit 6f3ff63da5.

Unity builds have not been properly tested. In particular, they have
not been tested with an "infinite" batch-size (e.g. 100,000) to
reasonably ensure that any batch-size will work and any _new_ .cpp
files being added to SOURCES will break unity-build only in a way
that's fixable by changes in _that_ .cpp file.

The CI is not a lab for experiments. A unity-related failure has
brought the branch:dev CI to a screeching halt for a day on
2023-07-20, so we're disabling the use of it on the CI until it has
been properly tested in nightly builds and locally.

Task-number: QTBUG-109394
Change-Id: Ib1605c02bc088942acc7dfe90b3b0e39f46a41e3
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2023-07-21 11:41:29 +02:00
Marc Mutz
bd1fda1410 Revert "Enable Unity Build on QtBase for 3 Configurations"
This reverts commit 7b7dd85ca6.

Unity builds have not been properly tested. In particular, they have
not been tested with an "infinite" batch-size (e.g. 100,000) to
reasonably ensure that any batch-size will work and any _new_ .cpp
files being added to SOURCES will break unity-build only in a way
that's fixable by changes in _that_ .cpp file.

The CI is not a lab for experiments. A unity-related failure has
brought the branch:dev CI to a screeching halt for a day on
2023-07-20, so we're disabling the use of it on the CI until it has
been properly tested in nightly builds and locally.

Task-number: QTBUG-109394
Change-Id: I0933d912215e8303e982c8649bc448103568ea65
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2023-07-21 11:41:26 +02:00
Marc Mutz
4ffec4a809 Revert "Enable Unity Build on Qt Base for LLVM, and MinGW on Windows"
This reverts commit d1496ac752.

Unity builds have not been properly tested. In particular, they have
not been tested with an "infinite" batch-size (e.g. 100,000) to
reasonably ensure that any batch-size will work and any _new_ .cpp
files being added to SOURCES will break unity-build only in a way
that's fixable by changes in _that_ .cpp file.

The CI is not a lab for experiments. A unity-related failure has
brought the branch:dev CI to a screeching halt for a day on
2023-07-20, so we're disabling the use of it on the CI until it has
been properly tested in nightly builds and locally.

Task-number: QTBUG-109394
Change-Id: I935879b6b8a9602fcfbfcaa1d38b0b08254e0f59
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2023-07-21 11:41:22 +02:00
Alexey Edelev
b028d7499f Disable native_grpc feature for "Packaging" platforms
Native gRPC channels rely on the reference gRPC implementation that
doesn't guarantee the ABI compatibility between different versions. We
shouldn't link libQt6GRPC to any 3rdparty libraries that are not
delivered as part of Qt when make packaging builds in CI.

Task-number: QTBUG-115055
Task-number: QTBUG-110107
Pick-to: 6.6 6.5
Change-Id: Ie099b0af833d87308179d3b4eecc47738078010c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-07-20 17:13:40 +00:00
Assam Boudjelthia
f769f7296d COIN/ANDROID: Add WarningsAreErrors to RHEL 8.8
Amends 00e49b4beb. RHEL 8.8 targets
were added recently and the original change didn't account for that.

Change-Id: I97c0297ab4637efe075f11aabf08c0b41540beb6
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2023-07-20 20:13:40 +03:00
Assam Boudjelthia
f6d8a7ddb9 Add file names to .gitignore
* CMake's .user files created by Qt Creator.
* .vscode Visual Studio Code config folder.
* .DS_Store macOS files.
* In tree build folders.

Pick-to: 6.6 6.5
Change-Id: Id23358759c1e18d72fd88c399732ea58693af09d
Reviewed-by: Simo Fält <simo.falt@qt.io>
2023-07-20 20:13:40 +03:00
Marc Mutz
d316e8dff4 Revert "Set -unity-build-batch-size to 16"
This reverts commit 7409b0a6f3.

Reason for revert: Breaks qtbase builds.

Change-Id: I225ae701c211a0af30b1a03a8204ce47b6e91000
Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io>
2023-07-20 16:04:56 +00:00
Amir Masoud Abdol
7409b0a6f3 Set -unity-build-batch-size to 16
This changes the -unity-build-batch-size of the platforms that we are
experimenting with from 32 to 16.

Change-Id: Iefc70b482ae86313d2b2d10ff1adb862eb7e2138
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-07-19 20:57:44 +02:00
Konrad Kujawa
8db9f452d0 Add missing CMake arg to macOS developer build on ARM
Add missing OPENSSL_ROOT_DIR to macos-12-arm64-developer-build
CMAKE_ARGS.
OPENSSL_ROOT_DIR is required to run QtGRPC auto tests.
Add missing provisioning script to macOS 13 x86_64.

Fixes: QTBUG-115077
Change-Id: Ia51d6820037e93d5eddb06a2fdedfcfa87ee094e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-07-19 08:58:18 +02:00
Allan Sandfeld Jensen
e8f9c3d1cf Update node.js on RHEL 8.8 as well
Last update only touched RHEL 8.6 and 9.0

Pick-to: 6.6
Change-Id: I0c084edc08f3c833daa25c393674bd51eac4ea6e
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
2023-07-19 07:08:38 +02:00
Topi Reinio
dfc9955a95 Re-enable documentation testing in CI
Commit 204ea530 disabled documentation testing, as 'TestDocs'
is a testing-only step, and it was combined with 'DoNotRunTests'.

Move the feature under the new test-only configurations.

Pick-to: 6.6 6.5
Change-Id: Ie458495904b102fa50bc18ea39167ecc89b7c03b
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2023-07-15 21:14:35 +00:00
Alexandru Croitor
c971db7e5b CMake: Don't load QtAutoDetect for top-level standalone tests
We don't load it for qtbase standalone tests, we shouldn't for
top-level builds as well.

This brings us one step closer to fixing top-level standalone tests.

Pick-to: 6.5 6.6
Change-Id: I7c2710e61951f6789fea63422bc575a1ac611cdc
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-07-08 08:49:19 +02:00
Simo Fält
497bd051e4 Upgrade MSVC 2022 and 2019 for Windows 11 22H2
Change upgrades also build tools for both visual studios

MSVC 2022: 17.6.4
MSVC 2019: 16.11.27

Change-Id: Icb847704636467d133fa578e46e93b6973aeb0a9
Pick-to: 6.5 6.6
Task-number: COIN-1059
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2023-07-04 21:33:41 +03:00
Amir Masoud Abdol
d1496ac752 Enable Unity Build on Qt Base for LLVM, and MinGW on Windows
Enable unity build for LLVM, and the last MinGW platforms on Windows.

Change-Id: I9f36ca8b0268f13886e319ea3211744fc377bc69
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-07-04 13:56:45 +02:00
Amir Masoud Abdol
6f3ff63da5 Enable Unity Build on Qt Base for macOS -developer-build
In order to monitor, and compare the performance of unity build, this
patch enables the unity build on `macos-12-arm64-developer-build`
and `macos-12-arm64-developer-build` platforms.

Change-Id: I4d8f864a821cf4cefcc10015950d0e994c7ba8a4
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-07-04 13:56:39 +02:00
Qt Submodule Update Bot
58f39595a7 Update submodules on 'dev in qt/qt5'
Change-Id: Ie4d3aafd362263d1f46f623a82a2cd5ba87a15f6
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-07-04 06:28:36 +00:00
Fredrik Ålund
af7c74313d Add missing provisioning scripts for Mimer SQL for RHEL 8.6 and RHEL 8.8
The provisioning scripts for Mimer SQL is missing in RHEL 8.6 and
RHEL 8.8 and therefore the Mimer SQL QtSql plugin is not built

Fixes: QTBUG-111219
Pick-to: 6.6
Change-Id: I9c12b7d94ab7b047ed08b46043ad16586968ecfd
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2023-07-03 22:51:18 +02:00
Mikolaj Boc
d669e6faa2 Enable tests for webassembly-linux-thread-asyncify
This commit enables tests in CI for Wasm platform.

Fixes: QTBUG-109786
Change-Id: Ia44ab6ce3d5092fc90b07759d4d1a2c57edbf512
Reviewed-by: Mikołaj Boc <Mikolaj.Boc@qt.io>
2023-07-03 09:12:40 +02:00
Heikki Halmet
6341108c6f Upgrade MSVC 2022 and 2019 for Windows 10 22H2
Change upgrades also build tools for both visual studios

MSVC 2022: 17.6.4
MSVC 2019: 16.11.27

Pick-to: 6.5 6.6
Task-number: COIN-1059
Change-Id: Id212d396a58827d5794158a4b314ec65ad5a3f47
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
2023-07-03 08:10:23 +02:00
Assam Boudjelthia
00e49b4beb Android: Add WarningsAreErrors to Android targets
To avoid warnings accumulating without being noticed.

Change-Id: I9979560a708c08f21966036b37d32a976fb75f8d
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
2023-06-30 09:48:55 +03:00
Simo Fält
86cb676f3c Add qtmultimedia as a recommended dependency for qt3d
Qt CI requires qtmultimedia binaries to create debian packages.

Change-Id: Ib29cefe15db7f32fb9457320d899a4996bda6cba
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit 6bedd9ec81)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2023-06-30 06:48:52 +00:00
Qt Submodule Update Bot
d6ec2355f1 Update submodules on 'dev in qt/qt5'
Change-Id: I37d5f623a681a934ee0ebeb0302478c596495f92
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-06-30 06:48:52 +00:00
Qt Submodule Update Bot
896b1e23b7 Update submodules on 'dev in qt/qt5'
Change-Id: Ifd193f92b04b725f7c5956ff52f700623e048cb2
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2023-06-28 16:07:01 +00:00
Tor Arne Vestbø
2802d1debb Remove CMake and Ninja version requirements from README
There are many details, as documented by the online documentation.

Task-number: QTBUG-114869
Pick-to: 6.6
Change-Id: I3b5b6679264a7cb0f5deddad3385af9bd46693f8
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-06-26 16:38:02 +02:00
Tero Heikkinen
5cca2b7ba4 Add Red Hat 8.8 to CI
RHEL 8.8 will be added as parallel with RHEL 8.6 until packaging
site gives green light to remove the older Red Hat version.

Removing also some obsolete package installations.

Task-number: QTQAINFRA-5600
Change-Id: Ie77500a805a89db9019b5347539e662bc016af59
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2023-06-26 15:50:30 +03:00
Amir Masoud Abdol
7b7dd85ca6 Enable Unity Build on QtBase for 3 Configurations
Enabling the -unity-build for qtbase for INTEGRITY, Windows 10/11 MinGW.
For now, we need to explicitly disable it for other modules, as
QT_UNITY_BUILD is being propagated by `QtBuildInternalsExtra` to other
modules.

Task-number: QTBUG-109394
Change-Id: I38525706149eadba91bdebc78d502fd5f42f69aa
Reviewed-by: Alexandru Croitor (OOO) <alexandru.croitor@qt.io>
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2023-06-24 15:29:46 +00:00
Jøger Hansegård
c4d26fe1d2 Enable rebuilding FFMPEG for MSVC without deleting lib files first
To simplify testing modifications to the FFMPEG library, it is nice to
be able to rebuild FFMPEG without having to manually delete lib files
first. This change makes this possible because it uses powershell
Move-Item instead of Rename-Item to rename .o files to .lib files.
Move-Item's -Force argument allows renaming files to destination that
already exists.

Pick-to: 6.5 6.6
Change-Id: I0a56776d38c37d38d1cd74b5186881fc955d51f0
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-06-24 15:29:41 +00:00
Assam Boudjelthia
501087faf6 Android: fix outdated target id names in tqtc-android-automotive target
Amends ef12163e25.

Task-number: QTQAINFRA-5431
Pick-to: 6.6 6.5 6.5.2
Change-Id: Ifa8446b1432223924d8af15322b1982bc33fa29c
Reviewed-by: Toni Saario <toni.saario@qt.io>
Reviewed-by: Zoltan Gera <zoltan.gera@qt.io>
Reviewed-by: Petri Virkkunen <petri.virkkunen@qt.io>
2023-06-24 18:29:36 +03:00
Piotr Wierciński
13c53ef79f wasm: update emscripten to 3.1.37
Qt 6.6 will require emscripten 3.1.37

Pick-to: 6.6
Change-Id: I24d172b9ba055c690274a99af109b50cd2f79b88
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mikołaj Boc <Mikolaj.Boc@qt.io>
2023-06-24 17:29:31 +02:00
Qt Submodule Update Bot
c77a1f7e4c Update submodules on 'dev in qt/qt5'
Change-Id: I9f0190346f594318341964896bf80d6caaa33f4b
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2023-06-22 09:11:46 +00:00
Heikki Halmet
ac33d86e9a Add macOS 13 x86_64 to CI as build and test target
macOS 12 x86_64 will be replace with macOS 13. Tests will be still run
on macOS 12

Let's keep same Xcode version (14.2) than older macOS (12) has

Task-number: QTBUG-104210
Change-Id: If3e06834156196917001f83ca391a66a6c78e84a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2023-06-20 09:32:57 +00:00
Tor Arne Vestbø
8214de5e0e Remove conan profiles
The conan experiment has ended, and the files are only bitrotting
nowadays.

Pick-to: 6.5 6.6
Change-Id: Iefdc6fa1a48bb4062b15cf035f372a2d44bddda9
Reviewed-by: Toni Saario <toni.saario@qt.io>
2023-06-20 11:32:52 +02:00
Assam Boudjelthia
4e59702b14 Coin:Android: unify and update OpenSSL provisioning scripts
Use the same prebuilt pacakges for all platforms since the prebuilt libs
are going to be used for the target and they are not tied to the host.

Pick-to: 6.6 6.5
Task-number: QTBUG-110025
Change-Id: I2c79722989902b16883b31cbc6e140855239fcc8
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2023-06-20 12:32:48 +03:00
Allan Sandfeld Jensen
d764e8fe39 Update node.js on Linux/macOS
Qt WebEngine 6.6 need 14.19+

Pick-to: 6.6
Change-Id: Idf2d54fcdc55762cd9d8cfe5248858bd00afe89c
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2023-06-20 11:32:44 +02:00
Allan Sandfeld Jensen
de0104b3ed Update node.js on Windows to 18.16.0
Needs to be at least 14.19 for Qt WebEngine 6.6

Pick-to: 6.6 6.5
Change-Id: I1d4b8b241d18eeeffa1b2a9eed0e85cbf54e49ba
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2023-06-20 11:32:40 +02:00
Simo Fält
82327bfc4d COIN: Disable linux on arm config again
The only host is down for now.

Pick-to: 6.6 6.5
Change-Id: I82cc9461a16d054da6611f2e2ee0be6426755660
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2023-06-15 07:31:25 +00:00
Heikki Halmet
deb86a4fb8 Remove macOS 13 x86_64 nightly run
macOS 13 x86_64 will be added to blocking CI

Change-Id: I1d6fa17d3274c3c635a29d671fff1538ba17ddf5
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2023-06-14 07:19:50 +00:00
Jani Heikkinen
21f55b70ed Add missing optional dependency for qtgrpc submodule
qtgrpc recommends qtdeclarative; add that one in .gitmodules as well;
the dependency were added in the module in
681d104f0d03f97681536d3691d170d7c06aab2b

Pick-to: 6.6 6.5
Change-Id: I325abc8453d26cf0d75425e806e3e0e7b182070a
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2023-06-14 07:19:46 +00:00
Allan Sandfeld Jensen
14f7603e91 Fix SetEnvVar for Debian
Pick-to: 6.6 6.5
Change-Id: I4152575cc071ea7f51e102a3807b05ed9f89d2fd
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2023-06-14 09:19:43 +02:00
Heikki Halmet
2ae9a6c099 Provisioning: Ignore unmount result with Squish script
Unmounting fails sometimes which cause provisoning failure.
Let's ignore the result

Task-number: QTQAINFRA-3709
Pick-to: 6.6 6.5 6.2 5.15
Change-Id: Ifc321c8ef9942f9f51ec622370aadbbbb862d262
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2023-06-14 07:19:40 +00:00
Kai Köhne
c230f55f20 Provisioning: Remove QDOC_USE_STATIC_LIBCLANG
Remove handling of QDOC_USE_STATIC_LIBCLANG environment
variable. The variable is not used by the Qt 6 build
system.

Change-Id: I8af68382caea2864543a3d6e6ed2922823a2e71d
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2023-06-12 12:10:49 +00:00
Casimir Saastamoinen
ba72dbb10e Install openssh win32 and win64
Task-number: COIN-713
Change-Id: I78c88edf4d1560f4a85024832fb158480ab268d0
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
2023-06-12 15:10:45 +03:00
Lucie Gérard
eecfb19548 Use SPDX license identifiers
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
License files are organized under LICENSES directory.

Pick-to: 6.5 6.6
Task-number: QTBUG-67283
Task-number: QTBUG-108364
Change-Id: If26e4d35c780db4a7982bb84872b251dad24716e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2023-06-12 12:10:41 +00:00
Petri Virkkunen
3115ca5d17 Update Android Automotive emulator image in CI to use AAOS 12
Android 12 is the desired platform for most users, need to run our tests
on it instead of A11.

Task-number: QAA-1739
Change-Id: Iadfdfcbc97b062baa1c4ef6eb46e9e1af6e3478a
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
2023-06-12 15:10:37 +03:00
Joerg Bornemann
6c40b6160e init-repository: Fix wrong remote URLs in cloned submodules
The cloned submodules had a wrong origin remote URL if the origin remote
of the local qt5.git repository had a trailing slash.

Fix this by stripping the trailing slash when stripping the trailing
".git" from qt5.git's remote.

Pick-to: 6.5 6.6
Fixes: QTBUG-113793
Change-Id: I199b6e1915f67558ecfe69f7300d0f9ef0d4b232
Reviewed-by: Alexandru Croitor (OOO) <alexandru.croitor@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2023-06-12 12:10:34 +00:00
Jøger Hansegård
cf4eabc8c2 Add CMakeUserPresets.json to .gitignore
The CMakeUserPresets.json file can be used to simplify configuring Qt,
particularly with tools such as Visual Studio and Visual Studio Code.

As opposed to the CMakePresets.json, the CMakeUserPresets.json should
only contain user specific configurations, and should never be checked
into source code management system. Therefore it makes sense to ignore
it globally.

Pick-to: 6.5 6.6
Change-Id: I971d4505b302dc40e3dd33b6d4680c2067047c27
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2023-06-12 12:10:30 +00:00
Tony Sarajärvi
58ddf7133c Correct the domain of ci-files01-hki
It's hasn't been .intra.qt.io for quite some time, it
has worked through an alias we have on the DNS server.

Change-Id: I0bc17668dacfea64c276bb553e75e4be16e97659
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
2023-06-12 12:10:26 +00:00
Amir Masoud Abdol
bb13b7dadf Show an error when a submodule is missing, or misspelled
Stop the configuration and show an error if one of the submodules is
missing, or misspelled in `-submodules` option.

Pick-to: 6.5 6.6
Fixes: QTBUG-114133
Change-Id: I890d4f5f0614288a2be422f839e04a0086a58403
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Alexandru Croitor (OOO) <alexandru.croitor@qt.io>
2023-06-12 12:10:23 +00:00
Qt Submodule Update Bot
0949a55e23 Update submodules on 'dev in qt/qt5'
Change-Id: I1dfefef6938564d83c5aa4ce7717e25b48d6b9dd
Reviewed-by: Simo Fält <simo.falt@qt.io>
2023-06-09 12:33:20 +00:00
1297 changed files with 14621 additions and 23174 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:
#

9
.github/pull_request_template.md vendored Normal file
View File

@@ -0,0 +1,9 @@
## Qt contribution guidelines
We welcome contributions to Qt!
Note that all contributions to the Qt project are exclusively handled through the [Gerrit code review system](https://codereview.qt-project.org).
Read the
[Qt Contribution Guidelines](https://wiki.qt.io/Qt_Contribution_Guidelines) to learn more.

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

96
.gitmodules vendored
View File

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

View File

@@ -29,26 +29,38 @@ include(ECMOptionalAddSubdirectory)
qt_internal_top_level_before_build_submodules()
qt_internal_find_modules(known_submodules)
# Get submodule list if not already defined
if(NOT QT_BUILD_SUBMODULES)
if(DEFINED ENV{QT_BUILD_SUBMODULES})
set(QT_BUILD_SUBMODULES "$ENV{QT_BUILD_SUBMODULES}")
else()
qt_internal_find_modules(QT_BUILD_SUBMODULES)
set(QT_BUILD_SUBMODULES "${known_submodules}")
endif()
endif()
set(QT_BUILD_SUBMODULES "${QT_BUILD_SUBMODULES}" CACHE STRING "Submodules to build")
# Preliminary check if module should be skipped since -skip <module> or BUILD_<module>
# are provided.
set(explicitly_skipped_modules "")
foreach(module IN LISTS known_submodules)
if(DEFINED BUILD_${module} AND NOT BUILD_${module})
list(APPEND explicitly_skipped_modules ${module})
endif()
endforeach()
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()
qt_internal_sort_module_dependencies("${QT_BUILD_SUBMODULES}" QT_BUILD_SUBMODULES)
qt_internal_sort_module_dependencies("${QT_BUILD_SUBMODULES}" QT_BUILD_SUBMODULES
SKIP_MODULES ${explicitly_skipped_modules})
foreach(module IN LISTS QT_BUILD_SUBMODULES)
# Check for unmet dependencies
@@ -76,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}.")

8
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,8 @@
## Qt contribution guidelines
We welcome contributions to Qt!
Note that we cannot accept pull requests on GitHub. All contributions to the Qt project are exclusively handled through the [Gerrit code review system](https://codereview.qt-project.org).
Read the
[Qt Contribution Guidelines](https://wiki.qt.io/Qt_Contribution_Guidelines) to learn more.

View File

@@ -1,339 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

View File

@@ -1,674 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.

View File

@@ -1,704 +0,0 @@
This is the GNU General Public License version 3, annotated with The
Qt Company GPL Exception 1.0:
-------------------------------------------------------------------------
The Qt Company GPL Exception 1.0
Exception 1:
As a special exception you may create a larger work which contains the
output of this application and distribute that work under terms of your
choice, so long as the work is not otherwise derived from or based on
this application and so long as the work does not in itself generate
output that contains the output from this application in its original
or modified form.
Exception 2:
As a special exception, you have permission to combine this application
with Plugins licensed under the terms of your choice, to produce an
executable, and to copy and distribute the resulting executable under
the terms of your choice. However, the executable must be accompanied
by a prominent notice offering all users of the executable the entire
source code to this application, excluding the source code of the
independent modules, but including any changes you have made to this
application, under the terms of this license.
-------------------------------------------------------------------------
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.

View File

@@ -1,165 +0,0 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.
"The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.
A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".
The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:
a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or
b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license
document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:
a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.
c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.
1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.
e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.

File diff suppressed because it is too large Load Diff

View File

@@ -29,7 +29,7 @@ Windows:
1. Open a command prompt.
2. Ensure that the following tools can be found in the path:
* Supported compiler (Visual Studio 2019 or later, or MinGW-builds gcc 8.1 or later)
* Supported compiler (Visual Studio 2019 or later, or MinGW-builds gcc 11.2 or later)
* Python 3 ([https://www.python.org/downloads/windows/] or from Microsoft Store)
```
@@ -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.

View File

@@ -28,8 +28,8 @@ CommentPragmas: "^!|^:|^ SPDX-License-Identifier:"
# We want a space between the type and the star for pointer types.
PointerBindsToType: false
# We use template< without space.
SpaceAfterTemplateKeyword: false
# We generally use "template <" with space.
SpaceAfterTemplateKeyword: true
# We want to break before the operators, but not before a '='.
BreakBeforeBinaryOperators: NonAssignment
@@ -106,3 +106,9 @@ AlignEscapedNewlines: Left
# initializer list in list-initialization.
SpaceBeforeCpp11BracedList: false
---
# Use the Google-based style for .proto files.
Language: Proto
BasedOnStyle: Google
IndentWidth: 4
ColumnLimit: 100

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

@@ -0,0 +1,16 @@
# 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:
# cmake [-DQT_BUILD_SUBMODULES="<repo;..>"] [-BUILD_<repo>=<TRUE|FALSE>] \
# -P <path/to>/qt6/cmake/QtSortModuleDependencies.cmake
cmake_minimum_required(VERSION 3.16)
include(${CMAKE_CURRENT_LIST_DIR}/QtTopLevelHelpers.cmake)
qt_internal_collect_modules_only(result "${QT_BUILD_SUBMODULES}")
list(JOIN result " " result)
message("${result}")

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.
#
@@ -111,10 +184,13 @@ endfunction()
#
# NORMALIZE_REPO_NAME_IF_NEEDED Will remove 'tqtc-' from the beginning of submodule dependencies
# if a tqtc- named directory does not exist.
#
# 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(multiValueArgs PARSED_DEPENDENCIES)
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})
# Clear the property that stores the repositories we've already seen.
@@ -122,10 +198,10 @@ function(qt_internal_resolve_module_dependencies module out_ordered out_revision
set_property(GLOBAL PROPERTY _qt_internal_seen_repos)
endif()
# Bail out if we've seen the module already.
# Bail out if we've seen the module already or it was skipped explicitly from command line.
qt_internal_resolve_module_dependencies_set_skipped(FALSE)
get_property(seen GLOBAL PROPERTY _qt_internal_seen_repos)
if(module IN_LIST seen)
if(module IN_LIST seen OR module IN_LIST arg_SKIP_MODULES)
qt_internal_resolve_module_dependencies_set_skipped(TRUE)
return()
endif()
@@ -141,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()
@@ -171,11 +279,30 @@ 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})
endif()
qt_internal_resolve_module_dependencies(${dependency} dep_ordered dep_revisions
REVISION "${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)
list(APPEND ordered ${dep_ordered})
@@ -197,20 +324,49 @@ 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 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")
endforeach()
set(extra_args "")
if(arg_SKIP_MODULES)
set(extra_args SKIP_MODULES ${arg_SKIP_MODULES})
endif()
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}
)
# Drop "all_selected_repos" from the output. It depends on all selected repos, thus it must be
@@ -505,3 +661,41 @@ function(qt_internal_foreach_repo_run)
)
message("Successes: ${count_success}")
endfunction()
# The function collects repos and dependencies that are required to build
# repos listed in ARGN. If the BUILD_<repo> is defined the 'repo' will be
# excluded from the list.
function(qt_internal_collect_modules_only out_repos)
set(initial_modules "${ARGN}")
get_filename_component(qt5_repo_dir "${CMAKE_CURRENT_LIST_DIR}/.." ABSOLUTE)
# Overriding CMAKE_CURRENT_SOURCE_DIR is ugly but works
set(CMAKE_CURRENT_SOURCE_DIR "${qt5_repo_dir}")
if(NOT initial_modules)
qt_internal_find_modules(initial_modules)
endif()
qt_internal_sort_module_dependencies("${initial_modules}" ${out_repos})
foreach(module IN LISTS ${out_repos})
# Check for unmet dependencies
if(DEFINED BUILD_${module} AND NOT BUILD_${module})
list(REMOVE_ITEM ${out_repos} ${module})
continue()
endif()
get_property(required_deps GLOBAL PROPERTY QT_REQUIRED_DEPS_FOR_${module})
get_property(dependencies GLOBAL PROPERTY QT_DEPS_FOR_${module})
foreach(dep IN LISTS dependencies)
set(required FALSE)
if(dep IN_LIST required_deps)
set(required TRUE)
endif()
if(required AND DEFINED BUILD_${dep} AND NOT BUILD_${dep})
set(BUILD_${module} FALSE)
list(REMOVE_ITEM ${out_repos} ${module})
break()
endif()
endforeach()
endforeach()
set(${out_repos} "${${out_repos}}" PARENT_SCOPE)
endfunction()

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

@@ -2,11 +2,11 @@ Version: 2
Configurations:
-
Id: 'opensuse-15.5-host-asan'
Template: 'qtci-linux-openSUSE-15.5-x86_64-51'
Template: 'qtci-linux-openSUSE-15.5-x86_64-52'
Compiler: 'GCC'
Features: ['Sccache', 'WarningsAreErrors', 'UseConfigure', 'UseAddressSanitizer']
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

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

View File

@@ -12,25 +12,25 @@ Configurations:
Id: 'ubuntu-22.04-documentation'
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'Documentation', 'TestDocs', 'UseConfigure', 'DoNotRunTests']
Configure arguments: '-make examples -developer-build -c++std c++20 -linker gold -no-warnings-are-errors -qtlibinfix TestInfix -qtnamespace TestNamespace'
Environment variables: ['NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}']
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}} -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
-
Id: 'ubuntu-22.04-documentation-x11-tests'
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'TestOnly']
Features: ['Sccache', 'TestDocs', 'TestOnly']
Platform dependency: 'ubuntu-22.04-documentation'
-
Id: 'ubuntu-22.04-x11-tests'
@@ -38,174 +38,177 @@ 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-51'
Template: 'qtci-linux-openSUSE-15.5-x86_64-52'
Compiler: 'GCC'
Features: ['Sccache', 'WarningsAreErrors', 'UseConfigure']
Configure arguments: '-nomake examples -developer-build'
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}} -DFEATURE_native_grpc=OFF',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
'gRPC_ROOT={{.Env.gRPC_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}} -DFEATURE_native_grpc=OFF',
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
'gRPC_ROOT={{.Env.gRPC_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}}',
'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}}',
'gRPC_ROOT={{.Env.gRPC_ROOT_msvc}}',
]
-
Id: 'windows-11_22h2-msvc2022'
Template: 'qtci-windows-11_22H2-x86_64-51'
Id: 'windows-11_23H2-msvc2022'
Template: 'qtci-windows-11_23H2-x86_64-53'
Compiler: 'MSVC2022'
Features: ['Sccache', "DebugAndRelease", 'UseConfigure']
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}}',
'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}}',
'gRPC_ROOT={{.Env.gRPC_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'
Id: 'windows-11_22h2-arm64-msvc2022'
Template: 'qtci-windows-11_22H2-aarch64-53'
Compiler: 'MSVC2022'
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_x64}}\..',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}}',
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_arm64}}\..',
'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}}',
'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}}',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE',
'OPENSSL_CONF_x64={{.Env.OPENSSL_CONF_x64_arm64}}',
'OPENSSL_INCLUDE_x64={{.Env.OPENSSL_INCLUDE_x64_arm64}}',
'OPENSSL_LIB_x64={{.Env.OPENSSL_LIB_x64_arm64}}',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
'gRPC_ROOT={{.Env.gRPC_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}}',
'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',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
'gRPC_ROOT={{.Env.gRPC_ROOT_msvc}}',
]
-
Id: 'rhel-8.6'
Template: 'qtci-linux-RHEL-8.6-x86_64-50'
Compiler: 'GCC'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'InstallQt5Dependencies']
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'
]
-
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}}'
'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', 'InsignificantTests']
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -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'
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}',
]
-
Id: 'ios-universal'
Template: 'qtci-macos-13-x86_64-103'
@@ -214,101 +217,73 @@ Configurations:
Compiler: 'Clang'
Target compiler: 'Clang'
Platform dependency: 'macos-universal-on-x86_64'
Features: ['Packaging', 'Sccache', 'DebugAndRelease', 'DisableTests', 'UseConfigure']
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}} -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}}',
'gRPC_ROOT={{.Env.gRPC_ROOT_mingw}}',
]
-
Id: 'windows-10_22h2-llvm'
Template: 'qtci-windows-10_22H2-x86_64-51'
Id: 'windows-11_23H2-llvm'
Template: 'qtci-windows-11_23H2-x86_64-53'
Compiler: 'Clang'
Features: ['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}} -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
'LLVM_INSTALL_DIR=C:\llvm-mingw',
'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={{.Env.LLVM_INSTALL_DIR_llvm_mingw}}',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_llvm_mingw}}',
'gRPC_ROOT={{.Env.gRPC_ROOT_llvm_mingw}}',
]
-
Id: 'windows-11_22h2-llvm'
Template: 'qtci-windows-11_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}} -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
'LLVM_INSTALL_DIR=C:\llvm-mingw',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_llvm_mingw}}',
'gRPC_ROOT={{.Env.gRPC_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}} -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
'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}}',
'gRPC_ROOT={{.Env.gRPC_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}} -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_mingw}}',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_mingw}}',
'gRPC_ROOT={{.Env.gRPC_ROOT_mingw}}',
]
-
Id: 'focal-arm64-debian-pkg-packaging'
Id: 'jammy-arm64-debian-pkg-packaging'
Template: 'qtci-linux-Debian-11.6-aarch64-50'
Compiler: 'GCC'
Features: ['Packaging','DebianPackaging','DisableTests', 'Insignificant']
Environment variables: [
'DEBIAN_RULES_REF=6.6_dev',
'DEBIAN_RULES_REF=6.8_dev',
'COIN_TARGET_DIST=tqtc-jammy',
'COIN_EXTRA_DEBIAN_PACKAGES={{.Env.HOME}}/debian_packages/',
'COIN_SBUILD_CHROOT=focal-arm64-sbuild',
'COIN_EXTRA_DEBIAN_REPO=deb http://ports.ubuntu.com/ubuntu-ports/ focal main universe multiverse',
'COIN_SBUILD_CHROOT=jammy-arm64-sbuild',
'COIN_EXTRA_DEBIAN_REPO=deb http://ports.ubuntu.com/ubuntu-ports/ jammy main universe multiverse',
'COIN_SKIP_DEBIAN_MODULES=qt5 qtqa qtactiveqt qtdoc qtwebengine qtwebview',
]
-
Id: 'focal-amd64-debian-pkg-packaging'
Id: 'jammy-amd64-debian-pkg-packaging'
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Compiler: 'GCC'
Features: ['Packaging','DebianPackaging','DisableTests', 'Insignificant']
Environment variables: [
'DEBIAN_RULES_REF=6.6_dev',
'DEBIAN_RULES_REF=6.8_dev',
'COIN_TARGET_DIST=tqtc-jammy',
'COIN_EXTRA_DEBIAN_PACKAGES={{.Env.HOME}}/debian_packages/',
'COIN_SBUILD_CHROOT=focal-amd64-sbuild',
'COIN_EXTRA_DEBIAN_REPO=deb http://archive.ubuntu.com/ubuntu/ focal main universe multiverse',
'COIN_SBUILD_CHROOT=jammy-amd64-sbuild',
'COIN_EXTRA_DEBIAN_REPO=deb http://archive.ubuntu.com/ubuntu/ jammy main universe multiverse',
'COIN_SKIP_DEBIAN_MODULES=qt5 qtqa qtactiveqt qtdoc qtwebengine qtwebview',
]

View File

@@ -7,12 +7,12 @@ 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',
'QT_YOCTO_ENVSETUP={{.Env.QEMUARMV7_TOOLCHAIN_ENVSETUP}}',
"QT_CMAKE_DIR=/opt/cmake-3.24.2/bin",
"QT_CMAKE_DIR=/opt/cmake-3.27.7/bin",
'QT_SYSROOT_FOR_RUNNING_TESTS={{.Env.QEMUARMV7_TOOLCHAIN_SYSROOT}}',
'GST_PLUGIN_SCANNER={{.Env.QEMUARMV7_TOOLCHAIN_SYSROOT}}/usr/libexec/gstreamer-1.0/gst-plugin-scanner',
'QT_QUICK_BACKEND=software',
@@ -24,12 +24,12 @@ 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',
'QT_YOCTO_ENVSETUP={{.Env.QEMUARM64_TOOLCHAIN_ENVSETUP}}',
"QT_CMAKE_DIR=/opt/cmake-3.24.2/bin",
"QT_CMAKE_DIR=/opt/cmake-3.27.7/bin",
'QT_SYSROOT_FOR_RUNNING_TESTS={{.Env.QEMUARM64_TOOLCHAIN_SYSROOT}}',
'GST_PLUGIN_SCANNER={{.Env.QEMUARM64_TOOLCHAIN_SYSROOT}}/usr/libexec/gstreamer-1.0/gst-plugin-scanner',
'QT_QUICK_BACKEND=software',
@@ -41,12 +41,12 @@ 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',
'QT_YOCTO_ENVSETUP={{.Env.QEMUMIPS64_TOOLCHAIN_ENVSETUP}}',
"QT_CMAKE_DIR=/opt/cmake-3.24.2/bin",
"QT_CMAKE_DIR=/opt/cmake-3.27.7/bin",
'QT_SYSROOT_FOR_RUNNING_TESTS={{.Env.QEMUMIPS64_TOOLCHAIN_SYSROOT}}',
'GST_PLUGIN_SCANNER={{.Env.QEMUMIPS64_TOOLCHAIN_SYSROOT}}/usr/libexec/gstreamer-1.0/gst-plugin-scanner',
'QT_QUICK_BACKEND=software',

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.24.2/bin',
'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

@@ -0,0 +1,15 @@
Version: 2
Configurations:
-
Id: 'vxworks-imx6'
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', '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,90 +8,58 @@ Configurations:
Compiler: 'Clang'
Target compiler: 'Clang'
Platform dependency: 'macos-universal-on-x86_64'
Features: ['Packaging', 'Sccache', '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', '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-6-x86-on-linux'
Template: 'qtci-linux-RHEL-8.6-x86_64-50'
Target os: 'Android_ANY'
Target arch: 'x86'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'rhel-8.6'
Features: ['Packaging', 'Sccache', 'AndroidTestRun', 'VMSize8', 'UseConfigure']
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',
'ANDROID_EMULATOR=@emulator_x86_api_23',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}'
]
-
Id: 'android-6-RHEL-8.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', '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}}',
'ANDROID_EMULATOR=@emulator_x86_api_23',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}'
]
-
Id: 'android-13-x86_64-on-linux'
Template: 'qtci-linux-RHEL-8.6-x86_64-50'
Target os: 'Android_ANY'
Target arch: 'x86_64'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'rhel-8.6'
Features: ['Packaging', 'Sccache', 'AndroidTestRun', 'VMSize8', 'UseConfigure']
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}} -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_64_api_33'
'ANDROID_EMULATOR=emulator_x86_api_28'
]
-
Id: 'android-13-RHEL-8.8-x86_64-on-linux'
Id: 'android-14-x86_64-on-linux'
Template: 'qtci-linux-RHEL-8.8-x86_64-50'
Target os: 'Android_ANY'
Target arch: 'x86_64'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'rhel-8.8'
Features: ['Packaging', 'Sccache', '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_33'
'ANDROID_EMULATOR=emulator_x86_64_api_34'
]

View File

@@ -2,7 +2,7 @@ Version: 2
Configurations:
-
Id: 'webassembly-linux-thread-asyncify'
Template: 'qtci-linux-openSUSE-15.5-x86_64-51'
Template: 'qtci-linux-openSUSE-15.5-x86_64-52'
Target os: 'WebAssembly'
Compiler: 'GCC'
Platform dependency: 'opensuse-15.5-developer-build'
@@ -14,30 +14,29 @@ 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-macos-thread'
Template: 'qtci-macos-13-x86_64-103'
Id: 'webassembly-linux-thread'
Template: 'qtci-linux-openSUSE-15.5-x86_64-52'
Target os: 'WebAssembly'
Compiler: 'Clang'
Target compiler: 'Clang'
Platform dependency: 'macos-universal-on-x86_64'
Features: ['Packaging', 'Sccache', 'DisableTests', 'UseConfigure']
Compiler: 'GCC'
Platform dependency: 'opensuse-15.5-developer-build'
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,16 +18,11 @@ 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']
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-linux-RHEL-8.6-x86_64-50'
Compiler: 'GCC'
Features: ['Packaging', 'UseLegacyInstructions']
Configure arguments: '-qmake -opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-libudev -no-use-gold-linker -force-debug-info -no-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -qt-libjpeg -qt-libpng -qt-xcb -sysconfdir /etc/xdg -qt-pcre -openssl -qt-harfbuzz QMAKE_LFLAGS_APP+=-s -static -no-icu'
-
Template: 'qtci-linux-RHEL-8.8-x86_64-50'
Compiler: 'GCC'

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

@@ -2,21 +2,6 @@ Version: 2
Configurations:
-
Id: 'android-x86-developer-build-testrun-on-linux'
Template: 'qtci-linux-RHEL-8.6-x86_64-50'
Target os: 'Android_ANY'
Target arch: 'x86'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'rhel-8.6'
Features: ['Packaging', 'Sccache', 'AndroidTestRun', 'UseConfigure']
Environment variables: [
'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_23']
-
Id: 'android-x86-developer-build-testrun-on-linux-RHEL-8.8'
Template: 'qtci-linux-RHEL-8.8-x86_64-50'
Target os: 'Android_ANY'
Target arch: 'x86'
@@ -28,4 +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}}',
'ANDROID_EMULATOR=@emulator_x86_api_23']
'NON_QTBASE_TARGET_CMAKE_ARGS=',
'ANDROID_EMULATOR=emulator_x86_api_28']

View File

@@ -1,32 +1,7 @@
Version: 2
Configurations:
-
Id: 'rhel_8.4_android_multi'
Template: 'qtci-linux-RHEL-8.6-x86_64-50'
Target os: 'Android_ANY'
Target arch: 'multi'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: [
'rhel-8.6',
'android-6-x86-on-linux',
'android-13-x86_64-on-linux'
]
Features: [
'Sccache',
'AndroidTestRun',
'MinimalAndroidMultiABITests',
'InstallDepsPerPlatformSubdir'
]
Environment variables: [
'QT_CI_ARTIFACT_ID_PATH_Android-host=QT_CI_ARTIFACT_ID_PATH_rhel-8.6',
'QT_CI_ARTIFACT_ID_PATH_Android-x86=QT_CI_ARTIFACT_ID_PATH_android-6-x86-on-linux',
'QT_CI_ARTIFACT_ID_PATH_Android-x86_64=QT_CI_ARTIFACT_ID_PATH_android-13-x86_64-on-linux',
'COMMON_TARGET_TEST_CMAKE_ARGS=-DQT_ANDROID_ABIS="x86;x86_64"',
'ANDROID_EMULATOR=@emulator_x86_api_23'
]
-
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'
@@ -34,18 +9,20 @@ Configurations:
Target compiler: 'Clang'
Platform dependency: [
'rhel-8.8',
'android-6-RHEL-8.8-x86-on-linux',
'android-13-RHEL-8.8-x86_64-on-linux'
'android-9-x86-on-linux',
'android-14-x86_64-on-linux'
]
Features: [
'Sccache',
'WarningsAreErrors',
'AndroidTestRun',
'MinimalAndroidMultiABITests',
'InstallDepsPerPlatformSubdir'
]
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-6-RHEL-8.8-x86-on-linux',
'QT_CI_ARTIFACT_ID_PATH_Android-x86_64=QT_CI_ARTIFACT_ID_PATH_android-13-RHEL-8.8-x86_64-on-linux',
'COMMON_TARGET_TEST_CMAKE_ARGS=-DQT_ANDROID_ABIS="x86;x86_64"'
'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_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}} -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,35 +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}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON',
]
# Test on all supported macOS versions (deployment targets)
-
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-11-arm64-tests'
Template: 'qtci-macos-11.0-arm64'
Compiler: 'Clang'
Features: ['Sccache', 'TestOnly', 'Packaging']
Platform dependency: 'macos-universal-on-x86_64'
-
Id: 'macos-12-arm64-tests'
Template: 'qtci-macos-12-arm64'
Compiler: 'Clang'
Features: ['Sccache', 'TestOnly', 'Packaging']
Platform dependency: 'macos-universal-on-x86_64'
-
Id: 'macos-13-arm64-tests'
Template: 'qtci-macos-13-arm64'
Compiler: 'Clang'
Features: ['Sccache', 'TestOnly', 'Packaging']
Platform dependency: 'macos-universal-on-x86_64'
# On x86_64
-
Id: 'macos-12-x86_64-tests'
Template: 'qtci-macos-12-x86_64-106'
@@ -72,10 +50,40 @@ Configurations:
Features: ['Sccache', 'TestOnly', 'Packaging']
Platform dependency: 'macos-universal-on-x86_64'
-
Id: 'macos-12-arm-on-arm64-tests'
Template: 'qtci-macos-12-arm64'
Id: 'macos-14-x86_64-tests'
Template: 'qtci-macos-14-x86_64-105'
Compiler: 'Clang'
Features: ['Sccache', 'TestOnly']
Features: ['Sccache', 'TestOnly', 'Packaging']
Platform dependency: 'macos-universal-on-x86_64'
# And arm64
-
Id: 'macos-12-arm64-tests'
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-arm-107'
Compiler: 'Clang'
Features: ['TestOnly', 'Packaging']
Platform dependency: 'macos-universal-on-x86_64'
-
Id: 'macos-14-arm64-tests'
Template: 'qtci-macos-14-arm-106'
Compiler: 'Clang'
Features: ['TestOnly', 'Packaging']
Platform dependency: 'macos-universal-on-x86_64'
# Test the universal packaging built on arm64
-
Id: 'macos-12-arm-on-arm64-tests'
Template: 'qtci-macos-12-arm-102'
Compiler: 'Clang'
Features: ['TestOnly']
Platform dependency: 'macos-universal-on-arm64'
-
Id: 'macos-12-arm-on-x86_64-tests'
@@ -89,6 +97,13 @@ Configurations:
Compiler: 'Clang'
Features: ['Sccache', 'TestOnly']
Platform dependency: 'macos-universal-on-arm64'
-
Id: 'macos-14-arm-on-x86_64-tests'
Template: 'qtci-macos-14-x86_64-105'
Compiler: 'Clang'
Features: ['Sccache', 'TestOnly']
Platform dependency: 'macos-universal-on-arm64'
# =========================================================================
# Developer build. Single architecture builds.
# =========================================================================
@@ -96,64 +111,44 @@ 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'
Environment variables: [
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE',
'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'
Environment variables: [
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
'Protobuf_ROOT=/usr/local/lib/cmake/protobuf',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE',
]
# Note: We do not include OpenSSL or PostgreSQL in this build,
# as the M1 CI machines are not provisioned for that yet.
# Test on all supported macOS versions (deployment targets)
-
Id: 'macos-11-x86_64-developer-build-tests'
Template: 'qtci-macos-11-x86_64-106'
Compiler: 'Clang'
Features: ['Sccache', 'TestOnly']
Platform dependency: 'macos-13-x86_64-developer-build'
-
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-x86_64-developer-build-tests'
Template: 'qtci-macos-12-x86_64-106'
Compiler: 'Clang'
Features: ['Sccache', 'TestOnly']
Platform dependency: 'macos-13-x86_64-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'
-
Id: 'macos-13-x86_64-developer-build-tests'
Template: 'qtci-macos-13-x86_64-103'
Compiler: 'Clang'
Features: ['Sccache', 'TestOnly']
Platform dependency: 'macos-13-x86_64-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-14-arm64-developer-build'

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,14 +0,0 @@
Version: 2
Module only: True
Include: [
macos.yaml: [
"macos-12-x86_64-developer-build"
]
]
Configurations:
-
Id: 'macos-13-x86_64-developer-build-tests'
Template: 'qtci-macos-13-x86_64-103'
Compiler: 'Clang'
Features: ['TestOnly']
Platform dependency: 'macos-12-x86_64-developer-build'

View File

@@ -0,0 +1,20 @@
Version: 2
Module only: True
Configurations:
-
Id: 'macos-14-arm64-developer-build'
Template: 'qtci-macos-14-arm64'
Compiler: 'Clang'
Features: ['Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure']
Configure arguments: '-developer-build -release -force-debug-info -no-pch -no-framework -qtnamespace TestNamespace -make examples'
Environment variables: [
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}',
'Protobuf_ROOT=/usr/local/lib/cmake/protobuf',
]
-
Id: 'macos-14-arm64-developer-build-tests'
Template: 'qtci-macos-14-arm64'
Compiler: 'Clang'
Features: ['Sccache', 'TestOnly']
Platform dependency: 'macos-14-arm64-developer-build'

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}}'
'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

@@ -0,0 +1,11 @@
Version: 2
Module only: True
Include: [
cmake_platforms.yaml: [
"ubuntu-22.04"
],
cmake_platforms_qemu_vxworks.yaml: [
"vxworks-imx6"
]
]
Configurations: []

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,25 +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-x86-4'
Compiler: 'MSVC2019'
Template: 'qtci-windows-10_22H2-x86_64-52'
Compiler: 'MSVC2022'
Features: ['Packaging', 'Sccache', 'DebugAndRelease', 'DisableTests']
Configure arguments: ''
Environment variables: []
Environment script: ['%ProgramFiles%\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'x86']
-
Template: 'qtci-linux-RHEL-8.6-x86_64-50'
Compiler: 'GCC'
Features: ['Packaging', 'Sccache', 'DebugAndRelease']
Configure arguments: ''
Environment variables: []
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'
@@ -28,13 +22,7 @@ Configurations:
Configure arguments: ''
Environment variables: []
-
Template: 'qtci-linux-RHEL-9.2-x86_64-51'
Compiler: 'GCC'
Features: ['Qt5', 'Sccache', 'DebugAndRelease']
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,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,3 +1,6 @@
Version: 2
Include: [cmake_platforms.yaml]
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

@@ -5,6 +5,10 @@ Include: [
integrity.yaml,
ios-tests.yaml,
address_sanitizer_platforms.yaml,
linux_android_tests_multi_abi.yaml
linux_android_tests_multi_abi.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

@@ -3,6 +3,9 @@ Include: [
cmake_platforms.yaml,
integrity.yaml,
ios-tests.yaml,
cmake_platforms_static_tests.yaml
address_sanitizer_platforms.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

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

View File

@@ -1,3 +1,16 @@
Version: 2
Include: [cmake_platforms.yaml]
Configurations: []
Include: [
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations:
-
Id: 'ubuntu-22.04-axivion'
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure', 'DisableTests','Axivion_qtinterfaceframework', '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}} -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

@@ -1,6 +1,8 @@
Version: 2
Include: [
cmake_platforms.yaml,
integrity.yaml
address_sanitizer_platforms.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

@@ -13,11 +13,11 @@ Include: [
"windows-10_22h2-msvc2019",
"windows-10_22h2-msvc2022",
"windows-10_22h2-msvc2019-developer-build",
"rhel-8.4",
"windows-10_22h2-mingw11",
"windows-10_22h2-mingw11-developer-build",
"rhel-8.8",
"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,15 +42,44 @@ Configurations:
Compiler: 'GCC'
Platform dependency: 'ubuntu-22.04'
Features: ['UseConfigure', 'DoNotRunTests', 'DisableTests', 'Axivion_QSR']
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: [
'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 -qtlibinfix TestInfix',
'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',
'QT_YOCTO_ENVSETUP={{.Env.QEMUARM64_TOOLCHAIN_ENVSETUP}}',
"QT_CMAKE_DIR=/opt/cmake-3.24.2/bin",
"QT_CMAKE_DIR=/opt/cmake-3.27.7/bin",
'QT_SYSROOT_FOR_RUNNING_TESTS={{.Env.QEMUARM64_TOOLCHAIN_SYSROOT}}',
'GST_PLUGIN_SCANNER={{.Env.QEMUARM64_TOOLCHAIN_SYSROOT}}/usr/libexec/gstreamer-1.0/gst-plugin-scanner',
'QT_QUICK_BACKEND=software',
]
-
Id: 'Axivion-qnx-710-arm64-on-linux'
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Target os: 'QNX_710'
Target arch: 'arm64'
Compiler: 'GCC'
Target compiler: 'QCC'
Platform dependency: 'ubuntu-22.04'
Features: ['UseConfigure', 'DoNotRunTests', 'DisableTests', 'Axivion_QSR']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-release -no-dbus -nomake examples -qtlibinfix TestInfix',
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QNX_710}}/qnx-toolchain-aarch64le.cmake -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
]
-
Id: "Axivion-integrity-arm64"
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Compiler: 'GCC'
Target os: 'INTEGRITY'
Platform dependency: 'ubuntu-22.04'
Features: ['UseConfigure', 'DoNotRunTests', 'DisableTests', 'Axivion_QSR', 'VMSize16']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -device integrity-armv8-SA8155P -no-feature-library -no-feature-printdialog -no-dbus -no-feature-gtk3 -no-feature-glib -no-feature-libudev -qt-harfbuzz -qt-pcre -no-sql-mysql -no-feature-brotli',
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE=/home/qt/integrity_toolchain/toolchain.cmake -DCMAKE_C_COMPILER=cxintarm64 -DCMAKE_CXX_COMPILER=cxintarm64 -DBUILD_qtdoc=OFF -DBUILD_qttranslations=OFF -DUNIX=ON --debug-trycompile',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_system_webp=OFF -DQT_FEATURE_timezone=OFF',
'INTEGRITY_DIR=/home/qt/integrity_toolchain/hlos_dev_boot/apps/ghs_apps_proc/integrity',
'INTEGRITY_BSP=platform-sa8155', 'INTEGRITY_BUILD_TARGET=rel',
'QC_MULTIMEDIA_INC_DIR=/home/qt/integrity_toolchain/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/include/amss/multimedia',
'GL_INC_DIR=/home/qt/integrity_toolchain/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/AMSS/multimedia/graphics/include/public',
'GL_LIB_DIR=/home/qt/integrity_toolchain/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/rel/libs/base:/home/qt/integrity_toolchain/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/rel/libs/multimedia/display:/home/qt/integrity_toolchain/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/rel/libs/multimedia/graphics:/home/qt/integrity_toolchain/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/rel/libs/platform/:/home/qt/integrity_toolchain/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/AMSS/multimedia/graphics/opengl/esx/build/integrity/prebuilt/',
'PATH=/home/qt/integrity_toolchain/hlos_dev_boot/apps/ghs_apps_proc/comp:$PATH',
]

View File

@@ -12,10 +12,10 @@ Include: [
"sles-15_sp5-static",
"windows-10_22h2-msvc2019",
"windows-10_22h2-msvc2022",
"rhel-8.4",
"windows-10_22h2-mingw11",
"rhel-8.8",
"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",
@@ -35,15 +35,6 @@ Configurations:
Environment variables: [
'CMAKE_ARGS=-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"'
]
-
Id: 'Linux-RHEL_8_6_Static'
Template: 'qtci-linux-RHEL-8.6-x86_64-50'
Compiler: 'GCC'
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'
]
-
Id: 'Linux-RHEL_8_8_Static'
Template: 'qtci-linux-RHEL-8.8-x86_64-50'
@@ -51,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: []

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