Compare commits

..

436 Commits
6.7.1 ... 6.8.2

Author SHA1 Message Date
Teemu Holappa
8a98b34cc7 Update macOS from 12 to 14 in qtsaferenderer.yaml
Pick-to: 6.8
Change-Id: Ie03a14449e941a71acc58e5de78b980690ce221f
Reviewed-by: Tarja Sundqvist <tarja.sundqvist@qt.io>
2025-01-27 20:12:05 +02:00
Teemu Holappa
6800c5916f Fix QtSafeRenderer MSVC static build
Fixes compile error: Unknown command line option '-plugin-sql-sqlite'

Pick-to: 6.8
Change-Id: I5b52552492de3efb0aa80e94ecf670539e93b09e
Reviewed-by: Tarja Sundqvist <tarja.sundqvist@qt.io>
2025-01-27 09:41:37 +00:00
Qt Submodule Update Bot
480041bb0b Update submodules on '6.8.2 in qt/qt5'
Change-Id: I96b8a3df6dbdb0b67342240c34c643c15b12057e
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-01-24 17:51:13 +00:00
Antti Kokko
fd3268e815 Add Ubuntu and Windows 11 arm64 targets for QSR 2.2
Targets Ubuntu 24.04 arm64 & Windows 11 22H2 arm64
MSVC 2022 added.

Static and dynamic build targets for tooling repository.

Dynamic build targets for runtime repository.

Task-number: QSR-2686
Pick-to: 6.8
Change-Id: I8946a4b107ebc7c652f7f1a3a50193fa62d8ed56
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Reviewed-by: Tarja Sundqvist <tarja.sundqvist@qt.io>
2025-01-23 13:06:41 +02:00
Matti Paaso
ad6a3499ef Provisioning: Update Axivion bauhaus suite and license file
Task-number: QTQAINFRA-6880
Change-Id: I92a70dcb14bbba0ded889894059f2de849b1f557
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 45491c61fc)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 3579a0c95c)
(cherry picked from commit e600f0a85b)
2025-01-21 13:25:10 +00:00
Jani Heikkinen
2248e7b084 Adjust submodule branches
Change-Id: If108a8c82fc778e224982b1e6d0e4c3fc6533bf0
2025-01-20 06:29:39 +00:00
Qt Submodule Update Bot
9e7829bf5e Update submodules on '6.8 in qt/qt5'
Change-Id: I228744d899c717f255f168122af6eea1c03d90a3
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-01-18 05:58:43 +00:00
Alexey Edelev
2b137b3f41 Disable top-level configure run for the cross-builds
The 'target' configurations currently trigger the 'host'
configure command line, and are duplication of the existing
rule we have for the host machines. Disable the top-level
configure checks for the 'target' builds completely.

Fixes: QTBUG-132799
Change-Id: Ia06dde53825e882e78a8c6be9e62779aaedcebf4
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 6f0c6b1614)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 5b0d2e87d0)
2025-01-17 06:19:07 +00:00
Samuli Piippo
83b40b020d WoA: update template
WoA template got updated in 2151c5510f
and 0f18b0bc2f, but not everywhere.

Change-Id: Ie2ee9e62f9bc10753bd527a2b1a7edc5de46ca60
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 69dfa0449c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit b07fbbf935)
2025-01-03 22:02:10 +00:00
Alexandru Croitor
cceb2909dd init-repository: Normalize git urls with more than one '../' segment
The qttools qlitehtml submodule url was recently updated to use a
relative url like '../../playground/qlitehtml.git' instead of an
absolute path to code.qt.io repo.
Same for the nested litehtml submodule.

This broke initialization of the qttools repository, because the
init-repository script only normalized one '../' segment in the
submodule url, instead of all of them, which ended up trying to clone
a non-existent git://code.qt.io/qt/../playground/qlitehtml.git repo.

Apply the url normalization in all the code paths where there might
still be '../' segments in the url.

Change-Id: Iaa8e58104c92858318ad66aefa5a38d63ad7a155
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit ff25d705a3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 22ae1bb5ee)
2025-01-03 10:02:47 +00:00
Matti Paaso
e18fe73ac6 Provisioning: Update Axivion bauhaus suite to 7.8.4
Task-number: QTQAINFRA-6720
Pick-to: 6.5
Change-Id: Idb303652355b8937ea199a3415101d49f27a2e98
Reviewed-by: Teemu Holappa <teemu.holappa@qt.io>
(cherry picked from commit cf921a5146)
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2025-01-02 15:45:51 +02:00
Oliver Wolff
cc2729920f README.md: Update minimal versions of Windows compilers
Change-Id: Id743e89d0858fde4678b7ba4e848d780d19771fc
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
(cherry picked from commit 8319245b04)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 51dec3728f)
2025-01-02 13:45:51 +00:00
Alexandru Croitor
6e853cc6fc coin: Switch ios-tests-on-macos to use qtci-macos-14-arm-106
This will use the newer iOS 17 SDK during the build, and allow us to
enforce the minimum SDK version check.

This change also switches to using an arm mac for the build.

Task-number: QTBUG-119490
Change-Id: Ie9ff2b2f4fe40bda2856d4b12a03aaa05f836de4
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit f5970f9c62)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 6db401beda)
2025-01-02 12:34:19 +00:00
Ville-Pekka Karhu
f4f8266821 Provisioning: Add Simulator Runtime installation to macOS
Task-number: QTQAINFRA-6774
Change-Id: I2461911d20ba2fda7b2c53d38b0e688139501e22
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 1f6f97a141)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit dc1f9e060a)
2024-12-31 07:42:18 +00:00
Tero Heikkinen
1cdf0b38ae Provisioning: Add missing Vulkan library to Windows on ARM
Fixes: QTQAINFRA-6830
Change-Id: Ia074c55ddd20414f0d6b0dbcc674cc8eb82b1cf8
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Jonas Karlsson <jonas.karlsson@qt.io>
(cherry picked from commit e179279962)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 5e74968c61)
2024-12-30 11:20:25 +00:00
Elias Toivola
0b041deffd Android: update emulator version to 35.2.10
The newest stable version of Android emulator should bring more
stability.

Pick-to: 6.5
Fixes: QTQAINFRA-6805
Change-Id: Id67d3ec888b486e6aae862588928528788583aae
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 9078baf0a9)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit d777fa2926)
2024-12-30 11:20:25 +00:00
Pavel Dubsky
21c39aa759 Update FFmpeg version to n7.1
Task-number: QTBUG-129510
Pick-to: 6.5
Change-Id: I15a801c0c0568b26486e5bb2065a1d0d1d151951
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 154b41a260)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 22b3565849)
2024-12-28 20:57:42 +00:00
Tero Heikkinen
e112372259 Provisioning: Make Windows Path visible at the end of provisioning
There's possibility that some installations might add more into
Path that doesn't get visible during the installation process.

Change makes it easier to detect if there's i.e. JRE installed during
Mimer, which caused Java SE update to 17 fail in qtbase build for
Android, because JRE was the first Java found from Path and it
wasn't the required new JDK 17 version.

This can lead even to test with incorrect version of Java, which can
happen with any other different version installations as well.

Task-number: QTQAINFRA-6392
Task-number: QTQAINFRA-6385
Change-Id: Idce79eb06d73894ae648e0be53ff1f07bb21392d
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit 444167f5fb)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 5ae41db586)
2024-12-27 21:09:01 +00:00
Tero Heikkinen
2849740c98 Fix macOS ffmpeg ios parallel compiling to cause resource starvation
Add -j4 to limit how many cores is used to build ffmpeg-ios binaries.
Error in logs: "posix_spawn failed: Resource temporarily unavailable"

Task-number: QTQAINFRA-6803
Change-Id: I3fb56cdbe4cbda8f779852b0a16121916aa5a1d4
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 6569f201c1)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit b7abace894)
2024-12-27 21:08:59 +00:00
Qt Submodule Update Bot
d499318730 Update submodules on '6.8 in qt/qt5'
Change-Id: I4769f3ff69c41a215ca5bb6b60ef0c076951d3b2
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-12-20 23:42:32 +00:00
Elias Toivola
9baaa2d166 Remove Red Hat 9.2 from CI
RHEL-9.2 targets are replaced by RHEL-9.4 targets in platform
configurations. [CI Platforms]

Task-number: QTQAINFRA-6363
Change-Id: I9287309fe136e9aaae6c0c970cc0859dbfaf8635
(cherry picked from commit 66f09bb69d)
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2024-12-17 11:21:47 +02:00
Elias Toivola
189bf2b956 Make Red Hat 9.4 tests as blocking in CI
'InsignificantTests' are removed from all RHEL-9.4 targets
[CI Platforms]

Task-number: QTQAINFRA-6362
Change-Id: Id034a3f4cfa63e2f8813fad1e25a3bcc2b365851
(cherry picked from commit 490769cdef)
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2024-12-17 11:21:45 +02:00
Qt Submodule Update Bot
d35962050e Update submodules on '6.8 in qt/qt5'
Change-Id: If67ee65967de04d34045f113c3a50d5500e18daf
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-12-13 16:15:43 +00:00
Qt Submodule Update Bot
b237f31399 Update submodules on '6.8 in qt/qt5'
Change-Id: I19ddce8b5e597b5979ed55165e0a3ef9a44eb727
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-12-04 05:55:03 +00:00
Qt Submodule Update Bot
d18c70e904 Update submodules on '6.8 in qt/qt5'
Change-Id: I26be68cf20dc009cd3a1f138b7505592c8823aab
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-11-27 16:33:51 +00:00
Elias Toivola
5ccfd0ab22 Ubuntu 22.04 arm64: install NFS packages for Squish
Ubuntu 22 arm64 target is missing packages to mount ci-files01 for Squish.

Task-number: QTQAINFRA-6212
Change-Id: Ia5c38f12f2c6ce8ff19d2d46ce1e46f6e1c627f0
(cherry picked from commit 64bd882464)
Reviewed-by: Simo Fält <simo.falt@qt.io>
2024-11-26 17:50:36 +02:00
Elias Toivola
08d194ac9d Install more packages for Ubuntu 22.04 arm64 for RTA
Task-number: QTQAINFRA-6212
Change-Id: I47376ebe1bf3bcded2621ee5a416a98f40343ab8
(cherry picked from commit 46be92729a)
Reviewed-by: Simo Fält <simo.falt@qt.io>
2024-11-26 17:50:34 +02:00
Qt Submodule Update Bot
dee952b0dd Update submodules on '6.8 in qt/qt5'
Change-Id: Iab72a77009c14db3cb1f3fe0d9a8d6273ff11974
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-11-26 07:23:15 +00:00
Qt Submodule Update Bot
4aa6b8cc47 Update submodules on '6.8 in qt/qt5'
Change-Id: I5d7c7e1ac34e8b909edb34fbcf7334c4a75dcb96
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-11-20 19:12:36 +00:00
Matti Paaso
09baa95ad1 Update Java for Ubuntu-22.04- aarch64
Jenkins needs Java 17

Task-number: QTQAINFRA-6263
Change-Id: I5405a6e76a231f81ab514fcad387fd0b2b877f87
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
(cherry picked from commit 382ea574bb)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-11-20 11:30:43 +00:00
Matti Paaso
fcca7f16d0 Add Java 17 into OpenSuSE 15
RTA Jenkins needs this

Task-number: QTQAINFRA-6263
Pick-to: 6.5
Change-Id: Ied9465f1c5542f77e327e3e515ed2b831e606569
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Johanna Äijälä <johanna.aijala@qt.io>
(cherry picked from commit dbb4ca8e26)
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2024-11-20 09:57:39 +02:00
Qt Submodule Update Bot
9a6b5caef5 Update submodules on '6.8 in qt/qt5'
Change-Id: I27af4cf5157aee20304527fc74bb6100448196b4
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-11-18 23:16:50 +00:00
Alexandru Croitor
2d5dc5af3d coin: Use new doc tools building instructions for TestDocs configs
The documentation warning configurations marked with the TestDocs
feature will now use the new doc tools building instructions from
qtbase, instead of using the provisioned qdoc tools when checking the
documentation for warnings.

This means that each qtbase integration will build the doc tools
from qttools/dev/HEAD and use those built tools associated with that
qtbase sha1 integration to check documentation in all other
repositories.

The doc tools will be rebuilt whenever a new qtbase integration
starts.
See the qtbase commit 1f646bb978ed94c25f6224e801779c929096c0ae for
more details.

Task-number: QTBUG-128730
Change-Id: I5a981afa9ec2c2b3a5c519b961e566ec5d2cc925
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
(cherry picked from commit d36c17487c)
2024-11-15 16:28:11 +01:00
Tor Arne Vestbø
90e0464453 coin: Build macOS ARM developer-build in debug mode
To get as close as possible to how developers build and run
tests, and to get debug-build test coverage on macOS in CI.

Change-Id: Ice12b7230d56284d352e6a73ac503588b22107bb
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
(cherry picked from commit 8c74d54deb)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-11-13 00:00:38 +00:00
Matti Paaso
cb765fe3c1 Change Java version to 17 on Linux arm
Jenkins needs Java 17 to run agent on VM

Task-number: QTQAINFRA-6263
Change-Id: Ia2749a4812402df8b11f6388f8e6bc3b995d5e53
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 7a2a226e8a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-11-12 06:05:15 +00:00
Matti Paaso
5f00935059 Update Java version into 17
Jenkins needs version 17 to get agent running in VM

Task-number: QTQAINFRA-6263
Pick-to: 6.5 6.2
Change-Id: I57daadad6baa2e7e538874769af3fbe0cdd42878
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 5128df0130)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-11-12 06:05:13 +00:00
Tim Blechmann
ad1e94d511 provisioning: install development files for gstreamer-plugins-bad
Required for gst-play

Change-Id: Id41d4359aa8e573e360c565eea6900b33918743f
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 01f6c96002)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-11-09 07:33:05 +00:00
Tim Blechmann
3dc55bdfb8 provisioning: install gstreamer h264 codec on openSUSE and rhel9
The h264 codec is required to run the gstreamer-based unit tests on CI.

Change-Id: Ic47ee086687230613d56f30d3fd613288e37ce7f
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
(cherry picked from commit 58e0090020)
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
2024-11-08 08:59:05 +08:00
Elias Toivola
4ae967a5f9 Add Red Hat 9.4 with non-blocking tests in CI
RHEL-9.4 will be run in parallel with RHEL-9.2 with insignificant tests
until RHEL-9.4 is confirmed stable, then it will replace RHEL-9.2.
[CI Platforms]

Adapted for 6.8:
* remove install-firebird.sh, which is only in dev
* remove 90-install-oracle.sh, which is only in dev

Task-number: QTQAINFRA-6362
Change-Id: I92c10a15346e7bd0c0190a8d6a6513cf6143d2a8
(cherry picked from commit ee8ee93d91)
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
2024-11-08 08:59:01 +08:00
Qt Submodule Update Bot
d7c80e60f7 Update submodules on '6.8 in qt/qt5'
Change-Id: Ie47093cc87a224e3ca57405c37d003923bcf8b38
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-11-07 09:29:27 +00:00
Eike Ziller
96c8820cf8 QtCreator: Add configurations for oldest supported Qt version
Change-Id: I2a69d05a157524238ed9ac7e32b84c56e2750a9d
Reviewed-by: David Schulz <david.schulz@qt.io>
(cherry picked from commit f531da9cbb)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-11-06 16:11:54 +00:00
Alexey Edelev
2ce2817b8d Fix the '-submodules' argument to 'BUILD_' argument transformation
Ensure the coma-separated argument is transformed to CMake list
properly.

Amends 7c8bab37bb

Task-number: QTBUG-122954
Fixes: QTBUG-130883
Change-Id: I082ad2c9c964c66feee3a8deff55ae137adafe8b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit 9b5e0b581f)
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2024-11-05 16:30:38 +00:00
Jukka Jokiniva
5c3284464f Revert "Temporarily remove Integrity from CI"
This reverts commit 5a0ebc689b.

Reason for revert: GHS compiler license renewed.

Change-Id: Ic53576cc7eca91fe2cf3b4c426505954053b270b
Reviewed-by: Kimmo Ollila <kimmo.ollila@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2024-11-05 10:04:41 +00:00
Jukka Jokiniva
5a0ebc689b Temporarily remove Integrity from CI
GHS compiler license has expired.

Change-Id: I5f495d24b5693c1841cb292d791188e1f3896d93
Reviewed-by: Teemu Holappa <teemu.holappa@qt.io>
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit e306818660)
Reviewed-by: Simo Fält <simo.falt@qt.io>
2024-11-05 08:19:05 +00:00
Eike Ziller
82c6c4cbdc QtCreator: Remove unused 'Packaging' feature
We don't use any configurations for packaging, the feature doesn't
trigger anything.

Change-Id: I977566123b491284e029cf1d828c0ce0a36703f2
Reviewed-by: David Schulz <david.schulz@qt.io>
(cherry picked from commit c4d897e380)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-11-04 15:22:10 +00:00
Alexandru Croitor
9b29286325 coin: Bump ios-universal config macos version to get iOS SDK 17
Task-number: QTBUG-119490
Change-Id: Icaf2ed63daecbc25dc18dd4a7b7733029a02be19
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit b6b6fac86a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-11-03 04:43:19 +00:00
Artem Dyomin
de62c92b28 Replace static FFmpeg build with shared on rhel8
On RHEL8, openssl1.x.x is default, and openssl3 pc files
are with the suffix "3", so FFmpeg cannot find them.

The patch fixes pc files so that ffmpeg can find them.

Task-number: QTBUG-130257
Change-Id: I5a95daae0a78aadede109535b2823483bfcbc09d
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
Reviewed-by: Pavel Dubsky <pavel.dubsky@qt.io>
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
(cherry picked from commit 6cd74e132a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-11-03 04:43:19 +00:00
Simo Fält
cf813eedfd CI: Move ios-universal config to Arm host
Task-number: QTQAINFRA-6378
Change-Id: I7f8147f4c2c8c138d55558cd5a7d8d976d2e2b82
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit ec0228377d)
2024-11-03 04:43:19 +00:00
Nils Petter Skålerud
886eb3a7f7 coin, macOS: Add arm64 support to fix-ffmpeg-dependencies.sh
This file is used by the script common/unix/install-ffmpeg-android.sh.
This script is useful for compiling FFmpeg for Android locally
on macOS. Currently the script assumes the Homebrew installation
of readelf is that of x86. The Homebrews path for readelf is different
under arm64 and this change accounts for this.

Pick-to: 6.5
Change-Id: I7ec1d4173e35fe91bc988492e56dd9a5fcbad072
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 03ffb92263)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-11-03 04:43:19 +00:00
Alexandru Croitor
7db1e0a053 CMake: Improve qt5.git "QtSynchronizeRepo.cmake" / sync-to script
The QtSynchronizeRepo.cmake script, which is meant to be driven by a
git-sync-to script, has been rewritten to support more use cases, as
well as improve the code readability and error reporting.

The script now supports the following additional use cases:
 - Clone a specified qt/{repo} submodule from code.qt.io into the
   current directory, and initialize (clone) its dependencies

- Initialize a submodule and its dependencies in an existing qt5.git
  super repo. This is similar to what init-repository does, except
  instead of using the qt5.git sha1s, it uses the dependencies.yaml
  of the specified submodule

- Support for git fetch --depth, to allow shallow cloning of the
  specified submodule and its dependencies. This is useful for CI
  where only a specific revision needs to be checked out.

The main incentive for this change is allow cloning qttools/dev/HEAD
and its dependencies in a CI run, but it's useful for daily work as
well. At some point we should check what can be merged together with
the existing init-repository script.

Task-number: QTBUG-128730
Change-Id: Ie6d49d253223cc93b8831ef41d25e0adeac39b8b
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit 710bc2d90e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-11-03 04:43:19 +00:00
Tim Blechmann
ff795c101f ubuntu: install pulseaudio 16 with time smoother bugfixes
The GStreamer backend of Qt Multimedia has known issues with pulseaudio,
caused by bugs in the time smoother. We therefore install pulseaudio 16
from a PPA on our ubuntu testers.

Task-number: QTBUG-112014
Task-number: QTBUG-124372
Task-number: QTBUG-126799
Pick-to: 6.5
Change-Id: Ifd18ff4b9904ac0ee022c9158e96ebca8768599f
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
(cherry picked from commit cc17f25cd1)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-11-03 04:43:19 +00:00
Jani Heikkinen
a9dfa0737d Add 'QT_FEATURE_open62541_security=OFF' for macOS packaging build
Fixes: QTBUG-125252
Pick-to: 6.5
Change-Id: Ic6daa4c589dda54294a787261be6884cdbf3dff0
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 0149acd42b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-11-03 04:43:19 +00:00
Simo Fält
85eb37bf83 Provisioning: Fix once more the SBOM_PYTHON_APPS_PATH in macOS
Change-Id: I733a6b2ea25e4d76c19ef921b7706cd0464c3120
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit e7ef5d8f1b)
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2024-11-03 06:43:19 +02:00
Jøger Hansegård
92f122511d Add provisioning of FFmpeg for Android and iOS with qtci-macos
This patch adds FFmpeg provisioning for Android and iOS for
qtci-macos-12..15-arm..x86-64 by syncing with qtci-macos-13-x86_64
where this was already done.

Change-Id: I070514cbff12504db7c6fa77111e12d7e500ce30
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit 2728b7ac6f)
Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
2024-11-03 05:43:19 +01:00
Qt Submodule Update Bot
39b4307edf Update submodules on '6.8 in qt/qt5'
Change-Id: Iff8b22b3c24a590b21ae1fd2bede913203c5b9de
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-11-02 19:59:59 +00:00
Alexandru Croitor
b87098e90d CMake: Update provisioned CMake to version 3.30.5
Fixes: QTQAINFRA-6484
Change-Id: Iacccb9f43059c78080e338da6680f5c50284c057
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 400776459b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-10-31 14:42:43 +00:00
Ville-Pekka Karhu
419f19563d Provisioning: Add Docker installation to macOS 13 x64
Task-number: QTQAINFRA-6714
Pick-to: 6.5
Change-Id: I5044ca4fc8f965e31720e7a94820153213afc14d
Reviewed-by: Milla Pohjanheimo <milla.pohjanheimo@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit 2f3d052720)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-10-31 14:42:37 +00:00
Alexandru Croitor
81d2c30cb4 coin: Explicitly specify SBOM_PYTHON_APPS_PATH for all platforms
Instead of relying on the qtbase coin instructions to compute the
SBOM_PYTHON_APPS_PATH path based on the platform, which does not work
reliably, especially when multiple python installations are present,
explicitly specify the path in the provisioning scripts.

Amends 1f2fb6312c

Task-number: QTBUG-122899
Task-number: QTBUG-124453
Task-number: QTBUG-125211
Change-Id: I097fd1c4119a203d82f88c477dbf0fc0f67f19f2
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit 6f991b55a3)
2024-10-31 15:42:31 +01:00
Jukka Jokiniva
db32c6b6ef Add -force-asserts to developer builds with -release
Fixes: QTQAINFRA-6624
Change-Id: Ia8741e4a92774fee3af78c3292fa47677b36158d
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
(cherry picked from commit c5ab2fe4fa)
2024-10-31 14:42:26 +00:00
Alexandru Croitor
36fe46a392 coin: Explicitly specify Python 3.10 for SBOM processing on Windows
The 'reuse' tool installed into the Python 3.8 environment on Windows
has a broken 'jinja2' package, due to conan being installed
after the sbom tool, which replaces the jinja package. pip reports the
issue but does not actually exit with a non-zero status for some
reason, thus not blocking the initial provisioning.

The jinja2 version installed in the Python 3.10 environment on Windows
is compatible with both conan and reuse.

To work around the issue, explicitly install the sbom tools only for
Python 3.10 on Windows platforms, and specify the path to the Python
interpreter in an environment variable for the build system to use.

Amends 1f2fb6312c

Task-number: QTBUG-122899
Task-number: QTBUG-124453
Task-number: QTBUG-125211
Change-Id: I386da17a1902dd26af332cef3482dbcb2221a1b3
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit e874a76a48)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-10-31 15:42:20 +01:00
Nils Petter Skålerud
225eca6109 coin, macOS, FFmpeg: Fix install-ffmpeg-android.sh
Script would previously unconditionally run ln even if target file
sometimes exists in precompiled OpenSSL library.

Change-Id: I90c4ad7c6cbf9207c2c82114936b478a9ba4ae54
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit 758ac7896f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-10-30 05:26:19 +00:00
Nils Petter Skålerud
6b453e2221 coin, macOS, FFmpeg: Fix incorrect popd in install-ffmpeg-android.sh
popd was placed incorrectly and caused the script to be unable to find
the fix_ffmpeg_dependencies.sh file.

Change-Id: I7922a698e90d1b3899ecc7b2240a260ea706707f
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit 8f47837a59)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-10-30 05:26:15 +00:00
Tim Blechmann
9de96e816b Provisioning: linux - install virtual video test driver vivid
The vivid kernel module emulates a v4l2 video devices like webcams. We
instantiate two devices via vivid to allow qt multimedia unit tests
requiring multiple cameras to run correctly.

Pick-to: 6.7 6.5
Change-Id: I1b87954e3c8af797f5b09dabf2d4939d8320db06
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
(cherry picked from commit 8ba7d0c382)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-10-29 03:48:23 +00:00
Qt Submodule Update Bot
1b70600c42 Update submodules on '6.8 in qt/qt5'
Change-Id: I52683b0dccc6ed85114e8d9796341926e470573d
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-10-27 09:59:54 +00:00
Matti Paaso
c1edd84a8a Update java in macOS x64
Android requires java 17 in Qt 6.8 and RTA needs java 17 into VMs
to compile Qt examples.

Task-number: QTQAINFRA-6492
Change-Id: I873c188154c2eae2a9eebddb94279c41ca822576
Reviewed-by: Johanna Äijälä <johanna.aijala@qt.io>
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
(cherry picked from commit 73cc61c389)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-10-23 04:31:26 +00:00
Alexandru Croitor
26c0acf266 coin: Build MSVC as standalone examples in a separate build directory
The MSVC platform was not there when the rest of the platforms where
adjusted to build examples as standalone. Now that it's here, add it.

This is a pre-requisite for building examples as external projects
with MSVC.

Augments d278e682c6

Task-number: QTBUG-90820
Task-number: QTBUG-96232
Change-Id: I4a77d16e0f683f5984beeedb6e6d32707847383b
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit 2dce30db01)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-10-23 04:31:24 +00:00
Elias Toivola
95234b04c0 Fix SSH for RHEL-8.10
Red Hat 8.10 VM template -50 does not have a user set for SSH. This is
fixed in template -51.

Change-Id: I602976a0214f6e0f4661e6b876c0710bc3ea9df9
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 293aeab453)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-10-21 18:46:41 +00:00
Alexey Edelev
d6402b31f8 Add the missing archiving tool to QNX toolchain files
Pick-to: 6.7
Fixes: QTBUG-128747
Change-Id: Iee9eca2ef8c53e1171b8d88ded6d313a6b096bea
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit f747d2dec7)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-10-21 18:46:31 +00:00
Alexandru Croitor
c6c18d6bf9 coin: Provision ninja 1.12.1 for RHEL 8.10 and 9.2
It is needed to successfully build Qt with CMake 3.30.

Fixes: QTQAINFRA-6484
Change-Id: I70b7d91571f5b20a008947eb0837dd8351965665
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit da3c68ba0c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-10-21 18:46:26 +00:00
Aku Pietikäinen
6a4aac317b Enable vnc remote management on macOS
Task-number: QTQAINFRA-6668
Pick-to: 6.5
Change-Id: I5af8e460059cdcaad22f637e1c92d9a46950f775
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
(cherry picked from commit cfd06e54fd)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-10-20 07:31:36 +00:00
Tero Heikkinen
9af35703bf Provisioning: Fix ci-files01-hki to use correct URL
Replace ci-files01-hki.intra.qt.io
with    ci-files01-hki.ci.qt.io

Task-number: QTQAINFRA-6663
Pick-to: 6.5 5.15
Change-Id: Ia9a6b1fc5a23b6f1a393d6e4be8be41e2991e876
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit d197f06634)
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-10-20 07:31:34 +00:00
Qt Submodule Update Bot
c4dbafcc01 Update submodules on '6.8 in qt/qt5'
Change-Id: Ib4f9852317fdddf2def59144aaec81b71783f03a
Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
2024-10-19 19:31:49 +03:00
Alexandru Croitor
11dcad85e9 coin: Run license check from qtqa/dev for all of qt5.git/dev
Currently any configuration tagged with the 'LicenseCheck' feature
uses the qtqa/master tst_licenses.pl script for license checking. The
exact instructions that are run are hard-coded in the Coin repository.

This is inflexible, and also confusing because qtqa has a dev and a
master branch, and people forget to cherry-pick changes to the master
branch.

Furthermore always using the qtqa/master branch for all qt5.git
branches is limiting, because no instruction changes can be made to
a specific qt5.git branch.

Using the new instructions added in qtbase commit
  2a0e89981a52633c497f62bad0c7d26c466493cb
we can now tag configurations with the 'LicenseCheckV2' feature.

Integrations will then use the instructions from the active qtbase
SHA1 to run the license check.

Currently the qtbase instructions will always use the qtqa/dev branch
for the license check, for both the dev and 6.8 branches, but in the
near future we will likely want to create versioned branches for
the qtqa repo, just like the rest of our repositories, so that we
can have specific license check instructions for specific branches.

Task-number: QTBUG-124453
Task-number: QTBUG-125211
Task-number: QTBUG-125569
Task-number: QTQAINFRA-3935
Change-Id: Ica024dec44a9581c49cdfb555ba93667f7b34780
Reviewed-by: Toni Saario <toni.saario@qt.io>
Reviewed-by: Lucie Gerard <lucie.gerard@qt.io>
(cherry picked from commit 0055441fc7)
2024-10-15 13:23:08 +02:00
Eike Ziller
2dd0731d72 COIN: Add libsecret-dev on Linux machines for Qt Creator
Qt Creator uses libsecret for saving passwords.
It is dynamically resolved during runtime, but we need the
development package at build time to enable the feature.

Fixes: QTCREATORBUG-31381
Change-Id: I71077694ff0f4d04b1d85215791dc7f6f6663f64
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
(cherry picked from commit 3369aab7fb)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-10-15 06:41:57 +00:00
Axel Spoerl
8e61993566 macOS platform configs: Bump image version to 107
qtci-macos-11-x86_64-107 and qtci-macos-12-x86_64-107 have been created
to add VNC accessibility.

Bump the image version used in CI, in order access debug VMs.

Task-number: QTQAINFRA-5815
Task-number: QTQAINFRA-6626
Pick-to: 6.5
Change-Id: I42c6602f9524b1fbfe47da081a7a15deff001f68
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit 03f00931ec)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-10-11 15:52:41 +00:00
Konsta Alajärvi
607d8786cb Coin: Android: Add Android 15 in CI
Add Android 15 to CI with InsignificantTests flag.

Task-number: QTBUG-127802
Pick-to: 6.5
Change-Id: I16e787e1633edd15efd2191f7e23ac275d4f90f7
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit b5b95a2fa1)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-10-10 14:21:15 +00:00
Jukka Jokiniva
c56cda562f Change precheck on Windows and macOS to developer build
This patch includes the followup fix that also adds the "non tests"
developer build configuration for macos.

Task-number: COIN-1181
Change-Id: I91b156bf4217aba517d02d9003605b09edb08ec6
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit 49b80c57c6)
2024-10-10 07:17:08 +02:00
Qt Submodule Update Bot
f836c2ce76 Update submodules on '6.8 in qt/qt5'
Change-Id: I6b69b37bb7c2c11e24767edc6b93d795b2b17ade
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-10-10 00:20:09 +00:00
Tero Heikkinen
31a68bde20 Provisioning: Enable QDoc for Windows on ARM
Task-number: QTBUG-129256
Change-Id: Iabf378f4ae00efcce8cd0608969a08f5ce997fa9
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
(cherry picked from commit 8cde06eae2)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-10-08 23:25:35 +00:00
Tero Heikkinen
7fbb1c2aec Provisioning: Add libclang for Windows on ARM
Libclang is needed for QDoc.

Adding support for WoA (arch=arm64) also introduced a need
to change archVer parameter from Integer to a string.

Task-number: QTBUG-129256
Change-Id: I13f15925a7639c6f926c564146fbbc88f73fff8f
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
(cherry picked from commit 1fe16f55f0)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-10-08 23:25:29 +00:00
Qt Submodule Update Bot
44717fb041 Update submodules on '6.8 in qt/qt5'
Change-Id: Icc9f7edf569fce0946061731352dced57abe4b44
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-10-08 19:02:11 +00:00
Qt Submodule Update Bot
97c6f7de38 Update submodules on '6.8 in qt/qt5'
Change-Id: Ibda998b316e3086f845bed1ad0f9d8ab022adbb7
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-10-07 18:00:05 +00:00
Simo Fält
661298dc77 Provisioning: Fix installing certificates
Don't try to re-install, but install and let apt do its magic.

Fixes: QTQAINFRA-6638
Change-Id: I60ccd2717854c6644d1b956362ee3fd535e2d87c
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit f24dacca36)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-10-07 12:34:05 +00:00
Assam Boudjelthia
d48e42475e Android: replace Android 9 revision 9 to revision 8 as it's more stable
The current revision 9 seems to have issues that are not reproducible
on other environments and even not with other ABIs like x64 or arm64.

Task-number: QTBUG-97650
Change-Id: I6f4827f170ea11b8aae9cc774c075fa043e4df5a
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit e1015f2718)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-10-05 08:47:33 +00:00
Assam Boudjelthia
f5bfa1122b Android: upadate the sha for Gradle script for provisioning
Use the sha from last update of Gradle and update AGP version
to match qtbase.

Change-Id: Ia235dacfc3206246c4c4330fb185ce1319d45909
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 536555cde6)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-10-05 08:47:29 +00:00
Liang Qi
7b3818271a Revert "platform_configs: remove InsignificantTests for u2404 x11 non-dev"
This reverts commit 0cd87bfd32.

The platform is not stable enough, let's remove it first.

Change-Id: Ia7a378dc1ad867b085528da02e9d7ed70658c1cd
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 7525c795e7)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-10-05 07:19:14 +00:00
Qt Submodule Update Bot
84023b7ee1 Update submodules on '6.8 in qt/qt5'
Change-Id: Iba6adb1dd7d679b0b6f25f9a6f934e5aebab4536
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-10-04 00:10:11 +00:00
Liang Qi
f6fd6e1b53 Add MSVC C++20 build to dev and '6.8'
- add windows-11_23H2-msvc2022-developer-build

Fixes: QTBUG-127127
Change-Id: I7e21a0d1c32675d904fa873fa13a6fdd08ecf1f6
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
(cherry picked from commit d571f689ab)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-10-03 17:26:53 +00:00
Liang Qi
251029c36b platform_configs: remove InsignificantTests for u2404 x11 non-dev
Change-Id: I62c9e581a32e1994affb83aa7c69f0075f7bc283
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
(cherry picked from commit 0cd87bfd32)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-10-03 19:01:03 +02:00
Simo Fält
e5fa3230ef Provisioning: Install libusb for Ubuntu 24.04 arm and macOS 14 arm
Required by qt-apps/qdb

Task-number: QTQAINFRA-6571
Change-Id: I6bf217af528e4daca548c14abef30ec9e76c2161
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit da55c4c620)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-10-01 20:40:26 +00:00
Eike Ziller
0d2a4a1064 COIN/QtCreator: Add precheck for Debian ARM
Different compiler than on RHEL (10.2 vs 10.3)

Change-Id: I3d115dfcc085c0d561a42022e61225f1f280493f
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
(cherry picked from commit 725cd2faaa)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-10-01 20:40:26 +00:00
Samuli Piippo
1ee0e99036 Update platform configs for QDB and flashing wizard
Create common yaml for building static release packages
for all host platforms, including arm linux and windows.

Task-number: QTBUG-117504
Task-number: QTBUG-117819
Change-Id: I8ee78eb9aa4fa5150141227e3367dee1be10f907
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 21e8dd696b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-10-01 20:40:26 +00:00
Qt Submodule Update Bot
87adc6ce0f Update submodules on '6.8 in qt/qt5'
Change-Id: I58f3020045614dc4f5331e74192c822203dfc7a9
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-10-01 18:23:58 +00:00
Jani Korteniemi
3cb8fd1f10 Fix Android emulator timeout and restart on COIN
Changed device's start timeout to 3 minutes,
and restarting retries to 3.

Changed emulator boot check loop to check against
real time value instead int value.
Some of the tests caused previous
for-loop to take more than 1 second.

Task-number: COIN-1154
Pick-to: 6.5 5.15
Change-Id: I58066ad8f440b2fdee3c5b64d094b2713007bf19
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 14c7c3061b)
Reviewed-by: Jani Korteniemi <jani.korteniemi@qt.io>
2024-10-01 11:20:57 +00:00
Qt Submodule Update Bot
be8abb4c4c Update submodules on '6.8 in qt/qt5'
Change-Id: I6bbd260477dae8d907be101ff7703e2ecc8f0277
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-09-30 23:01:39 +00:00
Elias Toivola
80158fdbf3 Add golang and upx to RHEL-8.10 and WoA
Current RHEL 8 version is 8.10 in dev and soon in 6.8 (6.8.1). WoA is also an active platform in dev and 6.8 so let's add Go to it, upx for Windows on Arm has not been implemented yet.

This amends: 337206334e

Change-Id: I8b538e5d68db529e4f396059565856d0af4d8f54
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
(cherry picked from commit b22b144f65)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-09-30 11:49:23 +00:00
Elias Toivola
133ea8eb46 Fix and define cache links for golang and upx
Windows script to install golang tries to download a .exe file from
cache while the install file is really a .msi file.

Golang and upx are new packages to ci-files so let's define their
directory paths as neatly as possible to prevent more clutter to
ci-files.

This amends: 337206334e

Pick-to: 6.7
Change-Id: If6cfa38304bfec207500fcd7a67e3acba994eb9f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
(cherry picked from commit f6313247cc)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-09-30 11:49:21 +00:00
Elias Toivola
b28fbb4c29 Remove Red Hat 8.8 from CI
RHEL-8.8 targets are replaced by RHEL-8.10 targets in platform
configurations. [CI Platforms]

Task-number: QTQAINFRA-6367
Change-Id: I2dcf70b030d72261ec7bd130058a6062644813d6
(cherry picked from commit d1b2722ad7)
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2024-09-30 11:49:20 +00:00
Elias Toivola
cf1a53776d Make Red Hat 8.10 tests as blocking in CI
'InsignificantTests' is removed from all RHEL-8.10 targets and
'Packaging' feature is added to packaging RHEL-8.10 targets. [CI
Platforms]

Task-number: QTQAINFRA-6367
Change-Id: I0a83ccf5b75c7f2c7c8de871c267d286cf3a9296
(cherry picked from commit f221e65cf4)
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2024-09-30 11:49:18 +00:00
Elias Toivola
555085ae8d Provisioning: Add Red Hat 8.10 as non-blocking in CI
RHEL-8.10 will be run in parallel with RHEL-8.8 in CI as non-blocking
until RHEL-8.10 is confirmed stable, then it will replace RHEL-8.8.

Task-number: QTQAINFRA-6367
Change-Id: I4b470754895a72be026e869eb4e4d273eb3801b4
(cherry picked from commit ba9d0e2e4e)
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2024-09-30 11:49:17 +00:00
Liang Qi
dafff66c2d Provisioning: Install libicu to /usr/local on Ubuntu 24.04 arm64
This amends 86a9bd1bb2 .

Pick-to: 6.8.0
Task-number: QTQAINFRA-6510
Task-number: QTBUG-129422
Change-Id: I7ffa5c23dda20fbe3a32e302adc20d2b8e41f52f
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 10da0ba4a3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-09-27 19:22:39 +00:00
Tero Heikkinen
ac13495b0c Provisioning: Make Windows on ARM tests as blocking in CI
Tests have been monitored and passing now [CI Platforms]

Task-number: QTQAINFRA-6109
Task-number: QTQAINFRA-6110
Task-number: QTQAINFRA-6396
Change-Id: I321123e08a4a910a9c7effb5d640773adf8a898c
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 6ed781232a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-09-27 15:50:55 +00:00
Qt Submodule Update Bot
cdaa9b540c Update submodules on '6.8 in qt/qt5'
Change-Id: I23b88c209c595a32f7bc42a38a9cc5a1c4766ade
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-09-27 01:04:45 +00:00
Tero Heikkinen
05792979af Provisioning: Install nodejs to Ubuntu 24.04 arm64
Fixes: QTQAINFRA-6509
Change-Id: I91bfbb24dadaf74707496ed1167de684b2f9dd61
Reviewed-by: Liang Qi <liang.qi@qt.io>
(cherry picked from commit 9be8bb7ea6)
2024-09-26 21:33:12 +02:00
Elias Toivola
ae7d959858 Remove Debian arm64 build from platform configs
Config 'debian-11.6-arm64' to build Debian LoA is not needed anymore as
its purpose is now done by Ubuntu arm64 target which is based on Debian.

Task-number: QTQAINFRA-6129
Change-Id: Ife8a61145e200df30a6f78ba7981b4ed8b5fe5c6
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit db4d3efc3c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-09-25 07:39:20 +00:00
Liang Qi
587e21bf17 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: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-09-20 18:55:48 +00:00
Toni Saario
40d9225f48 Update azure sign tool to 5.0.0
The signtool is dependent on dotnet version. This must be updated
after the dotnet has been updated.

Task-number: QTQAINFRA-6396
Task-number: QTQAINFRA-6109
Change-Id: I346acf6dfefc8e70e61ea05a569ebb5cfcf04c85
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit e752c81add)
2024-09-18 20:56:46 +00:00
Toni Saario
e1aca35523 Install azure tools on windows on arm
Installs azure sign tool.

Task-number: QTQAINFRA-6396
Task-number: QTQAINFRA-6109
Change-Id: I4748f9fd911582361ff5a416fa8e8b8b0aa48716
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit cb832944b2)
2024-09-18 20:56:39 +00:00
Toni Saario
f4568889f4 Update and install dotnet on windows on arm
Required on arm for installing azuresigntool.

Task-number: QTQAINFRA-6396
Task-number: QTQAINFRA-6109
Change-Id: Ia0b2a4476338d090bc79d6a6bae46d1f09dc8600
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 437e25844a)
2024-09-18 20:56:32 +00:00
Jøger Hansegård
dfaabdea43 Add missing GStreamer libraries to provisioning of Ubuntu 24.04 x86_64
The missing libraries are needed to make unit tests pass in CI. With
this patch, we install the same GStreamer libraries on 24.04 as on
22.04.

This follows 02af86d2aa .

Task-number: QTQAINFRA-6098
Change-Id: I9fcb5abe0eba01e1e248eb0eb5aff11de4986235
Reviewed-by: Liang Qi <liang.qi@qt.io>
(cherry picked from commit 263624da12)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-09-18 08:26:20 +00:00
Marcus Tillmanns
687c2c4551 Coin: Add golang & upx to Linux/macOS/Windows
Qt Creator will soon start to rely on go for tools and upx for binary compression.

Right now we can't install upx on macOS which we can live with.
Leaving the script in for later re-enabling once brew has been fixed.

Pick-to: 6.7
Change-Id: I4fdc67e469153e8a0530efd58ff251629dcabdfa
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
(cherry picked from commit 337206334e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-09-18 06:30:19 +00:00
Liang Qi
a1b6183253 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>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
(cherry picked from commit 3f48f4f9ef)
2024-09-14 22:35:13 +02:00
Tor Arne Vestbø
9f21a0b9cb Use macOS 14 ARM to run minimal static tests
Our x86_64 capacity is overloaded.

The Mimer SQL plugin is skipped because it has problems in static
builds.

Change-Id: I5f89cb7aa6b373792090ea16b0137de05574b71b
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 0d018fc073)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-09-14 10:02:33 +00:00
Elias Toivola
deea41c06c WoA: Update Visual Studio to 17.11.2 and disable restore points
This new tier-1 template has an updated MSVC (1941) and other small
optimizations done to Windows 11:
- .NET runtime optimization service is ran so it wont start
  automatically in later VMs.
- Event viewer showed that Windows creates Restore Points during
  provisioning so this is now disabled.
- Widgets are now disabled, so they no longer download weather/news
  data.

Task-number: QTCREATORBUG-31485
Fixes: QTQAINFRA-6518
Change-Id: Ifb60e8a24642e7cff9c8ffef319d6008a6af1fa4
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
(cherry picked from commit 2151c5510f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-09-12 17:41:28 +00:00
Liang Qi
39facc0a95 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-12 17:48:04 +02:00
Liang Qi
df4d7fb42d 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)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-09-12 15:48:02 +00: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
730 changed files with 14513 additions and 2752 deletions

View File

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

3
.gitignore vendored
View File

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

94
.gitmodules vendored
View File

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

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 11.2 or later)
* Supported compiler (Visual Studio 2022 or later, or MinGW-builds gcc 13.1 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.

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()

1166
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)
string(REPLACE "," ";" 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,306 @@
# 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()
# Parses a git repo url to:
# - check if the given url has a scheme like https:// or git:// or is just a
# relative path with no scheme (possibly containing '../' segments)
# - extracts the scheme if it exists
# - extracts the url without the scheme
function(qt_ir_parse_git_url)
set(options "")
set(oneValueArgs
URL
OUT_VAR_HAS_URL_SCHEME
OUT_VAR_SCHEME
OUT_VAR_URL_WITHOUT_SCHEME
)
set(multiValueArgs "")
cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
string(REGEX MATCH "^([a-z][a-z0-9+\-.]*://)(.+)" url_scheme_match "${arg_URL}")
if(url_scheme_match)
set(has_url_scheme TRUE)
set(scheme "${CMAKE_MATCH_1}")
set(url_without_scheme "${CMAKE_MATCH_2}")
else()
set(has_url_scheme FALSE)
set(scheme "")
set(url_without_scheme "${url}")
endif()
if(arg_OUT_VAR_HAS_URL_SCHEME)
set(${arg_OUT_VAR_HAS_URL_SCHEME} "${has_url_scheme}" PARENT_SCOPE)
endif()
if(arg_OUT_VAR_SCHEME)
set(${arg_OUT_VAR_SCHEME} "${scheme}" PARENT_SCOPE)
endif()
if(arg_OUT_VAR_URL_WITHOUT_SCHEME)
set(${arg_OUT_VAR_URL_WITHOUT_SCHEME} "${url_without_scheme}" PARENT_SCOPE)
endif()
endfunction()
# Normalizes a url that contains '../' path segments.
# Removes the '../' segments and the directories that they precede.
# Example:
# git://code.qt.io/qt/../playground/qlitehtml.git
# will be normalized to:
# git://code.qt.io/playground/qlitehtml.git
function(qt_ir_normalize_git_url url out_var)
# The exact perl code was while ($base =~ s,(?!\.\./)[^/]+/\.\./,,g) {}
# That got rid of ../ and ../../ in the path, but it broke down
# when more than two '../' segments were present.
#
# In CMake, we instead parse the url to get the non-scheme suffix,
# use get_filename_component(ABSOLUTE) to resolve the url as if it was a relative path
# and then re-add the scheme if it was present.
qt_ir_parse_git_url(
URL "${url}"
OUT_VAR_HAS_URL_SCHEME has_url_scheme
OUT_VAR_SCHEME url_scheme
OUT_VAR_URL_WITHOUT_SCHEME url_without_scheme
)
# Note the empty BASE_DIR is important, otherwise the path is relative to
# ${CMAKE_CURRENT_SOURCE_DIR}.
get_filename_component(normalized_url "${url_without_scheme}" ABSOLUTE BASE_DIR "")
if(has_url_scheme)
string(PREPEND normalized_url "${url_scheme}")
endif()
set(${out_var} "${normalized_url}" PARENT_SCOPE)
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
# Examples:
# - '../qtbase.git'
# - 'https://code.qt.io/playground/qlitehtml.git'
# - '../../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
# Examples:
# - 'qt5'
# - 'tqtc-qt5'
# - 'qtdeclarative.git'
# - 'qttools.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 some of the '../' segments
# are collapsed depending on how many path segments are available in
# ${parent_repo_base_git_path}.
# Examples:
# - 'qtdeclarative.git'
# - 'https://code.qt.io/playground/qlitehtml.git'
# - '../playground/qlitehtml.git'
macro(qt_ir_parse_git_url_key out_var_prefix submodule_name url_value parent_repo_base_git_path)
qt_ir_parse_git_url(
URL "${url_value}"
OUT_VAR_HAS_URL_SCHEME has_url_scheme
)
if(NOT has_url_scheme)
set(base_git_path "${parent_repo_base_git_path}/${url_value}")
qt_ir_normalize_git_url("${base_git_path}" base_git_path)
else()
set(base_git_path "${url_value}")
endif()
set(${out_var_prefix}_${submodule_name}_url "${url_value}" PARENT_SCOPE)
set(${out_var_prefix}_${submodule_name}_base_git_path "${base_git_path}" PARENT_SCOPE)
endmacro()
# Parses a .git/config or .gitmodules file contents and sets variables for each submodule
# starting with ${out_var_prefix}_
# These include:
# ${out_var_prefix}_${submodule_name}_path
# the path to the submodule relative to the parent repo
# ${out_var_prefix}_${submodule_name}_branch
# the branch that should be checked out when the branch option is used
# ${out_var_prefix}_${submodule_name}_url
# the url key as encountered in the config
# ${out_var_prefix}_${submodule_name}_base_git_path
# the git base path of the submodule, either a full url or a relative path
# ${out_var_prefix}_${submodule_name}_update
# the status of the submodule, can be 'none'
# ${out_var_prefix}_${submodule_name}_status
# the status of the submodule, can be 'essential', 'addon', etc
# ${out_var_prefix}_${submodule_name}_depends
# the list of submodules that this submodule depends on
# ${out_var_prefix}_${submodule_name}_recommends
# the list of submodules that this submodule recommends to be used with
# ${out_var_prefix}_submodules
# a list of all known submodule names encountered in the file
# ${out_var_prefix}_submodules_to_remove
# a list of all submodules to remove due to update == 'none'
# ${out_var_prefix}_statuses to
# a list of all known submodule statuses like 'essential', 'addon', etc
# ${out_var_prefix}_status_${status}_submodules
# a list of all submodules with the specific status
function(qt_ir_parse_git_config_file_contents out_var_prefix)
set(options
READ_GITMODULES
READ_GIT_CONFIG
READ_GIT_CONFIG_LOCAL
)
set(oneValueArgs
PARENT_REPO_BASE_GIT_PATH
WORKING_DIRECTORY
)
set(multiValueArgs "")
cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
qt_ir_get_working_directory_from_arg(working_directory)
if(NOT arg_PARENT_REPO_BASE_GIT_PATH)
message(FATAL_ERROR
"qt_ir_parse_git_config_file_contents: No base PARENT_REPO_BASE_GIT_PATH specified")
endif()
set(parent_repo_base_git_path "${arg_PARENT_REPO_BASE_GIT_PATH}")
if(arg_READ_GITMODULES)
set(read_git_config READ_GITMODULES)
elseif(arg_READ_GIT_CONFIG)
set(read_git_config READ_GIT_CONFIG)
elseif(arg_READ_GIT_CONFIG_LOCAL)
set(read_git_config READ_GIT_CONFIG_LOCAL)
else()
message(FATAL_ERROR
"qt_ir_parse_gitmodules_file_contents: No valid git config file specified")
endif()
qt_ir_get_git_config_contents(contents
${read_git_config}
WORKING_DIRECTORY "${working_directory}"
)
string(REPLACE "\n" ";" lines "${contents}")
set(known_submodules "")
set(statuses "")
set(submodules_to_remove "")
foreach(line IN LISTS lines)
qt_ir_parse_git_key_value()
if(NOT submodule_name OR NOT key OR value STREQUAL "")
continue()
endif()
list(APPEND known_submodules "${submodule_name}")
if(key STREQUAL "path")
set(${out_var_prefix}_${submodule_name}_path "${value}" PARENT_SCOPE)
elseif(key STREQUAL "branch")
set(${out_var_prefix}_${submodule_name}_branch "${value}" PARENT_SCOPE)
elseif(key STREQUAL "url")
qt_ir_parse_git_url_key(
"${out_var_prefix}" "${submodule_name}" "${value}" "${parent_repo_base_git_path}")
elseif(key STREQUAL "update")
# Some repo submodules had a update = none key in their .gitmodules
# in which case we're supposed to skip initialzing those submodules,
# which the perl script did by adding -${submodule_name} to the subset.
# See qtdeclarative Change-Id: I633404f1c00d83dcbdca06a1d287623190323028
set(${out_var_prefix}_${submodule_name}_update "${value}" PARENT_SCOPE)
if(value STREQUAL "none")
list(APPEND submodules_to_remove "-${submodule_name}")
endif()
elseif(key STREQUAL "status")
set(status_submodules "${${out_var_prefix}_status_${value}_submodules}")
list(APPEND status_submodules "${submodule_name}")
list(REMOVE_DUPLICATES status_submodules)
list(APPEND statuses "${value}")
set(${out_var_prefix}_status_${value}_submodules "${status_submodules}")
set(${out_var_prefix}_status_${value}_submodules "${status_submodules}" PARENT_SCOPE)
set(${out_var_prefix}_${submodule_name}_status "${value}" PARENT_SCOPE)
elseif(key STREQUAL "depends")
string(REPLACE " " ";" value "${value}")
set(${out_var_prefix}_${submodule_name}_depends "${value}" PARENT_SCOPE)
elseif(key STREQUAL "recommends")
string(REPLACE " " ";" value "${value}")
set(${out_var_prefix}_${submodule_name}_recommends "${value}" PARENT_SCOPE)
endif()
endforeach()
list(REMOVE_DUPLICATES known_submodules)
list(REMOVE_DUPLICATES submodules_to_remove)
list(REMOVE_DUPLICATES statuses)
set(${out_var_prefix}_submodules "${known_submodules}" PARENT_SCOPE)
set(${out_var_prefix}_submodules_to_remove "${submodules_to_remove}" PARENT_SCOPE)
set(${out_var_prefix}_statuses "${statuses}" PARENT_SCOPE)
endfunction()

View File

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

17
cmake/QtIRScript.cmake Normal file
View File

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

View File

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

View File

@@ -1,12 +1,64 @@
# 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):
# cmake -DQT_FOREACH=TRUE "-DARGS=$*" -P cmake/QtSynchronizeRepo.cmake
#
# The script can take additional options.
#
# SYNC_REF_SPEC - an alias for SYNC_TO_BRANCH, can be a tag, branch or commit sha1.
#
# REMOTE_NAME - remote name to use for fetching, default is origin.
#
# GIT_DEPTH - corresponds to git's --depth option, will be passed to git clone and git submodule
# update --init operations.
#
# SHOW_PROGRESS - passes --progress to git submodule update operations
#
# VERBOSE - enables more verbose output
#
# The script also takes the following environment variables:
#
# QT_TL_SUBMODULE_UPDATE_FLAGS - additional flags to pass to git submodule update calls.
#
# To run the script in full debug mode use:
# cmake -DSYNC_TO_MODULE="$1" -DSYNC_TO_BRANCH="$2" -DSHOW_PROGRESS=1 -DVERBOSE=1
# -P cmake/QtSynchronizeRepo.cmake --log-level=DEBUG --trace-redirect=log.txt --trace-expand
cmake_policy(VERSION 3.16)
include(cmake/QtTopLevelHelpers.cmake)
include("${CMAKE_CURRENT_LIST_DIR}/QtTopLevelHelpers.cmake")
if(QT_FOREACH)
qt_internal_foreach_repo_run(ARGS ${ARGS})
else()
qt_internal_sync_to(${SYNC_TO_MODULE} ${SYNC_TO_BRANCH})
set(args "")
if(SYNC_REF_SPEC)
set(ref_spec "${SYNC_REF_SPEC}")
elseif(SYNC_TO_BRANCH)
set(ref_spec "${SYNC_TO_BRANCH}")
endif()
if(REMOTE_NAME)
list(APPEND args REMOTE_NAME "${REMOTE_NAME}")
endif()
if(GIT_DEPTH)
list(APPEND args GIT_DEPTH "${GIT_DEPTH}")
endif()
if(SHOW_PROGRESS)
list(APPEND args SHOW_PROGRESS)
endif()
if(VERBOSE)
list(APPEND args VERBOSE)
endif()
qt_internal_sync_to(${SYNC_TO_MODULE}
SYNC_REF ${ref_spec}
${args}
)
endif()

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()

File diff suppressed because it is too large Load Diff

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

@@ -47,3 +47,20 @@ instructions:
condition: property
property: features
contains_value: UseConfigure
disable_if:
condition: or
conditions:
- condition: property
property: target.osVersion
in_values: [Android_ANY, QEMU, IOS_ANY, QNX_710, WebAssembly, INTEGRITY, VxWorks]
- condition: and
conditions:
- condition: property
property: target.os
equals_value: Windows
- condition: property
property: target.arch
not_equals_property: host.arch
- condition: property
property: features
not_contains_value: "DebianPackaging"

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,72 @@
Version: 2
Configurations:
-
Id: 'windows-11_23H2-msvc2022-minimal-static-test'
Template: 'qtci-windows-11_23H2-x86_64-53'
Compiler: 'MSVC2022'
Features: ['Sccache', 'UseConfigure', 'Packaging', 'MinimalStaticTests']
Configure arguments: '-static -release -headersclean -nomake examples -qt-libjpeg -no-icu -qt-doubleconversion -qt-zlib -c++std c++20 -no-feature-sql-psql'
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=-DCMAKE_BUILD_TYPE=Release -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_native_grpc=OFF -DFEATURE_clangcpp=OFF -DINPUT_headersclean=ON',
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
Id: 'windows-11_22h2-arm64-msvc2022-minimal-static-test'
Template: 'qtci-windows-11_22H2-aarch64-55'
Compiler: 'MSVC2022'
Features: ['UseConfigure', 'InsignificantTests', 'Packaging', 'MinimalStaticTests']
Configure arguments: '-static -release -headersclean -nomake examples -qt-libjpeg -no-icu -qt-doubleconversion -qt-zlib -c++std c++17 -no-sql-psql'
Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_arm64}}\..',
'NON_QTBASE_CMAKE_ARGS=-DCMAKE_BUILD_TYPE=Release -DFEATURE_native_grpc=OFF -DFEATURE_clangcpp=OFF -DFEATURE_qdoc=OFF',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
Id: 'rhel-8.10-minimal-static-test'
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
Compiler: 'GCC'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'InstallQt5Dependencies', 'MinimalStaticTests']
Configure arguments: '-static -nomake examples -release -qt-libjpeg -no-icu -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=-DCMAKE_BUILD_TYPE=Release -DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DFEATURE_native_grpc=OFF'
]
-
Id: 'ubuntu-24.04-arm64'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
Compiler: 'GCC'
Features: ['Packaging', 'UseConfigure', 'InstallQt5Dependencies', 'DoNotRunTests']
Configure arguments: '-static -nomake examples -release -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -no-libudev -bundled-xcb-xinput -no-icu -qt-doubleconversion'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'NON_QTBASE_CMAKE_ARGS=-DCMAKE_BUILD_TYPE=Release'
]
-
Id: 'macos-universal-on-x86_64-minimal-static-test'
Template: 'qtci-macos-14-x86_64-105'
Compiler: 'Clang'
Target arch: 'x86_64-arm64'
Features: ['Packaging', 'Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure', 'MinimalStaticTests']
Configure arguments: '-static -nomake examples -release -no-framework -no-icu -qt-doubleconversion -no-feature-sql-psql'
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=-DCMAKE_BUILD_TYPE=Release -DFEATURE_gds=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DFEATURE_native_grpc=OFF',
'Protobuf_ROOT=/usr/local/lib/cmake/protobuf'
]
-
Id: 'macos-14-minimal-static-tests-x86_64'
Template: 'qtci-macos-14-x86_64-105'
Compiler: 'Clang'
Features: ['TestOnly', 'Packaging']
Platform dependency: 'macos-universal-on-x86_64-minimal-static-test'
-
Id: 'macos-14-minimal-static-tests-arm64'
Template: 'qtci-macos-14-arm-106'
Compiler: 'Clang'
Features: ['TestOnly', 'Packaging']
Platform dependency: 'macos-universal-on-x86_64-minimal-static-test'

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-14-arm-106'
Compiler: 'Clang'
Features: ['Sccache', 'MinimalStaticTests', 'UseConfigure']
Configure arguments: '-nomake examples -release -force-debug-info -static -no-framework'

View File

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

View File

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

View File

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

View File

@@ -1,39 +1,4 @@
Version: 2
Module only: True
Configurations:
-
Template: 'qtci-windows-10-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'
-
Template: 'qtci-windows-10_22H2-x86_64-51'
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'
-
Template: 'qtci-windows-10-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-windows-10_22H2-x86_64-51'
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.8-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-Ubuntu-18.04-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-Ubuntu-22.04-x86_64-51'
Compiler: 'GCC'
Features: ['TestOnly', 'LicenseCheck', 'UseLegacyInstructions']
Include: [cmake_platforms_static_release.yaml]
Configurations: []

View File

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

View File

@@ -2,16 +2,16 @@ Version: 2
Configurations:
-
Id: 'android-x86-developer-build-testrun-on-linux'
Template: 'qtci-linux-RHEL-8.8-x86_64-50'
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
Target os: 'Android_ANY'
Target arch: 'x86'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'rhel-8.8'
Platform dependency: 'rhel-8.10'
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_26']
'NON_QTBASE_TARGET_CMAKE_ARGS=',
'ANDROID_EMULATOR=emulator_x86_api_28']

View File

@@ -1,15 +1,15 @@
Version: 2
Configurations:
-
Id: 'rhel_8.8_android_multi'
Template: 'qtci-linux-RHEL-8.8-x86_64-50'
Id: 'android-9-multi-abi'
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
Target os: 'Android_ANY'
Target arch: 'multi'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: [
'rhel-8.8',
'android-8-x86-on-linux',
'rhel-8.10',
'android-9-x86-on-linux',
'android-14-x86_64-on-linux'
]
Features: [
@@ -20,9 +20,9 @@ Configurations:
'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-8-x86-on-linux',
'QT_CI_ARTIFACT_ID_PATH_Android-host=QT_CI_ARTIFACT_ID_PATH_rhel-8.10',
'QT_CI_ARTIFACT_ID_PATH_Android-x86=QT_CI_ARTIFACT_ID_PATH_android-9-x86-on-linux',
'QT_CI_ARTIFACT_ID_PATH_Android-x86_64=QT_CI_ARTIFACT_ID_PATH_android-14-x86_64-on-linux',
'COMMON_TARGET_TEST_CMAKE_ARGS=-DQT_ANDROID_ABIS="x86;x86_64"',
'ANDROID_EMULATOR=emulator_x86_api_26'
'ANDROID_EMULATOR=emulator_x86_api_28'
]

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -4,7 +4,7 @@ Configurations:
# cmake_platforms.yaml
Template: 'qtci-linux-Ubuntu-22.04-x86_64-50'
Compiler: 'GCC'
Features: ['Sccache', 'Documentation', 'TestDocs', 'UseConfigure']
Features: ['Sccache', 'Documentation', 'TestDocs', 'UseConfigure', 'DocsGenerationV2']
Configure arguments: '-make examples -developer-build -c++std c++20 -qtlibinfix TestInfix -qtnamespace TestNamespace'
-
Id: 'Ubuntu-22.04-xwayland-host'
@@ -13,7 +13,8 @@ Configurations:
Features: ['Sccache', 'UseConfigure', 'InsignificantTests']
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY'
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'NON_QTBASE_CMAKE_ARGS=-DINPUT_headersclean=ON'
]
-
# default.yaml

View File

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

View File

@@ -1,3 +1,4 @@
Version: 2
Include: [cmake_platforms.yaml]
Module only: True
Include: [cmake_platforms_static_release.yaml]
Configurations: []

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']
-
@@ -10,7 +10,7 @@ Configurations:
Compiler: 'Clang'
Features: ['DisableTests']
-
Template: 'qtci-linux-RHEL-9.2-x86_64-51'
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
Compiler: 'GCC'
Features: ['DisableTests']
-

View File

@@ -2,37 +2,59 @@ Version: 2
Module only: True
Configurations:
-
Template: 'qtci-windows-10_22H2-x86_64-51'
Compiler: 'MSVC2019'
Features: ['Packaging', 'Sccache', 'DebugAndRelease']
Template: 'qtci-windows-10_22H2-x86_64-52'
Compiler: 'MSVC2022'
Features: ['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'
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.8-x86_64-50'
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
Compiler: 'GCC'
Features: ['Packaging', 'Sccache', 'DebugAndRelease']
Features: ['Sccache', 'DebugAndRelease']
Configure arguments: ''
Environment variables: []
-
Template: 'qtci-linux-RHEL-9.2-x86_64-51'
Template: 'qtci-linux-Debian-11.6-aarch64-50'
Compiler: 'GCC'
Features: ['Qt5', 'Sccache', 'DebugAndRelease']
Features: ['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']
Features: ['Sccache', 'DebugAndRelease']
Configure arguments: ''
Environment variables: []
# without tests
-
Template: 'qtci-windows-10_22H2-x86_64-52'
Compiler: 'MSVC2022'
Features: ['Sccache', 'DebugAndRelease', 'DisableTests']
Configure arguments: ''
Environment variables: []
Environment script: ['%ProgramFiles%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'amd64']
# oldest Qt version
-
Template: 'qtci-windows-10_22H2-x86_64-52'
Compiler: 'MSVC2022'
Features: ['Sccache', 'DebugAndRelease', 'OldestQt']
Configure arguments: ''
Environment variables: []
Environment script: ['%ProgramFiles%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'amd64']
-
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'DebugAndRelease', 'OldestQt']
Configure arguments: ''
Environment variables: []
-
Template: 'qtci-macos-14-arm-106'
Compiler: 'Clang'
Features: ['Sccache', 'DebugAndRelease', 'OldestQt']
Configure arguments: ''
Environment variables: []
# license check
-
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Compiler: 'GCC'

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -8,16 +8,16 @@ Include: [
cmake_platforms.yaml: [
"ubuntu-22.04",
"ubuntu-22.04-documentation",
"ubuntu-24.04-arm64",
"opensuse-15.5-developer-build",
"sles-15_sp5-static",
"windows-10_22h2-msvc2019",
"windows-10_22h2-msvc2022",
"windows-10_22h2-msvc2019-developer-build",
"rhel-8.8",
"windows-10_22h2-mingw11",
"windows-10_22h2-mingw11-developer-build",
"windows-10_22h2-llvm",
"windows-11_22h2-msvc2019"
"rhel-8.10",
"windows-10_22h2-mingw13",
"windows-11_23H2-mingw13-developer-build",
"windows-11_23H2-llvm",
"windows-11_23H2-msvc2022",
"windows-11_22h2-arm64-msvc2022"
],
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,12 +42,11 @@ Configurations:
Compiler: 'GCC'
Platform dependency: 'ubuntu-22.04'
Features: ['UseConfigure', 'DoNotRunTests', 'DisableTests', 'Axivion_QSR']
Configure arguments: '-nomake examples -release -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
Environment variables: [
'TARGET_CONFIGURE_ARGS=-release -no-warnings-are-errors -nomake examples -qt-harfbuzz -device linux-generic-g++ -device-option "CROSS_COMPILE={{.Env.QEMUARM64_TOOLCHAIN_CROSS_COMPILE}}" -device-option "DISTRO_OPTS=boot2qt" -no-feature-forkfd_pidfd -qtlibinfix TestInfix',
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QEMUARM64_TOOLCHAIN_FILE}} -DQT_FORCE_BUILD_TOOLS=ON',
'QT_YOCTO_ENVSETUP={{.Env.QEMUARM64_TOOLCHAIN_ENVSETUP}}',
"QT_CMAKE_DIR=/opt/cmake-3.27.7/bin",
"QT_CMAKE_DIR=/opt/cmake-3.30.5/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',

View File

@@ -2,20 +2,21 @@ Version: 2
Include: [
macos.yaml: [
"macos-universal-on-x86_64",
"macos-12-x86_64-tests",
"macos-12-arm-on-arm64-tests"
"macos-14-x86_64-tests",
"macos-14-arm64-tests"
],
cmake_platforms.yaml: [
"ubuntu-22.04",
"ubuntu-22.04-documentation",
"ubuntu-24.04-arm64",
"opensuse-15.5-developer-build",
"sles-15_sp5-static",
"windows-10_22h2-msvc2019",
"windows-10_22h2-msvc2022",
"rhel-8.8",
"windows-10_22h2-mingw11",
"windows-10_22h2-llvm",
"windows-11_22h2-msvc2019"
"rhel-8.10",
"windows-10_22h2-mingw13",
"windows-11_23H2-llvm",
"windows-11_23H2-msvc2022",
"windows-11_22h2-arm64-msvc2022"
],
cmake_platforms_qemu_qnx710.yaml: [
"qnx-710-x86_64-developer-build-on-linux",
@@ -26,8 +27,8 @@ Include: [
# Static build configurations for tools
Configurations:
-
Id: 'macos-latest-xcode-universal-static-build'
Template: 'qtci-macos-12-x86_64-106'
Id: 'macos-latest-x code-universal-static-build'
Template: 'qtci-macos-14-arm-106'
Compiler: 'Clang'
Target arch: 'x86_64-arm64'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'MinimalStaticTests']
@@ -36,20 +37,45 @@ Configurations:
'CMAKE_ARGS=-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"'
]
-
Id: 'Linux-RHEL_8_8_Static'
Template: 'qtci-linux-RHEL-8.8-x86_64-50'
Id: 'Linux-RHEL_8_10_Static'
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
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'
'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'
Compiler: 'MSVC2019'
Id: 'Ubuntu-24.04-arm64_Static'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
Compiler: 'GCC'
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'
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',
'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'
]
-
Id: 'Windows-MSVC2022-arm64_Static'
Template: 'qtci-windows-11_22H2-aarch64-54'
Compiler: 'MSVC2022'
Features: ['Packaging', 'UseConfigure', 'MinimalStaticTests']
Configure arguments: '-release -headersclean -nomake examples -qt-zlib -static -no-icu -no-sql-psql -no-opengl'
Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_arm64}}\..',
'NON_QTBASE_CMAKE_ARGS= -DFEATURE_clangcpp=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
Id: 'Windows-MSVC2022_Static'
Template: 'qtci-windows-10_22H2-x86_64-52'
Compiler: 'MSVC2022'
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'
Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..',
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}']
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
'NON_QTBASE_CMAKE_ARGS=-DINPUT_headersclean=ON'
]

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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