Compare commits

..

125 Commits

Author SHA1 Message Date
Alexandru Croitor
6ef2fa58fa Fix Windows gRPC install with CMake minimum version 3.5
Augments 7a8ffd980f

Pick-to: 6.8 6.11
Task-number: QTQAINFRA-7683
Change-Id: I3e0531eb0df63116a068ae2e66c916e564e3552b
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-04-03 08:04:03 +02:00
Elias Toivola
e2cf3590fb Update OpenSSL to version 3.5.4 in CI
OpenSSL for Windows is now prebuilt. Instructions to build OpenSSL for
Android are also changed.

Pick-to: 6.11
Task-number: QTQAINFRA-5540
Change-Id: I40fb6964b5887c4bfee008997057a75cc70ac037
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-04-02 19:45:03 +00:00
Nils Petter Skålerud
d2bc5fdeae FFmpeg, iOS: Automatically grab version string from source code
This patch allows us to automatically grab the FFmpeg version string
from the source code directly, rather than having to explicitly specify
a version string inside ffmpeg-installation-utils.

Pick-to: 6.11
Change-Id: I657302ab8566592390a51c6f5c3ee989d66efaaa
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2026-04-01 13:45:59 +01:00
Artem Dyomin
b8deff00ef Update nv-codec-headers version to 11.1.5.3
Change-Id: I63283fa327188226f6027c38a18bad1dfebdf2f8
Pick-to: 6.11 6.10 6.8
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
2026-04-01 06:44:28 +00:00
Qt Submodule Update Bot
05f8bb10d9 Update submodules on 'dev in qt/qt5'
Change-Id: Ifbdd1f0551c1b84aed1a1fb0020be518c9b2398a
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-03-30 16:50:26 +00:00
Simo Fält
3bf43a0827 Provisioning: Install libicu to /usr/local on Ubuntu 24.04 x86_64
Build configs are not using correct version from the /opt/icu.

Pick-to: 6.11
Task-number: QTBRIDGES-172
Change-Id: Ic90560036067de1e9d324adfb0c0e765fc521a90
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-03-30 12:54:14 +00:00
Joerg Bornemann
27280bf442 .gitignore: restrict build patterns to directories only
build-* was matching files like build-ohos-deps.sh. Add trailing slash
to both build and build-* so only directories are excluded.

Pick-to: 6.11
Change-Id: I8f5d8c3adcac4071320d70aed5112d037f7cc138
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2026-03-30 10:52:01 +02:00
Qt Submodule Update Bot
478c693b7b Update submodules on 'dev in qt/qt5'
Change-Id: I57974b9c1be978a8e9cbb756226a5b8e76de47ed
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-03-27 21:34:33 +00:00
Qt Submodule Update Bot
095baf0e00 Update submodules on 'dev in qt/qt5'
Change-Id: Ieb2465bc87c5fb504435948357997b67473d7070
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-03-26 19:54:24 +00:00
Jukka Jokiniva
97af7f3855 Fix compilation error in libiodbc on macOS 26
For some unknown reason the compilation has started using -std=gnu23,
which breaks the build.

Forcing "-std=gnu89" allows the build to succeed, so let's do that
as a workaround to unblock qt5, while we continue investigation why
this broke.

Task-number: QTQAINFRA-7775
Change-Id: I59a29ab9a20d5b2302d72b1e6fbbe52c7ecd277a
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2026-03-26 15:13:15 +00:00
Jukka Jokiniva
61ce5dfff1 Remove developer build on macOS 15 Intel
A developer build already exists for macOS 26 Intel, so the macOS 15
configuration is no longer needed. Removing it helps reduce CI load
and saves capacity.

Change-Id: I9000967ec8c0ac0e8fb8f033b5b5beb973429f22
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2026-03-26 08:44:44 +00:00
Allan Sandfeld Jensen
74245b3b85 Add missing html5lib
Pick-to: 6.11
Change-Id: I1f10e5772718222a006732c6bb11d793d2eb9624
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
2026-03-26 09:44:41 +01:00
Kai Köhne
6b968eabd5 Doc: Point potential contributors to contribute.qt-project.org, instead of wiki.qt.io
Change-Id: I54c26009c2f09f60a511ae95989e96793193bb8a
Reviewed-by: Daniel Smith <daniel.smith@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
2026-03-26 09:44:39 +01:00
Qt Submodule Update Bot
7ea233ce27 Update submodules on 'dev in qt/qt5'
Change-Id: Ie3a38d20ef0d5d232a8ab2ccc11b76f82bc16c8c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-03-25 08:39:11 +00:00
Tero Heikkinen
fc6b391028 RHEL 10: Quick fix to skip updates due to cockpit install fail
This should be temporary fix until pinning or update works.

Without updates QtWebengine needs these libs to be installed directly
  - libatomic

Pick-to: 6.11
Task-number: QTQAINFRA-7773
Change-Id: I55bb3cfe671f21986753048cea5f8cf64c25f112
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
2026-03-23 09:43:49 +02:00
Nils Petter Skålerud
99b67a8f3f Windows, OpenSSH: Include .zip file extension when downloading
This script currently downloads the .zip file from the web into a local
file with no file extension. This can cause issues for 7-zip when
unarchiving. This patch fixes this.

As a drive-by, we improve the names of some variables.

Pick-to: 6.11 6.8
Change-Id: Icb1b24646b54d75d825764d30a268fa6e55d0183
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2026-03-20 21:04:59 +01:00
Allan Sandfeld Jensen
073360db1e Explicitly list libclang-dev for Ubuntu 24.04
Is needed by bindgen but not pulled in by dependencies.

Pick-to: 6.11
Change-Id: Ic3963e580f5d03a4c6de89afcac03639d4d3c27f
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
2026-03-20 21:04:57 +01:00
Dimitrios Apostolou
e5e813ef90 windows provisioning: automatically choose the right hash algorithm
...based on the length of the given hash.

Additionally use -ine for string comparison, which explicitly does
case-insensitive comparison. That is what the function needs, previously
it was done implicitly by -ne.

And remove MD5, it's not used anywhere.

Pick-to: 6.11 6.10 6.8 6.5
Change-Id: Ib4303737e5e1d743dd0be1a8f829be9a0db2bc04
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-03-20 21:04:54 +01:00
Dimitrios Apostolou
08892fc088 Update curl version on OpenSUSE-16.0
The version that comes with the distro is buggy, it returns success
instead of failure for the command:

    curl --verbose --fail -L --retry 5 --retry-delay 5 -o filename \
        http://url/that/returns/404

The upstream ticket is: https://github.com/curl/curl/issues/17554

Pick-to: 6.11
Change-Id: Ic763c10a308a24c921a8d2ae1f1c651e0cbac429
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-03-20 21:04:51 +01:00
Matti Paaso
68c8815a01 Provisioning: Update Axivion bauhaus-suite tool
Update tool version from 7.11.1 into 7.11.3

Task-number: QTQAINFRA-7727
Pick-to: 6.11 6.10 6.8
Change-Id: Ic91dbe06c81fc2086e89a715bb1514581ff08620
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-03-20 10:05:41 +02:00
Qt Submodule Update Bot
e1a145abd1 Update submodules on 'dev in qt/qt5'
Change-Id: I4a977b4c31fff5d822acc842b65be15830454394
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-03-19 17:25:28 +00:00
Axel Spoerl
10e3c62702 Disable dock autohide on macOS >= 14
An auto-hidden dock can cause test flakiness by window resizes and
mouse cursor / focus issues when the autohide is toggled.

Disable it on macOS platforms >= 14.

Task-number: QTQAINFRA-7765
Change-Id: Ie488bccd43c203e5bb9a96e731874bab12c2012c
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
2026-03-19 08:40:29 +01:00
Joerg Bornemann
09d858a0de init-repository: Route help output to stdout
CMake's message() writes to stderr, making it
unnecessarily cumbersome to pipe -help
output. Write output via a temp file and cmake -E cat to send it to
stdout instead.

Change-Id: I71710aeb503076586609a69cada94c8a5e30e3be
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-03-10 15:15:04 +00:00
Tero Heikkinen
8bd36b1d0d openSUSE 16.0: Add missing InsignificantTests flag to wasm qtbase
Test tst_qurl has started to fail too often.

Pick-to: 6.11
Task-number: QTQAINFRA-7455
Change-Id: I4f565179fdcf281740e27211a69a1a2868a44cd1
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2026-03-10 10:16:40 +02:00
Eirik Aavitsland
e60dc5c15c Add qtquicktimeline as dependency for qtlottie
Required for new style animations in VectorImage

Change-Id: I9c580a1fd8edb73708c89723b7cbfd9c7c497a0e
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2026-03-05 14:32:10 +01:00
Piotr Wiercinski
a6e71f142d QtBridge: Remove "disable-deprecated-up-to" from config
Remove the flag "-disable-deprecated-up-to 0x070000" which disables all
deprecated function up to Qt 7.0.
We want users to be able to combine qtbridge and cxx-qt in Rust, so both
must use the same Qt version for binary compatibility. If Qt installation
is not present on the system then we will download the minimal Qt from
web.
We also want to support picking specific version of Qt by user:
i.e. "qt_exact_6_10". In this case when the Qt installation is
downloaded from web and built with `disable-deprecated-up-to 0x700000`
it might confusing for user if some functions are missing from API.

Change-Id: I5d00124a1704d4b5a553b7c2d05b3693ff422e74
Reviewed-by: Matthias Rauter <matthias.rauter@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-03-04 21:04:09 +01:00
Simo Fält
c87f7901ba Use OpenGL_GL_PREFERENCE=LEGACY for qtbridges linux config
This is to align with qt5 release binaries.

Change-Id: I8a0a1181eb940fce6078f01fecdbb30e765b3b9c
Reviewed-by: Matthias Rauter <matthias.rauter@qt.io>
Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io>
Reviewed-by: Lena Biliaieva <lena.biliaieva@qt.io>
Reviewed-by: Juha Vuolle <juha.vuolle@qt.io>
2026-03-03 12:46:52 +02:00
Alexandru Croitor
c3679fb285 CMake: Add nightly platform to build Qt with CMake master from source
Upstream CMake sometimes introduces behavior changes or breakage that
affects building Qt or user projects.

It is beneficial to catch these issues earlier, before a major / minor
CMake release is made, and before we update our provisioning scripts
to use a newer CMake.

Add a new nightly platform file, which includes all existing cmake
platform configurations, and adds the "BuildCMakeFromSources" feature
to all of them.

This feature:
- tells qtbase CI instructions to download the latest master branch
sources from the CMake repository mirror
- builds CMake from these sources
- uses this CMake to configure Qt

The nightly build will run once a week to catch potential issues
introduced in newer CMake changes.

Fixes: QTBUG-143633
Change-Id: If7223b462a437f97b9fecabb5726a5fcaab4be53
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2026-02-27 20:18:12 +01:00
Simo Fält
308b434080 Add Linux config for qtbridges-swift
Change-Id: I2cbc04a6b99ec3941c90a8e9623ee4889d00b555
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-02-25 17:15:24 +02:00
Axel Spoerl
3f6cd61644 Nightly baseline run: Move -DFEATURE_xxx args to CMAKE_ARGS
Wrong to add them as configure args.
Put them to the right place.

This amends ab346b98dc.

Change-Id: I5357c3d5ea0ee63f1b292974ceb9fd5792321b4b
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2026-02-24 17:34:10 +00:00
Joerg Bornemann
1d4da9a59b Fix configure -skip not forwarded to CMake
This amends commit 378c8719a9.

Since 378c8719a9, -skip is registered as a known option in
init-repository's option parser. This caused -skip values to be consumed
during option parsing and no longer appear in the unknown_args list that
gets forwarded to configure. As a result, -skip was silently ignored
when -init-submodules was not passed.

Fix by collecting skip modules into a dedicated list from two sources:
the -skip option values consumed by init-repository's parser, and
exclusion entries from -submodules/--module-subset. The merged list is
then forwarded to configure.

This also simplifies the previous merge logic that searched for -skip in
filtered_args, which became dead code after 378c8719a9.

Pick-to: 6.8 6.10 6.11
Task-number: QTBUG-140359
Change-Id: I816020959f86cf4b8e36ce1a62172acd442ed1d3
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-02-23 19:08:45 +01:00
Axel Spoerl
ab346b98dc Nightly baseline run: Add features and testarg
Disable autotests.
Add -auto feature for baseline tests to register discrepancies with
Lancelot.

Task-number: QTQAINFRA-7602
Change-Id: I1ca8130ddf5e5c88635cd1f18ecad194afe6e24c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-02-23 15:52:25 +00:00
Nils Petter Skålerud
55c0e2f24a VxWorks, QEMU: Remove reference to undefined $appPrefix
install-vxworks-qemu.sh uses a variable that doesn't exist, causing
issues when we turn on more strict error-handling.

Pick-to: 6.11 6.10 6.8
Change-Id: I9d644a497e4689c7ab35c80f97548b1a1a6bdf12
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-02-23 10:01:37 +00:00
Simo Fält
8a052e235f Provisioning: Install Swiftly and its dependencies
Swiftly is need to install swift tools to linux.

Change-Id: Idfdaacf680f2dc30aa944811ce3daf2e52efe21d
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-02-21 19:54:01 +02:00
Assam Boudjelthia
ffe1978449 Android: bump to Gradle 9.3.1 and AGP 9.0.0
Following Qt 6.11 release 3rd party components update.

Task-number: QTBUG-143129
Pick-to: 6.11
Change-Id: Idfd310197d5345871637a3e4e1858dbd731eeae8
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
2026-02-21 17:53:55 +00:00
Nils Petter Skålerud
52b3c97ab7 OpenSSL, Android: Enforce correct symlinks in openssl_for_android.sh
There have been cases where necessary symlinks have been lost when
extracting prebuilt OpenSSL builds for Android. This patch ensures the
script will always create them.

As a drive-by, the patch cleans up some behavior related to
'opensslHome' being used to write to a variable outside function scope.

Pick-to: 6.11 6.10 6.8
Change-Id: Id6fb4143aaadcbf11e1b9bc6301ef53d2043ad10
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2026-02-20 14:33:30 +01:00
Tero Heikkinen
0ab91c0886 Unix: Bash scripts needs to be executable
Pick-to: 6.11 6.10 6.8 6.5
Task-number: QTQAINFRA-7709
Change-Id: Ia8802cc2c5e7fb8ed63e261f70fb343cd55a1dfa
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2026-02-20 15:33:22 +02:00
Tero Heikkinen
9deb066d4c Linux: Keep the IANA time zone database (tzdata/timezone) up to date
Need upgrade of the IANA db to 2022g or later with Ubuntu 22.04. Ensure
zoneinfo (tzdata/timezone) always stays up to date with all Linux OS.

Both packages (tzdata/timezone) provide the same thing:
  - the IANA TZ database under /usr/share/zoneinfo/

tzdata:
  - Debian
  - Ubuntu
  - RHEL

timezone:
  - openSUSE
  - SLES

Pick-to: 6.11 6.10 6.8 6.5
Fixes: COIN-1282
Change-Id: I6fe7d548470d8f0f63e5451a6b5203e658575f48
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2026-02-20 15:33:15 +02:00
Daniel Smith
fb581937ff Add platform configuration for tqtc-qtmcp
Change-Id: Ic2e136bb3043e752407ae4d44974cba9d43d757a
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-02-18 13:56:09 +00:00
Joerg Bornemann
378c8719a9 Fix configure -init-submodules ignoring -skip option
When running configure -init-submodules -skip <module>, the -skip
option was ignored because init-repository ran before -skip values
were processed. The skipped modules were still initialized.

Fix by preprocessing -skip values in qt_tl_run_main_script() before
calling qt_ir_run_main_script(). The -skip values are converted to
module-subset exclusions (e.g. -qtwebengine) and merged with the
existing module-subset option.

Also register -skip as a known option in init-repository so it can
be parsed from the optfile.

Fixes: QTBUG-140359
Pick-to: 6.8 6.10 6.11
Change-Id: I37ed916dd1c22b6d10d23821044fee807919d4a9
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-02-18 08:10:35 +00:00
Jukka Jokiniva
d5d3f89ce1 Remove macOS 13 from CI
Change-Id: Ibfc4aabf124bcaf681787c724e822411c3adee37
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2026-02-16 10:53:12 +00:00
Tero Heikkinen
7a5b6bdeaa Add missing comment line to describe patchelf usage
Patchelf is added to fix dependencies in shared ffmpeg libs
(amends 83adc86c53)

Pick-to: 6.11 6.10 6.8
Task-number: QTBUG-120990
Change-Id: Ia9359c1a77e82203d53e3d2940885a0c254024c9
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-02-15 13:04:53 +02:00
Nils Petter Skålerud
c3fe5fe6fe iOS, FFmpeg: Add documentation/commenting
This patch adds more commenting + documentation to the script
'install-ffmpeg-ios.sh'.

Pick-to: 6.11 6.10 6.8
Change-Id: I7e0023651b868d46b3fb4604bcc6d3eb1d24b7b2
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
2026-02-14 22:00:41 +00:00
Nils Petter Skålerud
919a4ae240 iOS, FFmpeg: Include dSYM files
App Store requires that our FFmpeg distribution includes dSYM files for
debugging symbols.

This patch removes stripping from the FFmpeg build, generates the
dSYM files and then manually strips the dylibs afterwards.

Pick-to: 6.11 6.10 6.8
Fixes: QTBUG-143963
Change-Id: I2740f46bb0fd7e7ee9da8dede01944b89bc3db7a
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2026-02-14 20:07:15 +01:00
Nils Petter Skålerud
4df773656c iOS, FFmpeg: Clean up .framework creation logic
This patch rewrites the create_framework() function to
be more readable and adds commenting.

No functional changes.

Pick-to: 6.11 6.10 6.8
Task-number: QTBUG-143963
Change-Id: Id52fb43d733fe0c815a13b15135539452999cb40
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2026-02-13 09:01:29 +01:00
Tero Heikkinen
3480c00adb Fix incorrect external link for ninja package for x64 and arm
x64: ninja-linux.zip
arm: ninja-linux-aarch64.zip

Pick-to: 6.11 6.10 6.8 6.5
Fixes: QTQAINFRA-7701
Change-Id: I36465f6413ae80754f4fa39abb04ce492ed445b7
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-02-13 07:43:58 +02:00
Nils Petter Skålerud
ebe3124831 Move install-ffmpeg-ios.sh into macos folder
Currently this script is stored under unix, but it's only ever going
to be used on macos. This patch moves the script.

No functional changes.

Pick-to: 6.11 6.10 6.8
Change-Id: Iba3d101d360e90ffaa3478689bb002b4e5f65bc1
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2026-02-13 06:43:55 +01:00
Nils Petter Skålerud
ade4488de9 FFmpeg, Android: Simplify OS parameter logic
The script accepts an OS parameter, which is then forwarded into the
`build_ffmpeg_android` function. This function expects a different set
of values, that are different in name only, not in meaning.

This patch makes us forward the OS parameter directly into the function
and changes the internal logic accordingly.

No functional changes.

Pick-to: 6.11 6.10 6.8
Change-Id: I5614f1cf489594cfab2966a680e87a95c7be267b
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2026-02-13 06:43:53 +01:00
Ville-Pekka Karhu
7f2d96a43e Provisioning: Take repo-clones into use in RHEL 9
Pick-to: 6.11 6.10 6.8 6.5
Task-number: QTQAINFRA-5587
Change-Id: I2459a32b96524a4c29769835d5c37b2cb021720e
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-02-12 04:05:30 +02:00
Tero Heikkinen
7a8ffd980f Fix macOS gRPC install with CMake minimum version 3.5
Task-number: QTQAINFRA-7683
Change-Id: I1cf8984420550f078a8125e16ef5f7d995890bbb
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-02-12 04:05:25 +02:00
Tero Heikkinen
fd5f44a57b Fix macOS 13 install-vcpkg-ports.sh failing in provisioning
Fix vcpkg install to use correct architecture (arm64/x64)
as a host when using --host-triplet argument.

Pick-to: 6.11
Task-number: QTQAINFRA-7691
Change-Id: I899f6521b47e407e1c9bde1c0f2b83e560894794
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-02-12 04:05:22 +02:00
Elias Toivola
aa2272379a Android: Make the OpenSSL install script less rigid
OpenSSL packages have differing features indicated in their file name,
separate those in their own $suffix variable for the install function to
reduce hard-coding.

The function will now rename the extracted root directory to mirror the
package name from Ci-files. This is to prevent later "OpenSSL not found"
errors in provisioning when prebuild package and its root are not named
exactly the same.

Pick-to: 6.11 6.10 6.8 6.5
Change-Id: I71019a0d2731aace00ff2eb82d63537673f6e41a
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
2026-02-12 04:05:18 +02:00
Simo Fält
f1872a4b95 CI: Enable Windows on arm config for qtbridge-python
Change-Id: Idc325127865ecb7d7bd4d5636b15cc3214bcd4c5
Reviewed-by: Toni Saario <toni.saario@qt.io>
2026-02-12 04:05:16 +02:00
Nils Petter Skålerud
033329cb00 Stop compiling FFmpeg Android arm64 on old macOS x86 hosts
Android FFmpeg provisioning requires 'readelf', which is provided by
binutils package. This package is shown to be flaky on older macOS x86
hosts. It is not critical that we compile that we compile Android
FFmpeg on these hosts, so this patch removes them.

Pick-to: 6.11 6.10 6.8
Change-Id: I6722f2c543b022a998573cc76ffc671378a4fcb5
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-02-12 03:05:13 +01:00
Qt Submodule Update Bot
ac242f221d Update submodules on 'dev in qt/qt5'
Change-Id: Ibfe0764cc05d0bdb31948f104aee192d7aafad3c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-02-06 04:05:58 +00:00
Oleksii Zbykovskyi
cf406805ab Download a newer version of WindowsVirtualCamera from Qt Multimedia repo
Since the version we use right now has some issues, download a newer
version from the Qt Multimedia repository to get the latest fixes and
improvements.

Change-Id: I6f42c01680ebd9fb3cb67ea802afa23536751ae8
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2026-02-05 18:38:30 +01:00
Ville-Pekka Karhu
3e4f286588 Provisioning: Add missing vcpkg files to Intel macOS 26
Change-Id: I76aa90e005460368741b305fcaf398ae917299e6
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2026-02-04 12:30:13 +00:00
Simo Fält
fb596da6aa CI: Enable arm64 configs for qtbridge-java
Change-Id: Ibafc5105ab8a1494b2bb9f705b56e8f3d74a7e30
Reviewed-by: Toni Saario <toni.saario@qt.io>
2026-02-04 12:34:47 +02:00
Tero Heikkinen
31919c204a Fix openSUSE 15.6 dependency issue with cargo 1.93 installation
Task-number: QTQAINFRA-7669
Change-Id: Id1a8d72c3db3b622b46fa9bbd5fd770001ff3c65
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2026-02-03 10:19:10 +02:00
Allan Sandfeld Jensen
2fb83dd605 Install rust tools on Linux rpm platforms
Pick-to: 6.11
Change-Id: I3df96d6b6575f7735c26d153241d844d085fad87
Reviewed-by: Moss Heim <moss.heim@qt.io>
2026-01-31 11:49:28 +00:00
Simo Fält
160bdc0e7a CI Add config for messagingframework
Change-Id: I959784fe8de19ace03abb589c6aa1317c85283f9
Reviewed-by: Toni Saario <toni.saario@qt.io>
2026-01-31 07:45:46 +00:00
Rami Potinkara
d0c5982795 Coin: Update JDK to 21 LTS
Update Coin to use JDK 21.0.9 LTS:
-macOS 21.0.9
-macOS ARM 21.0.9
-OpenSUSE 16 21.0.9.0-160000.1.1
-OpenSUSE 15.x 21.0.9.0-156000.3.18.2
-RHEL 8.x and 9.x 21.0.9.0.10-1.el9
-SLES 15 21.0.9.0-150600.3.18.2
-Ubuntu 22.04, 22.04 and 24.04 21
-Windows 21.0.9

Task-number: QTBUG-130516
Task-number: QTBUG-130497
Pick-to: 6.11
Change-Id: Ie4d2706b15000b5cbd71991abb4c840027ef2c82
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2026-01-30 22:45:46 +02:00
Qt Submodule Update Bot
80d65734af Update submodules on 'dev in qt/qt5'
Change-Id: I88fb839256dd8a50b4481a939f26d784383848b4
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-01-30 08:33:30 +00:00
Axel Spoerl
3587ad0ef9 Nightly baseline test: Add -auto to TESTARGS
Baseline tests need the -auto argument to actually check baselines.
Add it.

Task-number: QTQAINFRA-7602
Change-Id: Id65f0a46764ce74284a3b445bbd18955bd654ea2
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2026-01-29 08:25:26 +01:00
Tor Arne Vestbø
7c434c9885 Make macOS 26 developer build tests significant
Change-Id: Ic32427249a160b24e4b860dc383a2bb823815773
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2026-01-28 22:33:28 +01:00
Qt Submodule Update Bot
4983ed8c5d Update submodules on 'dev in qt/qt5'
Change-Id: I6886869d13090fd619c0f3ee092fcb41a000f68e
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-01-28 18:10:16 +00:00
Tim Blechmann
8e438b8a28 Nightly: don't build examples on msvc to avoid qmake error
It seems that qmake does not pass /FS to the compiler causing compile
errors in parallel builds. In theory we could still compile examples
with cmake, but there seems to fine-grained configuration for that.

Change-Id: Ia3954cee61e842f029ac0033ee895c39b8b91b04
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2026-01-28 09:53:47 +08:00
Assam Boudjelthia
33695df07e Provisioning: add Android tools to PATH
This makes it easier to use a debug VM without having to use
full paths from the Android SDK and also without having to
know where they live.

Pick-to: 6.5 6.8 6.10 6.11
Change-Id: Ib6c255edae5e5773551fab1008ebdb9a5e1ff8f2
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-01-28 01:53:43 +00:00
Tero Heikkinen
6bf59c7c90 Fix openSUSE 16.0 python dependency failing with libexpat1
To fix ImportError:
  /usr/lib64/python3.13/lib-dynload/
  pyexpat.cpython-313-x86_64-linux-gnu.so:
  undefined symbol: XML_SetAllocTrackerActivationThreshold

Current libexpat1-2.7.1-160000.2.2 did not export the Alloc Tracker
symbol but Python 3.13.11’s pyexpat module was built expecting symbol.

Therefore needs to install newer available libexpat1-2.7.1-160000.3.1

Pick-to: 6.11
Fixes: QTQAINFRA-7650
Change-Id: Iea9b838e97830c9c6f2b1fa3be8db02447b49de4
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-01-27 15:48:27 +02:00
Allan Sandfeld Jensen
94c844fd4d Install rust toolchain on Debian based platforms
Needed for future QtWebEngine updates

Pick-to: 6.11 6.10
Change-Id: Ic2f42f9030a9bdf6f09c0004e035f4f36792cb56
Reviewed-by: Moss Heim <moss.heim@qt.io>
2026-01-26 16:12:18 +01:00
Axel Spoerl
6967caf3a2 Correct Lancelot IP for nightly Ubuntu baseline tests
10.150.153.60 is the right IP. 10.9.70.11 was a legacy address.
Correct it.

Found-by: Juhani.Kurola@qt.io
Task-number: QTQAINFRA-7602
Change-Id: I1b176d0a614960e0f2acfcdcc6ca603d2a1b0ade
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2026-01-26 11:13:35 +01:00
Elias Toivola
f189bb9151 Ubuntu 24.04 x86_64 x11: Set tests as blocking
With disabling the desktop overview and skipping/fixing 100% blocking
tests. The failed test runs for x11 have reduced significantly.

Pick-to: 6.11 6.10
Task-number: QTBUG-132070
Task-number: QTQAINFRA-6098
Change-Id: I4b431235e959a352c0de851961e80336ee241ba3
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
2026-01-23 10:51:22 +02:00
Tero Heikkinen
c6ae09efea Ubuntu 24.04: Upgrade to Ubuntu 24.04.2 LTS in Tier1 X11
This upgrade is needed to fix:
tst_QScreenCaptureBackend failed on Ubuntu 24.04 GNOME X11

Old Tier1: qtci-linux-Ubuntu-24.04-x86_64-51 - X11
New Tier1: qtci-linux-Ubuntu-24.04-x86_64-54 - X11

Other fixes included:
  - 24.04.2 has also a fix to mutterlib issue
  - https://bugs.launchpad.net/ubuntu/+source/gnome-shell/+bug/2095396
  - Which caused a crash seen in journal system logs
  - Installed no-overview gnome extension to fix issue: QTBUG-132070

Pick-to: 6.11 6.10
Task-number: QTQAINFRA-7007
Task-number: QTBUG-128515
Task-number: QTBUG-132070
Change-Id: I4ed86470d7b4ce82802f0a98726eb1ed51931623
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
2026-01-23 10:51:22 +02:00
Qt Submodule Update Bot
af0729eca4 Update submodules on 'dev in qt/qt5'
Change-Id: If9589724e236754d5bac3f3fb7e4f88886397600
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-01-23 07:12:34 +00:00
Ivan Solovev
3407ced707 Provision golang and maven on macOS 26 Intel
They are required to build the Qt OpenAPI module.

Amends 3a7f17e0cd which introduced this
platform.

Task-number: QTBUG-138968
Change-Id: I2fd7b08d7acdd5dbaa89e712968e0b91dcc83839
Reviewed-by: Tatiana Borisova <tatiana.borisova@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-01-22 12:10:15 +00:00
Tim Blechmann
1a9daf1574 FFmpeg: pass minimum deployment target as extra compiler flags
When building on iOS, the minimum deployment target was only declared as
linker flags for the libary. However the flags can affect the run-time
features by potentially enabling APIs or affecting codegen if the
compiler can assume that certain CPU features are present.
We should therefore pass the minimum deployment target as compiler flags
as well as linker flag.

Pick-to: 6.11 6.10 6.8 6.5
Change-Id: If9b96fb31bf4173da2e4c574c1c080be075851b8
Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2026-01-22 20:10:13 +08:00
Tatiana Borisova
e5871fa6e6 Update the openapi-generator-cli version to the latest 7.18.0
- the newest 7.18.0 has some generation updates,
that affect named inline objects generation. It may be
useful from testing perspective to have the latest version
on CI.

Pick-to: 6.11
Change-Id: Iaaaae823b7ccc1496f83e5af845bfcfa7999767f
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-01-22 13:10:10 +01:00
Tero Heikkinen
1e25956312 RHEL 10: Point SBOM_PYTHON_APPS_PATH to virtual env for sbom2doc
Currently sbom2doc is not found with RHEL 10 until this other fix
in qtbase is available: 2dc0c29502bec1ffffbbf098d749a49b494122ac

After that this temporary fix could be removed and proceed to
unify virtual env usage for all linux machines (QTQAINFRA-7642)

Pick-to: 6.11
Task-number: QTQAINFRA-7203
Change-Id: I97adf937afa78371b290baa833c767a106c4c15e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-01-22 14:10:06 +02:00
Tero Heikkinen
28f9120718 Provisioning: Take repo-clones into use in RHEL 10
Pick-to: 6.11
Task-number: QTQAINFRA-7614
Change-Id: If766b511e367a64691a8eb0683c1fdc698d3fa05
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2026-01-22 14:10:04 +02:00
Tero Heikkinen
4d4e6bb490 RHEL 10: Take rhc into use with subscription activation
Both of the subscription activation options needs to run
with sudo as non-root user cannot connect system.

Pick-to: 6.11
Task-number: QTQAINFRA-7637
Change-Id: I933536d7321b9a7e54732395b6e536c5275129d3
Reviewed-by: Toni Saario <toni.saario@qt.io>
2026-01-22 14:10:02 +02:00
Tero Heikkinen
88177e9ab8 sbom: Create virtual env for RHEL 10.0 Python 3.12 requirements
With Python 3.12 SBOM needs jsonschema package newer than 4.19
but cannot uninstall current one installed by RPM:

Error:
  Attempting uninstall: jsonschema
    Found existing installation: jsonschema 4.19.1
error: uninstall-no-record-file
× Cannot uninstall jsonschema 4.19.1

Therefore virtual env is used to fix this.

Pick-to: 6.11
Task-number: QTQAINFRA-7554
Change-Id: I1260ef7fdf0c1ba96acaee1738ed9612e47bedad
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-01-22 14:09:59 +02:00
Alexandru Croitor
6348aa919b sbom: Explicitly install jsonschema package newer than 4.19
Because RHEL 10 comes with an older version of jsonschema (4.19),
which breaks cyclonedx verification at qtbase runtime.

Pick-to: 6.11
Change-Id: Ib7044b6d4107e5382015adfdd8eb747be8605934
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-01-22 14:09:57 +02:00
Alexandru Croitor
30d874ad79 sbom: Bump cyclonedx package to latest 11.5.0
This brings cyclonedx 1.7 support.

Pick-to: 6.11
Change-Id: Id525d07ea1f7d342bf3e683e3a7c64c064c6e4c4
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-01-22 14:09:55 +02:00
Tero Heikkinen
c399d002de Add RHEL 10.0 with non-blocking tests in CI
Notes
  - GCC 14
  - Wayland is mandatory to use as X11 has been removed
  - DISPLAY=:0 should not be used anymore as it's for X11
  - Java JDK 21
  - mysql replaced by mariadb
  - gstreamer1-plugin-openh264 not available
  - nodejs-16 upgraded to nodejs-22
  - Squish is no longer installed in provisioning
  - SBOM needs jsonschema > 4.19 to work with Python 3.12
  - Has these to bypass 'Activities Overview'
    - 'GNOME Classic' Desktop Session
    - 'No Overview' GNOME extension
  - 7z >= 25.01 multi-hop symlinks restricted with -snl switch levels
    --> 7z x -snld10 allows minimal usage to use multi symlinks

EGL support
  - No longer need to install mesa-libEGL with pinned version
  - As there is no longer Xorg to crash when Wayland is used instead

Pick-to: 6.11
Task-number: QTQAINFRA-7203
Task-number: QTQAINFRA-7202
Change-Id: If8b7bfdbc2b84259fd09276e0566b3967c364668
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-01-22 14:09:52 +02:00
Elias Toivola
3a7915481f RHEL 8 & 9: Take rhc into use with subscription activation
Both of the subscription activation options needs to run
with sudo as non-root user cannot connect system.

Task-number: QTQAINFRA-7637
Pick-to: 6.11 6.10 6.8 6.5
Change-Id: I05ea39e4c4a40b5294cc659e4d2e506ee0118848
Reviewed-by: Toni Saario <toni.saario@qt.io>
2026-01-19 07:10:42 +00:00
Qt Submodule Update Bot
4263429114 Update submodules on 'dev in qt/qt5'
Change-Id: I2d4c5797463cf9bb696e5f94d9d47c383ef785d0
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-01-18 02:22:31 +00:00
Matti Paaso
606a8b29c8 Provisioning: Remove system openssl3 on rhel 8
openssl3 package installation started to fail in provisioning due
to missing dependencies. Removing installation, and rely on self
compiled version of openssl3 (09-openssl.sh). Set PKG_CONFIG_PATH
to the built openssl.

Task-number: QTQAINFRA-7620
Pick-to: 6.11 6.10 6.8 6.5
Change-Id: I4626fffe2de669686fd76b054018fb4f98983e36
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-01-17 18:23:26 +00:00
Tero Heikkinen
51bcd64151 Fix failing repo-clones in provisioning with correct URL
Switching repo-clones.ci.qt.io --> repo-clones-apt.ci.qt.io
with testserver where it was missing. Removes temp quick fix.

Replace also ping check towards new repo-clones-apt server.

(amends 13487118df)

Pick-to: 6.11 6.10 6.8 6.5
Task-number: QTQAINFRA-7632
Change-Id: Iff32904aeb9c66f4c76cd1dd0e3d468ca0e9dabd
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2026-01-17 20:23:24 +02:00
Nils Petter Skålerud
b9c677baad Android, FFmpeg: Explicitly set page-size for patchelf
Android arm64 and x86_64 builds now require 16KB page size alignment in
native binaries, this includes FFmpeg. When running patchelf on the
binaries, it will implicitly re-align the affected sections to 4KB page
size.

This patch solves this by using the --page-size flag for patchelf, only
for the builds that require it.

Pick-to: 6.11 6.10 6.8
Fixes: QTBUG-142332
Change-Id: Iba88bf702fd075d2b4432d9cde94f779b14de52f
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2026-01-17 19:23:20 +01:00
Pavel Dubsky
90d17e93a9 Update FFmpeg version to n7.1.3
Task-number: QTBUG-142159
Pick-to: 6.11 6.10.2 6.10 6.8 6.5
Change-Id: I139e4961185d5a88900ba9582a4f8ce10e7ea4c1
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
2026-01-17 18:23:17 +00:00
Ville-Pekka Karhu
bb4d800bd6 Fix macOS 26 Intel VM IP address issue
Fix done with new coin-setup binary installation. Also updates OS version from 26.0 to 26.2

Task-number: QTQAINFRA-7617
Change-Id: I70d5de084ca19b1d9bb5b068ccff7e4fad11ab10
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
2026-01-17 20:23:14 +02:00
Qt Submodule Update Bot
98688fe265 Update submodules on 'dev in qt/qt5'
Change-Id: I1dfeb1cb3aae32a81fd7e4429d4164e90c4ab15e
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-01-15 18:53:20 +00:00
Dimitrios Apostolou
c16277f9d3 Enable sccache on macos-universal-on-arm64
Task-number: QTBUG-141785
Pick-to: 6.11 6.10 6.8
Change-Id: I63283fa327186226f6027c38a08bad1dfebdf2f2
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2026-01-14 23:11:04 +01:00
Fredrik Ålund
6568c2622c Remove unused variable in the Mimer SQL installation script
Remove unused variable in the Mimer SQL installation script for macOS
to get rid of warnings

Change-Id: I10445efcb1eb174881b4696869b7ee62e87416b7
Reviewed-by: Fredrik Ålund <fredrik.alund@mimer.com>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-01-13 21:08:08 +02:00
Matti Paaso
31ea7c6c4a Provisioning: Update Axivion bauhaus-suite
Update tool from 7.10.5 into 7.11.1

Task-number: QTQAINFRA-7596
Pick-to: 6.11 6.10 6.8
Change-Id: Iafb54207d654c484b27f5e8de701f3946b6e1aa6
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2026-01-13 08:38:49 +02:00
Tero Heikkinen
4d1ec89791 Temp quick fix for failing repo-clones in provisioning
Skip repo-clones.ci.qt.io with testserver where it should
use repo-clones-apt.ci.qt.io. Permament fix ongoing.

(related 13487118df)

Pick-to: 6.11 6.10 6.8 6.5
Task-number: QTQAINFRA-7632
Change-Id: I22bae5dfc96df82bb308233ec895f7164f4cc629
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2026-01-12 22:06:20 +02:00
Jukka Jokiniva
674655fe32 Update qtgrpc submodule
Qt5 level builds need the fix for expired ssl certificates.

Change-Id: I8aff2d2d0b9efdd2acccb322973cebf6b519fa54
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2026-01-12 22:06:15 +02:00
Qt Submodule Update Bot
4466bd8555 Update submodules on 'dev in qt/qt5'
Change-Id: I5cc0baab4727ee3dcf972bb62ca860c692e52838
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-01-06 00:40:49 +00:00
Simo Fält
8fd9b78872 CI: Add platform configs for qtbridges language repositories
Change-Id: Ie04b0455335c09a2070ed277c597f3a06b2ffa1c
Reviewed-by: Toni Saario <toni.saario@qt.io>
2026-01-05 16:39:45 +02:00
Simo Fält
5476a35d44 COIN: Adapt qtdotnet platform configs to new repo name
Change-Id: I33b0ea6ff2854e371306af89e2b36f92dfc33005
Reviewed-by: Toni Saario <toni.saario@qt.io>
2026-01-05 12:24:05 +00:00
Axel Spoerl
2b4ab5519b Add Ubuntu nightly job for baseline tests
Create a nightly build for Ubuntu based baseline tests.

Task-number: QTQAINFRA-7602
Change-Id: I23b8a1ac5853a98c4bc1889856c13239496163ab
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2025-12-30 23:04:35 +01:00
Oleksii Zbykovskyi
2450189a4f Initial installation of the virtual camera on Windows
It's not possible to test video APIs in CI, when they require hardware.
Install a virtual camera driver on Windows, that can be used in autotests.

Steps for installation and configuration of vcam are:
install vcam from GitLab, restore NuGet packages and build the solution,
register the created DLL in the win register, and set the env. variable.

Task-number: QTBUG-139831
Change-Id: I963aca94e980440dc96e6998e3cd6de387dd80e9
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-12-29 19:46:20 +01:00
Matti Paaso
a1289ed5d5 Fix Axivion analysis module database name
Task-number: QTQAINFRA-7599
Pick-to: 6.11 6.10 6.8
Change-Id: Ie89be9ede1bc36b0ca776d45fb8df8d82cc5d3d3
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-12-29 08:10:23 +02:00
Simo Fält
bee5ded33b Provisioning: Install debhelper-compat to Ubuntu 22.04
We need this to be able to create some dependency debian packages.

Pick-to: 6.11
Change-Id: Ic4f3259f8bf29fa19c10394b63634f1512db47bc
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-12-23 15:17:20 +00:00
Olli Vuolteenaho
dc592b73d6 Build and package Qt Gradle Plugin in CI
We want to add automation to the Qt Gradle Plugin build / packaging /
release process. The first step is to build the JARs in CI and upload
those to internal servers. To enable this we'll change the Linux
configuration to also build the binaries instead of only testing.

The "Packaging" feature is added to enable fetching the binaries after
successful integrations.

Task-number: QTTA-238
Task-number: QTBUG-142800
Change-Id: I004f1171d7c28c59fad057306c6e1c89007cfde0
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
2025-12-23 04:07:02 +00:00
Alexey Edelev
9a13282256 Add vcpkg provisioning on macos platforms
Change-Id: Iee721367772f64a956bf421a8564845506138c33
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Alexey Edelev <semlanik@gmail.com>
2025-12-22 06:25:09 +01:00
Alexey Edelev
5579337dde Add lipomerge tool provisioning
The tool provides an easy and convenient way of merging
per-architecture macos libraries into the universal ones.

Change-Id: Idcec68ea13e4cf4e201373866f1ebabbbc586414
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-12-20 19:38:13 +01:00
Alexey Edelev
4456a7f592 Move linux vcpkg and vcpkg-ports installation files to a common unix directory
These scripts are generic for both linux and macos, we may parameterize
them and reuse on both platforms.

Change-Id: Ia61cfbbf5c91e2135e38253c4a96605015d2d1b6
Reviewed-by: Alexey Edelev <semlanik@gmail.com>
2025-12-20 19:38:10 +01:00
Alexey Edelev
da911f9b20 Unify the vcpkg manifest location
There is not particular reason to hold multiple manifests for the vcpkg
for different platforms, since we expect that the direct dependency set
that is used from vcpkg will remain the same on each platform.
Keeping copies of the vcpkg manifest doesn't make much sense.

The vcpkg manifest and configuration file are now in the
coin/provisioning/common/shared/vcpkg directory.

Change-Id: Icc9c88592c68cb591216f3d0668f9984592d6c7b
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-12-20 19:38:08 +01:00
Alexey Edelev
406dca5bf3 Provision patchelf on ARM macOS 13, 15, and 26
This is required by vcpkg.

The x86_64 macOS and macOS 14 platforms already have patchelf installed.

Change-Id: I722abf2792dcfe954248196ab9bc0ca39d01570a
Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
2025-12-20 19:38:06 +01:00
Qt Submodule Update Bot
9c05c68c86 Update submodules on 'dev in qt/qt5'
Change-Id: I6a47611163ab5fa1d0e04e2bf62e9b84c296dca9
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-12-20 09:10:08 +00:00
Ivan Solovev
8fb136fc8a Revert "Set ZLIB_ROOT on Windows with MSVC"
This reverts commit aecfc7e23b.

Reason for revert: QtOpenAPI can use the zlib that is bundled with
Qt now (which is the case for all MSVC configurations in CI), and
that commit broke qtinsighttracker.

Task-number: QTBUG-138968
Fixes: QTBUG-142771
Pick-to: 6.11
Change-Id: I69344c52572a472baed96a136aecbe33b310da16
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
Reviewed-by: Tatiana Borisova <tatiana.borisova@qt.io>
2025-12-19 13:45:09 +00:00
Oleksii Zbykovskyi
f032c3156d Install NuGet in a separate file
Made an installation of NuGet in a separate script to be able to share
the packages by an environment variable between multiple scripts.
NuGet is needed for both the Windows App SDK and a virtual camera.

Also added a label on top of the scripts about copyright and license.

Change-Id: I11f035d8eb107d2d2c9e2a93f17a935129bb707e
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
2025-12-18 09:46:54 +01:00
Qt Submodule Update Bot
e98fab4c4e Update submodules on 'dev in qt/qt5'
Change-Id: I984119b13cc52c849e03045382a4f3db426dfeed
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-12-18 00:32:29 +00:00
Simo Fält
e6c1ad7c0b COIN: Move QtBridges dotnet config to its own yaml file
The development was moved to different repo.

Change-Id: I57544c891d4b4aebac2687952ad6b655948618d1
Reviewed-by: Toni Saario <toni.saario@qt.io>
2025-12-17 09:07:21 +02:00
Simo Fält
dd0dae532f Provisioning: Install Workload.NativeDesktop .NET package
Change-Id: If28badaf1ddb6befca3bacd355f19c4298b96193
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-12-17 09:07:20 +02:00
Toni Saario
a98c97ed95 Make VxWorks x86_64 tests significant for qtbase
Pick-to: 6.11
Change-Id: I4224cd484edc9fabe639b1566c624d862b0c829f
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-12-17 07:06:40 +00:00
Nils Petter Skålerud
c5a42f267f FFmpeg, Android: Use 'llvm-strip' from Android NDK explicitly
When running 'install-ffmpeg-android.sh' on Ubuntu hosts, it may fail
due to the FFmpeg build process using the host's 'strip' executable.
This causes the build to fail due to the 'strip' throwing an error
due to it not being able to recognize the format of the .so files for
the FFmpeg Android build.

This patch solves this by explicitly using the executable 'llvm-strip'
command from the Android NDK.

Pick-to: 6.11 6.10 6.8
Change-Id: Ia32c31e3e9d1f550a026f2684362e19d663a8863
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2025-12-16 20:40:06 +01:00
Jukka Jokiniva
2bac4d3be9 Remove license check on Ubuntu 22.04
The configuration is duplicate as it is also run on 24.04.

Pick-to: 6.11 6.10 6.8
Task-number: QTQAINFRA-7146
Change-Id: Icbd1f7379cb1f23ed8c818f25aa3e09c5fcb5a45
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-12-16 16:08:27 +02:00
Nils Petter Skålerud
e3966f2ffc Linux, FFmpeg: Make install-ffmpeg-linux.sh take an output parameter
Currently, this script is hardcoded to output to the directory
'/usr/local/'. This output is stored in the variable 'prefix'. However,
this variable is used inconsistently in the script, meaning we cannot
actually modify the variable to change the output directory.

This patch does the following:
- Applies the 'prefix' variable where necessary.
- Allows an optional command-line parameter to be applied to 'prefix',
allowing one to specify where the output directory. This is
particularly useful for local builds.

No changes to current CI behavior.

Pick-to: 6.11 6.10 6.8
Change-Id: I51f83ce3844c2aa9db778b1c54091acb64a227e6
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-12-16 15:08:21 +01:00
Joerg Bornemann
6bd3b23b6c init-repository: Fix passing no --alternates option
Commit d6918d7ac5 broke init-repository if
you did not pass an --alternates option.

Pick-to: 6.8 6.10 6.11
Task-number: QTBUG-142712
Fixes: QTBUG-142744
Change-Id: Ia727b420a34a46e52f0f05e549aabe2c975c6d7e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-12-16 09:28:12 +00:00
Ville-Pekka Karhu
02beaf2090 Provisioning: Take repo-clones into use in RHEL 8
Pick-to: 6.10 6.8 6.5 5.15
Task-number: QTQAINFRA-7605
Change-Id: If368b7a648d8c97a0028ac834f74326a54d643d7
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-12-16 09:28:03 +00:00
Rami Potinkara
45aeb45a6e Provisioning: update Gradle cache to Android SDK 36
This patch updates build.gradle to set compile- and
targetSdkVersion to 36.

Task-number: QTBUG-138552
Task-number: QTBUG-138549
Pick-to: 6.11 6.10 6.8
Change-Id: I44be99956f39e7bc23e8c5a3d15289dfdd574921
Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
2025-12-16 09:28:00 +00:00
Johanna Äijälä
4bff151490 Provisioning: cleanup, remove Squish installations
RTA is using different means to install Squish for RTA tests, no need
to do it in general provisioning.

Pick-to: 6.11
Change-Id: I4858a282ad7a0b1412f6dd0f4876109fe54a4c88
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-12-16 11:27:57 +02:00
Rami Potinkara
2795f20a4e Provisioning: bump Android sdkBuildToolsVersion and sdkApiLevel to 36
This patch bumps:
-The sdkBuildToolsVersion used in Coin to 36.0.0
-The sdkApiLevel used in Coin to 36

Task-number: QTBUG-138550
Task-number: QTBUG-138549
Pick-to: 6.11 6.10 6.8
Change-Id: Ic63cd28ba39743e517ea3a3e2f9ec08bd5dc3267
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-12-16 09:27:54 +00:00
661 changed files with 2612 additions and 1149 deletions

4
.gitignore vendored
View File

@@ -5,8 +5,8 @@ Makefile
CMakeLists.txt.user* CMakeLists.txt.user*
CMakeUserPresets.json CMakeUserPresets.json
.vscode .vscode
build build/
build-* build-*/
.DS_Store .DS_Store
init-repository.opt init-repository.opt
init-repository.opt.in init-repository.opt.in

2
.gitmodules vendored
View File

@@ -249,7 +249,7 @@
branch = dev branch = dev
status = ignore status = ignore
[submodule "qtlottie"] [submodule "qtlottie"]
depends = qtbase qtdeclarative depends = qtbase qtdeclarative qtquicktimeline
path = qtlottie path = qtlottie
url = ../qtlottie.git url = ../qtlottie.git
branch = dev branch = dev

View File

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

View File

@@ -5,6 +5,37 @@
# with renamed functions, because we need similar logic for init-repository, but # with renamed functions, because we need similar logic for init-repository, but
# we can't access qtbase before we clone it. # we can't access qtbase before we clone it.
function(qt_ir_print_to_stdout text)
set(tmp_candidates
"${CMAKE_CURRENT_BINARY_DIR}"
"$ENV{TMPDIR}"
"$ENV{TEMP}"
"/tmp"
)
set(tmp "")
foreach(dir IN LISTS tmp_candidates)
if(dir STREQUAL "")
continue()
endif()
set(candidate "${dir}/.qt_configure_stdout_tmp")
execute_process(
COMMAND "${CMAKE_COMMAND}" -E touch "${candidate}"
RESULT_VARIABLE touch_result
)
if(touch_result EQUAL 0)
set(tmp "${candidate}")
break()
endif()
endforeach()
if(tmp STREQUAL "")
message("${text}") # last resort fallback (stderr)
return()
endif()
file(WRITE "${tmp}" "${text}")
execute_process(COMMAND "${CMAKE_COMMAND}" -E cat "${tmp}")
file(REMOVE "${tmp}")
endfunction()
# Call a function with the given arguments. # Call a function with the given arguments.
function(qt_ir_call_function func) function(qt_ir_call_function func)
set(call_code "${func}(") set(call_code "${func}(")
@@ -178,7 +209,6 @@ function(qt_ir_command_line_set_input name val)
endfunction() endfunction()
# Appends a value of a command line option into a global property. # Appends a value of a command line option into a global property.
# Currently unused
function(qt_ir_command_line_append_input name val) function(qt_ir_command_line_append_input name val)
if(NOT "${commandline_option_${name}_alias}" STREQUAL "") if(NOT "${commandline_option_${name}_alias}" STREQUAL "")
set(name "${commandline_option_${name}_alias}") set(name "${commandline_option_${name}_alias}")
@@ -240,6 +270,22 @@ function(qt_ir_commandline_string arg val nextok)
endif() endif()
endfunction() endfunction()
# Like string, but appends to the existing value instead of overwriting.
# Allows repeated flags like: -skip qtwebengine -skip qtwebview
function(qt_ir_commandline_addString 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_append_input("${arg}" "${val}")
endif()
endfunction()
# Sets / handles the value of a command line void option. # Sets / handles the value of a command line void option.
# This is an option like --force, which doesn't take any arguments. # This is an option like --force, which doesn't take any arguments.
# Currently unused # Currently unused
@@ -279,6 +325,7 @@ endfunction()
# #
# Currently handles the following types of CLI arguments: # Currently handles the following types of CLI arguments:
# string # string
# addString (like string, but accumulates values from repeated flags)
# boolean # boolean
# void # void
# #
@@ -352,16 +399,17 @@ endfunction()
# Shows help for the command line options. # Shows help for the command line options.
function(qt_ir_show_help) function(qt_ir_show_help)
set(help "")
set(help_file "${CMAKE_CURRENT_LIST_DIR}/QtIRHelp.txt") set(help_file "${CMAKE_CURRENT_LIST_DIR}/QtIRHelp.txt")
if(EXISTS "${help_file}") if(EXISTS "${help_file}")
file(READ "${help_file}" content) file(READ "${help_file}" content)
message("${content}") string(APPEND help "${content}")
endif() endif()
string(APPEND help [[
message([[
General Options: General Options:
-help, -h ............ Display this help screen -help, -h ............ Display this help screen
]]) ]])
qt_ir_print_to_stdout("${help}")
endfunction() endfunction()
# Gets the unhandled command line args. # Gets the unhandled command line args.
@@ -427,11 +475,13 @@ endfunction()
# Convert to absolute path if necessary. # Convert to absolute path if necessary.
function(qt_ir_get_option_as_existing_absolute_path name value) function(qt_ir_get_option_as_existing_absolute_path name value)
qt_ir_get_option_value("${name}" path) qt_ir_get_option_value("${name}" path)
if(NOT EXISTS "${abspath}") if(NOT "${path}" STREQUAL "")
qt_ir_add_error("The path '${path}' passed with -${name} does not exist.") if(NOT EXISTS "${path}")
endif() qt_ir_add_error("The path '${path}' passed with -${name} does not exist.")
if(NOT IS_ABSOLUTE "${path}") endif()
get_filename_component(path "${path}" ABSOLUTE) if(NOT IS_ABSOLUTE "${path}")
get_filename_component(path "${path}" ABSOLUTE)
endif()
endif() endif()
set("${value}" "${path}" PARENT_SCOPE) set("${value}" "${path}" PARENT_SCOPE)
endfunction() endfunction()

View File

@@ -89,6 +89,26 @@ function(qt_ir_handle_called_from_configure top_level_src_path out_var_exit_reas
qt_ir_validate_options_for_configure() qt_ir_validate_options_for_configure()
# Convert -skip values to module-subset exclusions so init-repository respects them.
qt_ir_get_option_value(skip skip_modules)
if(skip_modules)
string(REPLACE "," ";" skip_modules "${skip_modules}")
list(TRANSFORM skip_modules STRIP)
list(TRANSFORM skip_modules PREPEND "-")
qt_ir_get_option_value(module-subset existing_subset)
if(NOT existing_subset)
set(existing_subset "default")
endif()
list(APPEND skip_modules "${existing_subset}")
list(REMOVE_DUPLICATES skip_modules)
list(JOIN skip_modules "," merged_subset)
qt_ir_set_option_value(module-subset "${merged_subset}")
message(DEBUG "Preprocessed -skip option: module-subset is now: ${merged_subset}")
endif()
# -init_submodules implies --force # -init_submodules implies --force
qt_ir_set_option_value(force TRUE) qt_ir_set_option_value(force TRUE)
@@ -110,6 +130,11 @@ function(qt_ir_get_args_from_optfile_configure_filtered optfile_path out_var)
set(extra_configure_args "") set(extra_configure_args "")
set(extra_cmake_args "") set(extra_cmake_args "")
# Collect modules to skip. These may come from:
# 1. The -skip option (consumed by init-repository's option parser)
# 2. Exclusion entries in -submodules/--module-subset (e.g. -qtfoo)
qt_ir_get_option_value(skip skip_modules)
# If the -submodules or --module-subset options were specified, transform # If the -submodules or --module-subset options were specified, transform
# the values into something configure understands and pass them to configure. # the values into something configure understands and pass them to configure.
qt_ir_get_option_value(module-subset submodules) qt_ir_get_option_value(module-subset submodules)
@@ -133,25 +158,10 @@ function(qt_ir_get_args_from_optfile_configure_filtered optfile_path out_var)
endif() endif()
list(JOIN include_submodules "," include_submodules) list(JOIN include_submodules "," include_submodules)
list(JOIN exclude_submodules "," exclude_submodules)
# Handle case when the -skip argument is already passed. # Merge exclusions from module-subset into the skip list.
# In that case read the passed values, merge with new ones, if(exclude_submodules)
# remove both the -skip and its values, and re-add it later. list(APPEND skip_modules ${exclude_submodules})
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() endif()
# Handle case when only '-submodules existing' is passed and the # Handle case when only '-submodules existing' is passed and the
@@ -159,9 +169,13 @@ function(qt_ir_get_args_from_optfile_configure_filtered optfile_path out_var)
if(include_submodules) if(include_submodules)
list(APPEND extra_configure_args "-submodules" "${include_submodules}") list(APPEND extra_configure_args "-submodules" "${include_submodules}")
endif() endif()
if(exclude_submodules) endif()
list(APPEND extra_configure_args "-skip" "${exclude_submodules}")
endif() # Forward all collected skip modules to configure.
if(skip_modules)
list(REMOVE_DUPLICATES skip_modules)
list(JOIN skip_modules "," skip_csv)
list(APPEND extra_configure_args "-skip" "${skip_csv}")
endif() endif()
# Insert the extra arguments into the proper positions before and after '--'. # Insert the extra arguments into the proper positions before and after '--'.

View File

@@ -38,6 +38,7 @@ macro(qt_ir_set_known_command_line_options)
qt_ir_commandline_option(init-submodules TYPE boolean) qt_ir_commandline_option(init-submodules TYPE boolean)
# We alias qtbase's submodules option to init-repository module-subset. # We alias qtbase's submodules option to init-repository module-subset.
qt_ir_commandline_option(submodules ALIAS module-subset TYPE string) qt_ir_commandline_option(submodules ALIAS module-subset TYPE string)
qt_ir_commandline_option(skip TYPE addString)
set_property(GLOBAL PROPERTY _qt_ir_known_command_line_options "${commandline_known_options}") set_property(GLOBAL PROPERTY _qt_ir_known_command_line_options "${commandline_known_options}")
endmacro() endmacro()

View File

@@ -120,15 +120,15 @@ Configurations:
# Test on Ubuntu 24.04 x64 X11 # Test on Ubuntu 24.04 x64 X11
- -
Id: 'ubuntu-24.04-x64-developer-build-x11-tests' Id: 'ubuntu-24.04-x64-developer-build-x11-tests'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51' Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Compiler: 'GCC' Compiler: 'GCC'
Features: ['Sccache', 'TestOnly', 'InsignificantTests'] Features: ['Sccache', 'TestOnly']
Platform dependency: 'ubuntu-24.04-x64-developer-build' Platform dependency: 'ubuntu-24.04-x64-developer-build'
- -
Id: 'ubuntu-24.04-x64-x11-tests' Id: 'ubuntu-24.04-x64-x11-tests'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51' Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Compiler: 'GCC' Compiler: 'GCC'
Features: ['Sccache', 'TestOnly', 'InsignificantTests'] Features: ['Sccache', 'TestOnly']
Platform dependency: 'ubuntu-24.04-x64' Platform dependency: 'ubuntu-24.04-x64'
- -
Id: 'opensuse-15.6-developer-build' Id: 'opensuse-15.6-developer-build'
@@ -182,7 +182,6 @@ Configurations:
'VCPKG_TARGET_TRIPLET=x64-windows-qt', 'VCPKG_TARGET_TRIPLET=x64-windows-qt',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}', 'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}', 'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
'ZLIB_ROOT={{.Env.ZLIB_PATH_AMD64}}',
] ]
- -
Id: 'windows-11_24H2-msvc2022' Id: 'windows-11_24H2-msvc2022'
@@ -191,14 +190,13 @@ Configurations:
Features: ['Sccache', 'Packaging', "DebugAndRelease", 'UseConfigure', 'GenerateSBOM', 'VerifySBOM'] Features: ['Sccache', 'Packaging', "DebugAndRelease", 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib' Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib'
Environment variables: [ Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\..', 'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ROOT_DIR_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\..',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_clangcpp=OFF -DINPUT_headersclean=ON', '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}}', 'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
'VCPKG_HOST_TRIPLET=x64-windows-qt', 'VCPKG_HOST_TRIPLET=x64-windows-qt',
'VCPKG_TARGET_TRIPLET=x64-windows-qt', 'VCPKG_TARGET_TRIPLET=x64-windows-qt',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}', 'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}', 'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
'ZLIB_ROOT={{.Env.ZLIB_PATH_AMD64}}',
] ]
- -
Id: 'windows-11_23h2-arm64-msvc2022' Id: 'windows-11_23h2-arm64-msvc2022'
@@ -213,7 +211,6 @@ Configurations:
'VCPKG_TARGET_TRIPLET=arm64-windows-qt', 'VCPKG_TARGET_TRIPLET=arm64-windows-qt',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}', 'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}', 'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
'ZLIB_ROOT={{.Env.ZLIB_PATH_ARM64}}',
] ]
- -
Id: 'windows-11_24H2-msvc2022-arm64' Id: 'windows-11_24H2-msvc2022-arm64'
@@ -227,9 +224,9 @@ Configurations:
'TARGET_CONFIGURE_ARGS=-debug-and-release -force-debug-info -platform win32-arm64-msvc -qt-zlib -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer', 'TARGET_CONFIGURE_ARGS=-debug-and-release -force-debug-info -platform win32-arm64-msvc -qt-zlib -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer',
'TARGET_CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ROOT_DIR_x64_arm64}} -DQT_FORCE_BUILD_TOOLS=ON', 'TARGET_CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ROOT_DIR_x64_arm64}} -DQT_FORCE_BUILD_TOOLS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE', 'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE',
'OPENSSL_CONF_x64={{.Env.OPENSSL_CONF_x64_arm64}}', 'OPENSSL_INCLUDE={{.Env.OPENSSL_INCLUDE_x64_arm64}}',
'OPENSSL_INCLUDE_x64={{.Env.OPENSSL_INCLUDE_x64_arm64}}', 'OPENSSL_LIB={{.Env.OPENSSL_LIB_x64_arm64}}',
'OPENSSL_LIB_x64={{.Env.OPENSSL_LIB_x64_arm64}}', 'OPENSSL_ROOT_DIR={{.Env.OPENSSL_ROOT_DIR_x64_arm64}}',
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc_arm64}}', 'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc_arm64}}',
'VCPKG_HOST_TRIPLET=x64-windows-qt', 'VCPKG_HOST_TRIPLET=x64-windows-qt',
'VCPKG_TARGET_TRIPLET=arm64-windows-qt', 'VCPKG_TARGET_TRIPLET=arm64-windows-qt',
@@ -256,7 +253,6 @@ Configurations:
'VCPKG_HOST_TRIPLET=x64-windows-qt', 'VCPKG_HOST_TRIPLET=x64-windows-qt',
'VCPKG_TARGET_TRIPLET=x64-windows-qt', 'VCPKG_TARGET_TRIPLET=x64-windows-qt',
'gRPC_ROOT={{.Env.gRPC_ROOT_msvc}}', 'gRPC_ROOT={{.Env.gRPC_ROOT_msvc}}',
'ZLIB_ROOT={{.Env.ZLIB_PATH_AMD64}}',
] ]
- -
Id: 'rhel-9.6' Id: 'rhel-9.6'
@@ -270,6 +266,18 @@ Configurations:
'VCPKG_HOST_TRIPLET=x64-linux-qt', 'VCPKG_HOST_TRIPLET=x64-linux-qt',
'VCPKG_TARGET_TRIPLET=x64-linux-qt', 'VCPKG_TARGET_TRIPLET=x64-linux-qt',
] ]
-
Id: 'rhel-10.0'
Template: 'qtci-linux-RHEL-10.0-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure', 'InstallQt5Dependencies', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
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}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON',
'VCPKG_HOST_TRIPLET=x64-linux-qt',
'VCPKG_TARGET_TRIPLET=x64-linux-qt',
]
- -
Id: 'ios-universal' Id: 'ios-universal'
Template: 'qtci-macos-14-arm-106' Template: 'qtci-macos-14-arm-106'

View File

@@ -1,10 +1,5 @@
Version: 2 Version: 2
Configurations: Configurations:
-
Id: 'ubuntu-22.04-license-check'
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Compiler: 'GCC'
Features: ['TestOnly', 'LicenseCheckV2']
- -
Id: 'ubuntu-24.04-x64-license-check' Id: 'ubuntu-24.04-x64-license-check'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50' Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'

View File

@@ -12,23 +12,19 @@ Configurations:
Template: 'qtci-macos-15-arm-104' Template: 'qtci-macos-15-arm-104'
Compiler: 'Clang' Compiler: 'Clang'
Target arch: 'x86_64-arm64' Target arch: 'x86_64-arm64'
Features: ['Packaging', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM'] Features: ['Sccache', 'Packaging', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -framework' Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -framework'
Environment variables: [ Environment variables: [
'CMAKE_ARGS=-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}', 'CMAKE_ARGS=-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
'NON_QTBASE_CMAKE_ARGS=-DFEATURE_gds=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON -DQT_FEATURE_open62541_security=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',
'VCPKG_HOST_TRIPLET=universal-osx-qt',
'VCPKG_TARGET_TRIPLET=universal-osx-qt',
] ]
# Test on all supported macOS versions (deployment targets) # Test on all supported macOS versions (deployment targets)
# On x86_64 # On x86_64
-
Id: 'macos-13-x86_64-tests'
Template: 'qtci-macos-13-x86_64-103'
Compiler: 'Clang'
Features: ['Sccache', 'TestOnly', 'Packaging']
Platform dependency: 'macos-universal-on-arm64'
- -
Id: 'macos-14-x86_64-tests' Id: 'macos-14-x86_64-tests'
Template: 'qtci-macos-14-x86_64-105' Template: 'qtci-macos-14-x86_64-105'
@@ -43,7 +39,7 @@ Configurations:
Platform dependency: 'macos-universal-on-arm64' Platform dependency: 'macos-universal-on-arm64'
- -
Id: 'macos-26-x86_64-tests' Id: 'macos-26-x86_64-tests'
Template: 'qtci-macos-26-x86_64-100' Template: 'qtci-macos-26-x86_64-101'
Compiler: 'Clang' Compiler: 'Clang'
Features: ['Sccache', 'TestOnly', 'Packaging', 'DoNotAbortTestingOnFirstFailure'] Features: ['Sccache', 'TestOnly', 'Packaging', 'DoNotAbortTestingOnFirstFailure']
Platform dependency: 'macos-universal-on-arm64' Platform dependency: 'macos-universal-on-arm64'
@@ -51,12 +47,6 @@ Configurations:
# And arm64 # And arm64
-
Id: 'macos-13-arm64-tests'
Template: 'qtci-macos-13-arm-107'
Compiler: 'Clang'
Features: ['Sccache', 'TestOnly', 'Packaging']
Platform dependency: 'macos-universal-on-arm64'
- -
Id: 'macos-14-arm64-tests' Id: 'macos-14-arm64-tests'
Template: 'qtci-macos-14-arm-106' Template: 'qtci-macos-14-arm-106'
@@ -84,17 +74,7 @@ Configurations:
- -
Id: 'macos-x86_64-developer-build' Id: 'macos-x86_64-developer-build'
Template: 'qtci-macos-15-x86_64-103' Template: 'qtci-macos-26-x86_64-101'
Compiler: 'Clang'
Features: ['Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure', 'StandaloneExamples']
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',
]
-
Id: 'macos-26-x86_64-developer-build'
Template: 'qtci-macos-26-x86_64-100'
Compiler: 'Clang' Compiler: 'Clang'
Features: ['Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure', 'StandaloneExamples'] Features: ['Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure', 'StandaloneExamples']
Configure arguments: '-developer-build -release -force-asserts -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'
@@ -111,6 +91,8 @@ Configurations:
Environment variables: [ Environment variables: [
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}', 'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
'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',
'VCPKG_HOST_TRIPLET=universal-osx-qt',
'VCPKG_TARGET_TRIPLET=universal-osx-qt',
] ]
- -
Id: 'macos-26-arm64-developer-build' Id: 'macos-26-arm64-developer-build'
@@ -121,15 +103,11 @@ Configurations:
Environment variables: [ Environment variables: [
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}', 'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
'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',
'VCPKG_HOST_TRIPLET=arm64-osx-qt',
'VCPKG_TARGET_TRIPLET=arm64-osx-qt',
] ]
# Test on all supported macOS versions (deployment targets) # Test on all supported macOS versions (deployment targets)
-
Id: 'macos-13-arm64-developer-build-tests'
Template: 'qtci-macos-13-arm-107'
Compiler: 'Clang'
Features: ['TestOnly']
Platform dependency: 'macos-arm64-developer-build'
- -
Id: 'macos-14-arm64-developer-build-tests' Id: 'macos-14-arm64-developer-build-tests'
Template: 'qtci-macos-14-arm-106' Template: 'qtci-macos-14-arm-106'
@@ -146,6 +124,6 @@ Configurations:
Id: 'macos-26-arm64-developer-build-tests' Id: 'macos-26-arm64-developer-build-tests'
Template: 'qtci-macos-26-arm-104' Template: 'qtci-macos-26-arm-104'
Compiler: 'Clang' Compiler: 'Clang'
Features: ['TestOnly', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure'] Features: ['TestOnly']
Platform dependency: 'macos-26-arm64-developer-build' Platform dependency: 'macos-26-arm64-developer-build'
Environment variables: [ 'COIN_CTEST_IGNORE_EXIT_CODE=1' ] Environment variables: [ 'COIN_CTEST_IGNORE_EXIT_CODE=1' ]

View File

@@ -0,0 +1,8 @@
Version: 2
Module only: true
Include: [
cmake_platforms.yaml: [
"ubuntu-22.04"
]
]
Configurations: []

View File

@@ -0,0 +1,11 @@
Version: 2
Include: [
cmake_platforms.yaml,
address_sanitizer_platforms.yaml,
offline_documentation.yaml
]
Configurations: []
Overrides:
-
Id: '.*'
+Features: ['BuildCMakeFromSources']

View File

@@ -2,7 +2,7 @@ Version: 2
Configurations: Configurations:
- -
Id: 'ubuntu-24.04-x64-examples-and-tests-build' Id: 'ubuntu-24.04-x64-examples-and-tests-build'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51' Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Compiler: 'GCC' Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests', 'NoSubmoduleDependencies'] Features: ['Sccache', 'UseConfigure', 'DoNotRunTests', 'NoSubmoduleDependencies']
Configure arguments: '-make examples -make tests' Configure arguments: '-make examples -make tests'

View File

@@ -2,7 +2,7 @@ Version: 2
Configurations: Configurations:
- -
Id: 'ubuntu-24.04-x64-run-cmake-tests' Id: 'ubuntu-24.04-x64-run-cmake-tests'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51' Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Compiler: 'GCC' Compiler: 'GCC'
Features: ['Sccache', 'NoSubmoduleDependencies', 'TopLevelRunCMakeTests', 'DisableTests', 'VMSize16'] Features: ['Sccache', 'NoSubmoduleDependencies', 'TopLevelRunCMakeTests', 'DisableTests', 'VMSize16']
Configure arguments: '' Configure arguments: ''

View File

@@ -0,0 +1,16 @@
Version: 2
Module only: True
Configurations:
-
Id: 'ubuntu-22.04-baseline-tests'
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure']
Configure arguments: '-developer-build -nomake examples'
Environment variables: [
'CMAKE_ARGS=-DFEATURE_test_auto=OFF -DFEATURE_test_baseline=ON -DOpenGL_GL_PREFERENCE=LEGACY',
'CTEST_DIR=tests/baseline',
'TESTARGS=-auto',
'QT_LANCELOT_SERVER=10.150.153.60'
]

View File

@@ -5,7 +5,7 @@ Configurations:
Template: 'qtci-windows-11_24H2-x86_64-71' Template: 'qtci-windows-11_24H2-x86_64-71'
Compiler: 'MSVC2022' Compiler: 'MSVC2022'
Features: ['Sccache', 'Debug', 'UseConfigure', 'DoNotRunTests'] Features: ['Sccache', 'Debug', 'UseConfigure', 'DoNotRunTests']
Configure arguments: '-debug -force-debug-info -headersclean -make examples -qt-zlib' Configure arguments: '-debug -force-debug-info -headersclean -nomake examples -qt-zlib' # disabled example builds: qmake builds fail with C1041
Environment variables: [ Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\.. -DQT_UNITY_BUILD=ON', 'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\.. -DQT_UNITY_BUILD=ON',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_clangcpp=OFF -DINPUT_headersclean=ON', 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_clangcpp=OFF -DINPUT_headersclean=ON',

View File

@@ -15,8 +15,3 @@ Include: [
quick-bridges.yaml quick-bridges.yaml
] ]
Configurations: [] Configurations: []
Overrides:
# Make VxWorks tests insignificant.
-
Id: 'vxworks-x86_64-tests'
Features: ['VMSize8', 'UseConfigure', 'BuildTestsInTest', 'TestOnly', 'InsignificantTests']

View File

@@ -0,0 +1,13 @@
Version: 2
Include: [
quick-bridges.yaml: [
"windows-quick-bridges"
]
]
Configurations:
-
Id: 'windows-quick-bridges-csharp'
Template: 'qtci-windows-11_24H2-x86_64-71'
Compiler: 'MSVC2022'
Platform dependency: 'windows-quick-bridges'
Features: ['Packaging', 'Sccache', "DebugAndRelease", 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesCsharp']

View File

@@ -0,0 +1,46 @@
Version: 2
Include: [
quick-bridges.yaml: [
"macos-quick-bridges",
"linux-quick-bridges",
"windows-quick-bridges"
]
]
Configurations:
-
Id: 'windows-quick-bridges-java'
Template: 'qtci-windows-11_24H2-x86_64-71'
Compiler: 'MSVC2022'
Platform dependency: 'windows-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesJava']
-
Id: 'windows-on-arm-quick-bridges-java'
Template: 'qtci-windows-11_23H2-aarch64-53'
Compiler: 'MSVC2022'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'QtBridgesJava']
-
Id: 'linux-quick-bridges-java'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Compiler: 'GCC'
Platform dependency: 'linux-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'RunAsPlatformDependency', 'QtBridgesJava']
-
Id: 'linux-on-arm-quick-bridges-java'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-52'
Compiler: 'GCC'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'QtBridgesJava']
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
]
-
Id: 'macos-quick-bridges-universal-java'
Template: 'qtci-macos-15-arm-104'
Compiler: 'Clang'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'QtBridgesJava']
Environment variables: [
'CMAKE_ARGS=-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"',
]

View File

@@ -0,0 +1,37 @@
Version: 2
Include: [
quick-bridges.yaml: [
"macos-quick-bridges",
"windows-quick-bridges"
],
cmake_platforms.yaml: [
"rhel-9.6"
]
]
Configurations:
-
Id: 'windows-quick-bridges-python'
Template: 'qtci-windows-11_24H2-x86_64-71'
Compiler: 'MSVC2022'
Platform dependency: 'windows-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesPython']
-
Id: 'linux-quick-bridges-python'
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
Compiler: 'GCC'
Platform dependency: 'rhel-9.6'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesPython']
-
Id: 'macos-quick-bridges-python'
Template: 'qtci-macos-15-arm-104'
Compiler: 'Clang'
Platform dependency: 'macos-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesPython']
-
Id: 'windows-on-arm-quick-bridges-python'
Template: 'qtci-windows-11_23H2-aarch64-53'
Compiler: 'MSVC2022'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'QtBridgesPython']

View File

@@ -0,0 +1,21 @@
Version: 2
Include: [
quick-bridges.yaml: [
"linux-quick-bridges",
"windows-quick-bridges"
]
]
Configurations:
-
Id: 'windows-quick-bridges-rust'
Template: 'qtci-windows-11_24H2-x86_64-71'
Compiler: 'MSVC2022'
Platform dependency: 'windows-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesRust']
-
Id: 'linux-quick-bridges-rust'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Compiler: 'GCC'
Platform dependency: 'linux-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'RunAsPlatformDependency', 'QtBridgesRust']

View File

@@ -0,0 +1,21 @@
Version: 2
Include: [
quick-bridges.yaml: [
"macos-quick-bridges",
"linux-quick-bridges"
]
]
Configurations:
-
Id: 'macos-quick-bridges-swift'
Template: 'qtci-macos-15-arm-104'
Compiler: 'Clang'
Platform dependency: 'macos-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesSwift']
-
Id: 'linux-quick-bridges-swift'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Compiler: 'GCC'
Platform dependency: 'linux-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesSwift']

View File

@@ -10,13 +10,6 @@ Include: [
] ]
] ]
Configurations: Configurations:
-
Id: 'windows-quick-bridges-dotnet'
Template: 'qtci-windows-11_24H2-x86_64-71'
Compiler: 'MSVC2022'
Platform dependency: 'windows-quick-bridges'
Features: ['Packaging', 'Sccache', "DebugAndRelease", 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesDotnet']
- -
Id: 'windows-quick-bridges-rust' Id: 'windows-quick-bridges-rust'
Template: 'qtci-windows-11_24H2-x86_64-71' Template: 'qtci-windows-11_24H2-x86_64-71'
@@ -47,14 +40,14 @@ Configurations:
- -
Id: 'linux-quick-bridges-java' Id: 'linux-quick-bridges-java'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51' Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Compiler: 'GCC' Compiler: 'GCC'
Platform dependency: 'linux-quick-bridges' Platform dependency: 'linux-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'RunAsPlatformDependency', 'QtBridgesJava'] Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'RunAsPlatformDependency', 'QtBridgesJava']
- -
Id: 'linux-quick-bridges-rust' Id: 'linux-quick-bridges-rust'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51' Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Compiler: 'GCC' Compiler: 'GCC'
Platform dependency: 'linux-quick-bridges' Platform dependency: 'linux-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'RunAsPlatformDependency', 'QtBridgesRust'] Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'RunAsPlatformDependency', 'QtBridgesRust']

View File

@@ -5,7 +5,7 @@ Configurations:
Id: 'qtgp-on-linux-rhel_9_6' Id: 'qtgp-on-linux-rhel_9_6'
Template: 'qtci-linux-RHEL-9.6-x86_64-51' Template: 'qtci-linux-RHEL-9.6-x86_64-51'
Compiler: 'GCC' Compiler: 'GCC'
Features: ['TestOnly'] Features: ['Packaging', 'UseConfigure']
- -
Id: 'qtgp-on-macos' Id: 'qtgp-on-macos'
Template: 'qtci-macos-14-arm-106' Template: 'qtci-macos-14-arm-106'

View File

@@ -2,7 +2,7 @@ Version: 2
Configurations: Configurations:
- -
Id: 'ubuntu-24.04-x86-static-qtlite' Id: 'ubuntu-24.04-x86-static-qtlite'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51' Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Compiler: 'GCC' Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests', 'MinimalStaticTests'] Features: ['Sccache', 'UseConfigure', 'DoNotRunTests', 'MinimalStaticTests']
Configure arguments: > Configure arguments: >
@@ -224,7 +224,7 @@ Configurations:
] ]
- -
Id: 'ubuntu-24.04-x86-static-qtlite-tests' Id: 'ubuntu-24.04-x86-static-qtlite-tests'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51' Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Compiler: 'GCC' Compiler: 'GCC'
Features: ['Sccache', 'TestOnly','InsignificantTests'] Features: ['Sccache', 'TestOnly','InsignificantTests']
Platform dependency: 'ubuntu-24.04-x86-static-qtlite' Platform dependency: 'ubuntu-24.04-x86-static-qtlite'

View File

@@ -13,7 +13,6 @@ Configurations:
-separate-debug-info -separate-debug-info
-optimize-size -optimize-size
-shared -shared
-disable-deprecated-up-to 0x070000
-no-feature-widgets -no-feature-widgets
-no-feature-sql -no-feature-sql
-no-feature-printsupport -no-feature-printsupport
@@ -24,7 +23,7 @@ Configurations:
Environment variables: [] Environment variables: []
- -
Id: 'linux-quick-bridges' Id: 'linux-quick-bridges'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51' Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Compiler: 'GCC' Compiler: 'GCC'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'Insignificant'] Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'Insignificant']
Configure arguments: > Configure arguments: >
@@ -35,7 +34,6 @@ Configurations:
-separate-debug-info -separate-debug-info
-optimize-size -optimize-size
-shared -shared
-disable-deprecated-up-to 0x070000
-no-feature-widgets -no-feature-widgets
-no-feature-sql -no-feature-sql
-no-feature-printsupport -no-feature-printsupport
@@ -43,7 +41,9 @@ Configurations:
-no-feature-vnc -no-feature-vnc
-no-feature-picture -no-feature-picture
-no-feature-pdf -no-feature-pdf
Environment variables: [] Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
]
- -
Id: 'windows-quick-bridges' Id: 'windows-quick-bridges'
Template: 'qtci-windows-11_24H2-x86_64-71' Template: 'qtci-windows-11_24H2-x86_64-71'
@@ -56,7 +56,6 @@ Configurations:
-force-debug-info -force-debug-info
-optimize-size -optimize-size
-shared -shared
-disable-deprecated-up-to 0x070000
-no-feature-widgets -no-feature-widgets
-no-feature-sql -no-feature-sql
-no-feature-printsupport -no-feature-printsupport

View File

@@ -151,7 +151,7 @@ Configurations:
Platform dependency: 'macos-quick-minimal' Platform dependency: 'macos-quick-minimal'
- -
Id: 'linux-quick-minimal' Id: 'linux-quick-minimal'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51' Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Compiler: 'GCC' Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure', 'DisableTests', 'Insignificant'] Features: ['Sccache', 'UseConfigure', 'DisableTests', 'Insignificant']
Configure arguments: > Configure arguments: >

View File

@@ -0,0 +1,15 @@
Version: 2
Include: [
cmake_platforms.yaml: [
'ubuntu-22.04',
'ubuntu-22.04-x11-tests',
'ubuntu-24.04-x64',
'ubuntu-24.04-x64-x11-tests',
'windows-11_24H2-msvc2022'
],
macos.yaml: [
'macos-arm64-developer-build',
'macos-14-arm64-developer-build-tests'
]
]
Configurations: []

View File

@@ -12,5 +12,5 @@ Configurations:
Template: 'qtci-linux-openSUSE-16.0-x86_64-51' Template: 'qtci-linux-openSUSE-16.0-x86_64-51'
Target os: 'WebAssembly' Target os: 'WebAssembly'
Compiler: 'GCC' Compiler: 'GCC'
Features: ['Sccache', 'TestOnly'] Features: ['Sccache', 'TestOnly', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
Platform dependency: 'webassembly-linux-thread-asyncify-new' Platform dependency: 'webassembly-linux-thread-asyncify-new'

View File

@@ -2,67 +2,67 @@ Version: 2
Module only: True Module only: True
Configurations: Configurations:
- -
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51' Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Compiler: 'Yocto' Compiler: 'Yocto'
Features: ['Packaging'] Features: ['Packaging']
Target arch: 'TARGET1' Target arch: 'TARGET1'
- -
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51' Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Compiler: 'Yocto' Compiler: 'Yocto'
Features: ['Packaging'] Features: ['Packaging']
Target arch: 'TARGET2' Target arch: 'TARGET2'
- -
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51' Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Compiler: 'Yocto' Compiler: 'Yocto'
Features: ['Packaging'] Features: ['Packaging']
Target arch: 'TARGET3' Target arch: 'TARGET3'
- -
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51' Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Compiler: 'Yocto' Compiler: 'Yocto'
Features: ['Packaging'] Features: ['Packaging']
Target arch: 'TARGET4' Target arch: 'TARGET4'
- -
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51' Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Compiler: 'Yocto' Compiler: 'Yocto'
Features: ['Packaging'] Features: ['Packaging']
Target arch: 'TARGET5' Target arch: 'TARGET5'
- -
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51' Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Compiler: 'Yocto' Compiler: 'Yocto'
Features: ['Packaging'] Features: ['Packaging']
Target arch: 'TARGET6' Target arch: 'TARGET6'
- -
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51' Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Compiler: 'Yocto' Compiler: 'Yocto'
Features: ['Packaging'] Features: ['Packaging']
Target arch: 'TARGET7' Target arch: 'TARGET7'
- -
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51' Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Compiler: 'Yocto' Compiler: 'Yocto'
Features: ['Packaging'] Features: ['Packaging']
Target arch: 'TARGET8' Target arch: 'TARGET8'
- -
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51' Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Compiler: 'Yocto' Compiler: 'Yocto'
Features: ['Packaging'] Features: ['Packaging']
Target arch: 'TARGET9' Target arch: 'TARGET9'
- -
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51' Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Compiler: 'Yocto' Compiler: 'Yocto'
Features: ['Packaging'] Features: ['Packaging']
Target arch: 'TARGET10' Target arch: 'TARGET10'
- -
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51' Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Compiler: 'Yocto' Compiler: 'Yocto'
Features: ['Insignificant'] Features: ['Insignificant']
Target arch: 'INSIGNIFICANT_TARGET1' Target arch: 'INSIGNIFICANT_TARGET1'
- -
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51' Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Compiler: 'Yocto' Compiler: 'Yocto'
Features: ['Insignificant'] Features: ['Insignificant']
Target arch: 'INSIGNIFICANT_TARGET2' Target arch: 'INSIGNIFICANT_TARGET2'
- -
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51' Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Compiler: 'Yocto' Compiler: 'Yocto'
Features: ['Insignificant'] Features: ['Insignificant']
Target arch: 'INSIGNIFICANT_TARGET3' Target arch: 'INSIGNIFICANT_TARGET3'

View File

@@ -0,0 +1,13 @@
#!/usr/bin/env bash
# Copyright (C) 2026 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
sudo tee -a /etc/dconf/db/local.d/00-media-automount <<"EOF"
[org/gnome/desktop/media-handling]
automount=false
automount-open=false
EOF
sudo dconf update

View File

@@ -0,0 +1,88 @@
### RHEL 10.0 ###
Hard Disk: 500G
Network: CI
Video Card: Total Video Memory: 64MB
Boot options/Firmware: BIOS
Language: English (United States)
Keyboard: English (US), Norwegian (Windows), Finnish (Windows)
Time & Date: Etc/Coordinated Universal Time
Software Selection: Server with GUI
Installation Destination: Automatic partitioning selected
Root Passowrd: Set
Network & Host..: Connected
KDUMP enabled: Memory Reservation: automatic
Begin Installation
Reboot
# Configure Settings
Notifications:
* Lock Screen Notifications: OFF
* Applications: Set notification off
* Do Not Disturb: on
Applications:
* Disable notifications from all applications
Privacy:
* Blank Screen Delay: Never
* Screen Lock: OFF
Power:
* Blank screen: Never
Displays:
* Resolution: 1280 x 800
Users:
* Automatic login on
# Add user to sudoers
Add 'qt ALL=NOPASSWD: ALL' to /etc/sudoers.d/qt
Add 'GRUB_GFXMODE=1280x800' to /etc/default/grub
sudo grub2-mkconfig -o /etc/grub2.cfg
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
# Add support for virtio driver
su
echo "add_drivers+=\" virtio-blk \"" >> /etc/dracut.conf.d/virtio.conf
dracut -f
# NOTE!
# - RHEL uses 'sudo subscription-manager release --set=10.0' in provisioning
# - Do not update Tier 1 via GUI without using this same --set before provisioning
# - To avoid System to have newer packages than RPMS which will cause update issues
# Register RHEL before it's possible to install qemu-guest-agent
subscription-manager register
yum -y install qemu-guest-agent
# Do these from Opennebula UI!
# Enable network connection from right upper corner
This is done when the VM is launched as persistent in OpenNebula.
# Fetch and run coin-setup
Download http://coin/coin/binary/linux_amd64/coin-setup
# run as qt user
run './coin-setup'
# Switch to use GNOME Classic user interface
# GNOME Classic was selected because there's an issue with Standard (wayland display server).
# Autotest start failing because terminal session remains in Activities Overview.
# https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3854
First execute script ./01-disable-automounting.sh (dconf update crash in GNOME Classic)
logout -> Select user (without it the drop down menu won't appear) -> switch to 'GNOME Classic' -desktop session from drop down menu in login screen
# If gear icon is not seen, check is 'GNOME Classic' -desktop session installed, and install if it's missing
ls /usr/share/xsessions/
# This should list something like these if it's installed
gnome-classic.desktop
gnome.desktop
# To install GNOME Classic if it's missing
sudo dnf reinstall gnome-classic-session
# In RHEL 10.0 even with 'GNOME Classic' -desktop the Activities Overview is still in use
# It can be bypassed via 'No Overview' -GNOME extension:
# - https://extensions.gnome.org/extension/4099/no-overview/
# - Select GNOME Shell version 47 to download
# - Unpack extension from tar.gz
sudo mv <extension_folder> /usr/share/gnome-shell/extensions/no-overview@fthx
sudo chown -R root: /usr/share/gnome-shell/extensions/no-overview@fthx
sudo chmod 755 -R /usr/share/gnome-shell/extensions/no-overview@fthx
sudo reboot
gnome-extensions list
gnome-extensions enable no-overview@fthx
Reboot

View File

@@ -53,6 +53,17 @@ run 'sudo ufw disable'
run 'sudo apt install qemu-guest-agent' run 'sudo apt install qemu-guest-agent'
# Install no-overview gnome extension to prevent desktop overview at boot (QTBUG-132070)
# - https://extensions.gnome.org/extension/4099/no-overview/
# - Select GNOME Shell version 46 to download
# - Unpack extension to (mkdir): /usr/share/gnome-shell/extensions/no-overview@fthx
sudo chown -R root /usr/share/gnome-shell/extensions/no-overview@fthx
sudo chmod 755 -R /usr/share/gnome-shell/extensions/no-overview@fthx
sudo reboot
gnome-extensions list
gnome-extensions enable no-overview@fthx
gnome-extensions info no-overview@fthx # Check for "Active"
# Fetch and run coin-setup (in Opennebula) # Fetch and run coin-setup (in Opennebula)
Download http://coin/coin/binary/linux_amd64/coin-setup Download http://coin/coin/binary/linux_amd64/coin-setup
run 'chmod +x ./coin-setup' to make it executable run 'chmod +x ./coin-setup' to make it executable

View File

@@ -1,12 +1,7 @@
*.iml *.iml
.gradle .gradle
.idea
/local.properties /local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
.DS_Store .DS_Store
/build /build
/captures /captures

View File

@@ -4,19 +4,19 @@ plugins {
android { android {
namespace 'com.example.gradle_project' namespace 'com.example.gradle_project'
compileSdk 35 compileSdk 36
defaultConfig { defaultConfig {
applicationId "com.example.gradle_project" applicationId "com.example.gradle_project"
minSdk 28 minSdk 28
targetSdk 35 targetSdk 36
versionCode 1 versionCode 1
versionName "1.0" versionName "1.0"
} }
compileOptions { compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8 sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_17
} }
} }

View File

@@ -6,7 +6,7 @@
android:allowBackup="true" android:allowBackup="true"
android:label="gradle_project" android:label="gradle_project"
android:supportsRtl="true" android:supportsRtl="true"
tools:targetApi="35"> tools:targetApi="36">
<activity <activity
android:name=".MainActivity" android:name=".MainActivity"
android:exported="true"> android:exported="true">

View File

@@ -1,8 +1,8 @@
[versions] [versions]
agp = "8.10.1" agp = "9.0.0"
core = "1.16.0" core = "1.17.0"
appcompat = "1.7.1" appcompat = "1.7.1"
material = "1.12.0" material = "1.13.0"
constraintlayout = "2.2.1" constraintlayout = "2.2.1"
[libraries] [libraries]

View File

@@ -25,8 +25,8 @@ basePath="http://ci-files01-hki.ci.qt.io/input/android"
toolsVersion="19.0" toolsVersion="19.0"
toolsFile="commandlinetools-linux-13114758_latest.zip" toolsFile="commandlinetools-linux-13114758_latest.zip"
toolsBackupUrl="https://dl.google.com/android/repository/$toolsFile" toolsBackupUrl="https://dl.google.com/android/repository/$toolsFile"
sdkBuildToolsVersion="35.0.1" sdkBuildToolsVersion="36.0.0"
sdkApiLevel="android-35" sdkApiLevel="android-36"
toolsSha1="5fdcc763663eefb86a5b8879697aa6088b041e70" toolsSha1="5fdcc763663eefb86a5b8879697aa6088b041e70"
ndkVersionLatest="r27c" ndkVersionLatest="r27c"
@@ -232,12 +232,16 @@ cp "${scripts_dir_name}/../unix/${emulator_script_filename}" "${HOME}"
ANDROID_EMULATOR_RUNNER="${HOME}/${emulator_script_filename}" ANDROID_EMULATOR_RUNNER="${HOME}/${emulator_script_filename}"
SetEnvVar "ANDROID_EMULATOR_RUNNER" "$ANDROID_EMULATOR_RUNNER" SetEnvVar "ANDROID_EMULATOR_RUNNER" "$ANDROID_EMULATOR_RUNNER"
SetEnvVar "PATH" "\$PATH:$sdkTargetFolder/emulator"
SetEnvVar "PATH" "\$PATH:$sdkTargetFolder/platform-tools"
SetEnvVar "PATH" "\$PATH:$sdkTargetFolder/cmdline-tools/latest/bin"
# Gradle Caching # Gradle Caching
cp -r "${scripts_dir_name}/android/gradle_project" /tmp/gradle_project cp -r "${scripts_dir_name}/android/gradle_project" /tmp/gradle_project
cd /tmp/gradle_project cd /tmp/gradle_project
# Get Gradle files from qtbase # Get Gradle files from qtbase
qtbaseGradleUrl="https://code.qt.io/cgit/qt/qtbase.git/plain/src/3rdparty/gradle" qtbaseGradleUrl="https://code.qt.io/cgit/qt/qtbase.git/plain/src/3rdparty/gradle"
commit_sha="bb12c984b2c838bdb06169ef7d659384c02c8b82" commit_sha="b775c756f019d067c491bad7816f3a0cc8ea8b31"
curl "$qtbaseGradleUrl/gradle.properties?h=$commit_sha" > gradle.properties curl "$qtbaseGradleUrl/gradle.properties?h=$commit_sha" > gradle.properties
curl "$qtbaseGradleUrl/gradlew?h=$commit_sha" > gradlew curl "$qtbaseGradleUrl/gradlew?h=$commit_sha" > gradlew
curl "$qtbaseGradleUrl/gradlew.bat?h=$commit_sha" > gradlew.bat curl "$qtbaseGradleUrl/gradlew.bat?h=$commit_sha" > gradlew.bat

View File

@@ -12,7 +12,7 @@
}, },
"directory": "../work/qt/$(env:TESTED_MODULE_COIN)", "directory": "../work/qt/$(env:TESTED_MODULE_COIN)",
"ir": "$(env:IRNAME)", "ir": "$(env:IRNAME)",
"name": "qt_$(env:PACKAGE)_$(env:MODULE)_(env:TESTED_MODULE_BRANCH_COIN)_$(env:TARGET_OS_COIN)" "name": "qt_$(env:PACKAGE)_$(env:MODULE)_$(env:TESTED_MODULE_BRANCH_COIN)_$(env:TARGET_OS_COIN)"
}, },
"VCSIntegration": { "VCSIntegration": {
"vcs_mapping": { "vcs_mapping": {

0
coin/provisioning/common/linux/fix-bitbake-apparmor.sh Normal file → Executable file
View File

0
coin/provisioning/common/linux/fix-bwrap-apparmor.sh Normal file → Executable file
View File

View File

View File

@@ -3,6 +3,10 @@
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# This script builds and installs FFmpeg static or shared (default) libs # This script builds and installs FFmpeg static or shared (default) libs
# It can take an optional output parameter for installation:
#
# install-ffmpeg-linx.sh shared ~/my/install/path
set -ex set -ex
source "${BASH_SOURCE%/*}/../unix/ffmpeg-installation-utils.sh" source "${BASH_SOURCE%/*}/../unix/ffmpeg-installation-utils.sh"
@@ -12,17 +16,18 @@ build_type=$(get_ffmpeg_build_type "$1")
ffmpeg_source_dir=$(download_ffmpeg) ffmpeg_source_dir=$(download_ffmpeg)
ffmpeg_name=$(basename "$ffmpeg_source_dir") ffmpeg_name=$(basename "$ffmpeg_source_dir")
ffmpeg_config_options=$(get_ffmpeg_config_options "$build_type") ffmpeg_config_options=$(get_ffmpeg_config_options "$build_type")
prefix="/usr/local/$ffmpeg_name" default_prefix="/usr/local/$ffmpeg_name"
prefix="${2:-$default_prefix}"
pkgconfig_path="$PKG_CONFIG_PATH" pkgconfig_path="$PKG_CONFIG_PATH"
install_ff_nvcodec_headers() { install_ff_nvcodec_headers() {
local nv_codec_version="11.1" # use 11.1 to ensure compatibility with 470 nvidia drivers; might be upated to 12.0 local nv_codec_version="11.1.5.3" # use 11.x.x.x to ensure compatibility with 470 nvidia drivers; might be upated to 12.0
local nv_codec_url_public="https://github.com/FFmpeg/nv-codec-headers/archive/refs/heads/sdk/$nv_codec_version.zip" local nv_codec_url_public="https://github.com/FFmpeg/nv-codec-headers/archive/refs/tags/n$nv_codec_version.zip"
local nv_codec_url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/nv-codec-headers/nv-codec-headers-sdk-$nv_codec_version.zip" local nv_codec_url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/nv-codec-headers/nv-codec-headers-$nv_codec_version.zip"
local nv_codec_sha1="ceb4966ab01b2e41f02074675a8ac5b331bf603e" local nv_codec_sha1="78715d521de102362e553dc92577bbe81905a321"
#nv_codec_sha1="4f30539f8dd31945da4c3da32e66022f9ca59c08" // 12.0 #nv_codec_sha1="4f30539f8dd31945da4c3da32e66022f9ca59c08" // 12.0
local target_dir="$HOME" local target_dir="$HOME"
local nv_codec_dir="$target_dir/nv-codec-headers-sdk-$nv_codec_version" local nv_codec_dir="$target_dir/nv-codec-headers-n$nv_codec_version"
if [ ! -d "$nv_codec_dir" ]; then if [ ! -d "$nv_codec_dir" ]; then
source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh" source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
@@ -95,5 +100,6 @@ if [ "$build_type" == "shared" ]; then
"$fix_dependencies" "$output_dir" "$fix_dependencies" "$output_dir"
fi fi
sudo mv "$output_dir" "/usr/local" sudo mkdir -p "$prefix"
sudo mv "$output_dir"/* "$prefix"
set_ffmpeg_dir_env_var "FFMPEG_DIR" "$prefix" set_ffmpeg_dir_env_var "FFMPEG_DIR" "$prefix"

View File

@@ -15,18 +15,20 @@ case "$uname_m" in
x86_64|amd64) x86_64|amd64)
sha256="6f98805688d19672bd699fbbfa2c2cf0fc054ac3df1f0e6a47664d963d530255" sha256="6f98805688d19672bd699fbbfa2c2cf0fc054ac3df1f0e6a47664d963d530255"
pkgname="ninja-$version-linux-x64.zip" pkgname="ninja-$version-linux-x64.zip"
pkgnameExt="ninja-linux.zip"
dirname="ninja-$version-linux-x64" dirname="ninja-$version-linux-x64"
;; ;;
arm64|aarch64) arm64|aarch64)
sha256="5c25c6570b0155e95fce5918cb95f1ad9870df5768653afe128db822301a05a1" sha256="5c25c6570b0155e95fce5918cb95f1ad9870df5768653afe128db822301a05a1"
pkgname="ninja-$version-linux-arm64.zip" pkgname="ninja-$version-linux-arm64.zip"
pkgnameExt="ninja-linux-aarch64.zip"
dirname="ninja-$version-linux-arm64" dirname="ninja-$version-linux-arm64"
;; ;;
*) fatal "Unknown architecture in uname: $uname_m" 43 ;; *) fatal "Unknown architecture in uname: $uname_m" 43 ;;
esac esac
internalUrl="http://ci-files01-hki.ci.qt.io/input/ninja/$pkgname" internalUrl="http://ci-files01-hki.ci.qt.io/input/ninja/$pkgname"
externalUrl="https://github.com/ninja-build/ninja/releases/download/v$version/$pkgname" externalUrl="https://github.com/ninja-build/ninja/releases/download/v$version/$pkgnameExt"
targetFile="$HOME/$pkgname" targetFile="$HOME/$pkgname"
DownloadURL "$internalUrl" "$externalUrl" "$sha256" "$targetFile" DownloadURL "$internalUrl" "$externalUrl" "$sha256" "$targetFile"

View File

@@ -4,9 +4,7 @@
echo "Installing vcpkg android ports" echo "Installing vcpkg android ports"
pushd "${BASH_SOURCE%/*}/vcpkg" || exit pushd "${BASH_SOURCE%/*}/../shared/vcpkg" || exit
cp "${BASH_SOURCE%/*}/../shared/vcpkg-configuration.json" .
"$VCPKG_ROOT/vcpkg" install --triplet x86-android-qt --x-install-root x86-android-qt-tmp --debug "$VCPKG_ROOT/vcpkg" install --triplet x86-android-qt --x-install-root x86-android-qt-tmp --debug
"$VCPKG_ROOT/vcpkg" install --triplet x86_64-android-qt --x-install-root x86_64-android-qt-tmp --debug "$VCPKG_ROOT/vcpkg" install --triplet x86_64-android-qt --x-install-root x86_64-android-qt-tmp --debug

View File

@@ -13,7 +13,7 @@ QEMU_VER="8.2.3"
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/qemu/qemu-$QEMU_VER.tar.xz" PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/qemu/qemu-$QEMU_VER.tar.xz"
AltUrl="https://download.qemu.org/qemu-$QEMU_VER.tar.xz" AltUrl="https://download.qemu.org/qemu-$QEMU_VER.tar.xz"
SHA1="1b29c8105cf8d15b9e7fb6f8e85170b6c54a1788" SHA1="1b29c8105cf8d15b9e7fb6f8e85170b6c54a1788"
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "/tmp" "$appPrefix" InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "/tmp" ""
targetFolder=/tmp/qemu-${QEMU_VER} targetFolder=/tmp/qemu-${QEMU_VER}
mkdir -p "$targetFolder/build" mkdir -p "$targetFolder/build"

View File

@@ -41,9 +41,11 @@ ndkSha1Preview="09be4f8fb626a9c93415198ea8e75d8d82f528fa"
ndkVersionNightly1=$ndkVersionLatest # Set as same version as latest = skip NDK install in provisioning ndkVersionNightly1=$ndkVersionLatest # Set as same version as latest = skip NDK install in provisioning
ndkSha1Nightly1=$ndkSha1Latest ndkSha1Nightly1=$ndkSha1Latest
ndkVersionNightly2=$ndkVersionLatest ndkVersionNightly2=$ndkVersionLatest
ndkSha1Nightly2=$ndkSha1Latest ndkSha1Nightly2=$ndkSha1Latest
sdkBuildToolsVersion="36.0.0"
# this is compile sdk version
sdkApiLevel="android-36"
toolsTargetFile="/tmp/$toolsFile" toolsTargetFile="/tmp/$toolsFile"
toolsSourceFile="$basePath/$toolsFile" toolsSourceFile="$basePath/$toolsFile"

View File

@@ -0,0 +1,8 @@
#!/usr/bin/env bash
# Copyright (C) 2026 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# Dock autohide interfers with window sizes and mouse cursor/focus
set -e
sudo defaults write com.apple.dock autohide -bool false; killall Dock

View File

@@ -0,0 +1,303 @@
#!/usr/bin/env bash
# Copyright (C) 2024 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# This script will build and install FFmpeg shared libraries.
#
# The script will package iOS and iOS-simulator binaries into one
# single .xcframework. This .xcframework cannot contain .dylibs
# directly. It must contain .framework files. Unlike macOS, binaries
# should NOT be lipoed together.
#
# From https://developer.apple.com/documentation/xcode/creating-a-multi-platform-binary-framework-bundle
# "Avoid using dynamic library files (.dylib files) for dynamic
# linking. An XCFramework can include dynamic library files, but only
# macOS supports these libraries for dynamic linking. Dynamic linking
# on iOS, iPadOS, tvOS, visionOS, and watchOS requires the XCFramework
# to contain .framework bundles."
#
# This script can take an optional final parameter to control
# installation directory.
set -eoux pipefail
# Must match or be lower than the minimum iOS version supported by the version of Qt that is
# is currently being built.
readonly MINIMUM_IOS_VERSION="16.0"
source "${BASH_SOURCE%/*}/../unix/ffmpeg-installation-utils.sh"
ffmpeg_source_dir=$(download_ffmpeg)
ffmpeg_version="n$(<"${ffmpeg_source_dir}/RELEASE")"
if [ ! -n "$ffmpeg_version" ]; then
echo "Error. Unable to determine FFmpeg version."
exit 1
fi
ffmpeg_config_options=$(get_ffmpeg_config_options "shared")
default_prefix="/usr/local/ios/ffmpeg"
prefix="${1:-$default_prefix}"
# Qt doesn't utilize all FFmpeg components. This is a list of the ones
# we care about
ffmpeg_components="libavcodec libavformat libavutil libswresample libswscale"
target_platform_to_sdk() {
local target_platform="$1"
if [[ "$target_platform" == "arm64-simulator" ]] \
|| [[ "$target_platform" == "x86_64-simulator" ]]; then
echo "iphonesimulator"
elif [ "$target_platform" == "arm64-iphoneos" ]; then
echo "iphoneos"
else
echo "Error finding corresponding iOS SDK for target platform: ${target_platform}"
exit 1
fi
}
build_ffmpeg_ios() {
local target_platform="$1"
local target_cpu_arch=""
local target_sdk;
target_sdk="$(target_platform_to_sdk "${target_platform}")"
if [ "$target_platform" == "arm64-simulator" ]; then
target_cpu_arch="arm64"
minos="-mios-simulator-version-min=$MINIMUM_IOS_VERSION"
elif [ "$target_platform" == "x86_64-simulator" ]; then
target_cpu_arch="x86_64"
minos="-mios-simulator-version-min=$MINIMUM_IOS_VERSION"
elif [ "$target_platform" == "arm64-iphoneos" ]; then
target_cpu_arch="arm64"
minos="-miphoneos-version-min=$MINIMUM_IOS_VERSION"
else
echo "Error when building FFmpeg for iOS. Unknown parameter given for target_platform: '${target_platform}'"
exit 1
fi
local build_dir="$ffmpeg_source_dir/build_ios/$target_platform"
sudo mkdir -p "$build_dir"
pushd "$build_dir"
local sysroot;
sysroot="$(xcrun --sdk "${target_sdk}" --show-sdk-path)"
local cc;
cc="$(xcrun -f --sdk ${target_sdk} clang)"
local cxx;
cxx="$(xcrun -f --sdk ${target_sdk} clang++)"
# We add -g so we get debug symbols.
local common_arch_flags="${minos} -arch ${target_cpu_arch} -g"
local config_parameters=(
$ffmpeg_config_options
--sysroot="${sysroot}"
--enable-cross-compile
--enable-optimizations
--prefix="$prefix"
--arch="$target_cpu_arch"
--cc="$cc"
--cxx="$cxx"
--extra-cflags="${common_arch_flags}"
--extra-cxxflags="${common_arch_flags}"
--extra-ldflags="${common_arch_flags}"
--target-os=darwin
--enable-shared
--disable-static
--install-name-dir="@rpath"
--disable-audiotoolbox
# We perform manual stripping after generating dSYMs.
# Make sure to skip it during FFmpeg compilation.
--disable-stripping
)
sudo "$ffmpeg_source_dir/configure" "${config_parameters[@]}"
sudo make install DESTDIR="$build_dir/installed" -j4
popd
}
build_info_plist() {
local file_path="$1"
local framework_name="$2"
local framework_id="$3"
# Apple plist format has a strict requirement that the version string
# contains up to 3 numerics separated by a dot. Meanwhile, FFmpeg versioning
# tends to use an 'n' prefix in their versioning. We use a regex to convert
# and verify the version string.
#
# https://developer.apple.com/documentation/bundleresources/information-property-list/cfbundleversion
local formatted_ffmpeg_version
if [[ $ffmpeg_version =~ ([0-9]+(\.[0-9]+){0,2}) ]]; then
formatted_ffmpeg_version="${BASH_REMATCH[1]}"
else
echo "Unable to format FFmpeg version string '$ffmpeg_version' into corresponding Apple Info.plist format"
exit 1
fi
local minimum_version_key="MinimumOSVersion"
local supported_platforms="iPhoneOS"
info_plist="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
<plist version=\"1.0\">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${framework_name}</string>
<key>CFBundleIdentifier</key>
<string>${framework_id}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${framework_name}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>${formatted_ffmpeg_version}</string>
<key>CFBundleVersion</key>
<string>${formatted_ffmpeg_version}</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>${minimum_version_key}</key>
<string>${MINIMUM_IOS_VERSION}</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>${supported_platforms}</string>
</array>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>"
echo $info_plist | sudo tee ${file_path} 1>/dev/null
}
# Create a 'traditional' framework from the corresponding dylib.
# This includes creating a folder for it, and inserting Info.plist
# and dylib. We also patch runpaths in the dylib to match the
# frameworks directory structure.
#
# There is no command-line tool for generating .framework
# files. By inspecting .frameworks generated through Xcode, we
# have found they are primarily a directory with a very specific
# layout. The code below generates a matching layout.
#
# See https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPFrameworks/Frameworks.html
create_framework() {
local ffmpeg_component_name="$1"
local platform="$2"
local ffmpeg_build_path="${ffmpeg_source_dir}/build_ios/${platform}/installed/${prefix}"
local ffmpeg_component_src_dylib="${ffmpeg_build_path}/lib/${ffmpeg_component_name}.dylib"
local ffmpeg_component_framework="${ffmpeg_build_path}/framework/${ffmpeg_component_name}.framework"
local ffmpeg_component_target_dylib="${ffmpeg_component_framework}/${ffmpeg_component_name}"
# Make directory for the .framework
sudo mkdir -p "${ffmpeg_component_framework}"
# Inser the Info.plist
build_info_plist \
"${ffmpeg_component_framework}/Info.plist" \
"${ffmpeg_component_name}" \
"io.qt.ffmpegkit.${ffmpeg_component_name}"
# Copy in the dylib
sudo cp \
"${ffmpeg_component_src_dylib}" \
"${ffmpeg_component_target_dylib}"
# By default, runpaths will look for FFmpeg dependencies in
# '@rpath/libavcodec.xx.yy.dylib'. We want this path to be in the form
# '@rpath/libavcodec.framework/libavcodec.dylib'.
# Set the dylibs self-identity
sudo install_name_tool \
-id "@rpath/${ffmpeg_component_name}.framework/${ffmpeg_component_name}" \
"${ffmpeg_component_target_dylib}"
# Update the runpaths for each FFmpeg dependency entry
otool -L "$ffmpeg_component_target_dylib" \
| tail -n +2 \
| awk '{print $1}' \
| while read -r dep; do
# Go through all dependency entries of this .dylib,
# see if they point to a FFmpeg component. If it does,
# modify the entry to match the final
# directory structure.
for ffdep in $ffmpeg_components; do
if [[ "$dep" == */${ffdep}.* ]]; then
echo "Rewriting dependency: $dep -> @rpath/${ffdep}.framework/${ffdep}"
sudo install_name_tool -change \
"$dep" \
"@rpath/${ffdep}.framework/${ffdep}" \
"$ffmpeg_component_target_dylib"
fi
done
done
}
# dSYM symbols must be generated manually, these are required for
# App Store deployment. We generate them from the .dylibs inside
# our .frameworks. This has to be done after patching the runpaths.
# At the end, we strip the dylib.
create_dsym() {
local ffmpeg_component_name="$1"
local platform="$2"
local ffmpeg_build_path="${ffmpeg_source_dir}/build_ios/${platform}/installed/${prefix}"
local target_dylib="${ffmpeg_build_path}/framework/${ffmpeg_component_name}.framework/${ffmpeg_component_name}"
sudo dsymutil "${target_dylib}" \
-o "${ffmpeg_build_path}/framework/${ffmpeg_component_name}.framework.dSYM"
local target_sdk;
target_sdk=$(target_platform_to_sdk "${platform}")
local strip;
strip="$(xcrun -f --sdk ${target_sdk} strip)"
sudo ${strip} -x "${target_dylib}"
}
create_xcframework() {
# Create 'traditional' framework from the corresponding dylib,
# also creating
local framework_name="$1"
local target_platform_a="$2"
local target_platform_b="$3"
local platform_a_build="${ffmpeg_source_dir}/build_ios/${target_platform_a}/installed/${prefix}"
local fw_a="${platform_a_build}/framework/${framework_name}.framework"
local dsym_a="${fw_a}.dSYM"
local platform_b_build="${ffmpeg_source_dir}/build_ios/${target_platform_b}/installed/${prefix}"
local fw_b="${platform_b_build}/framework/${framework_name}.framework"
local dsym_b="${fw_b}.dSYM"
sudo mkdir -p "$prefix/lib/"
sudo xcodebuild -create-xcframework \
-framework "$fw_a" -debug-symbols "$dsym_a" \
-framework $fw_b -debug-symbols "$dsym_b" \
-output "${prefix}/lib/${framework_name}.xcframework"
}
build_ffmpeg_ios "arm64-iphoneos"
build_ffmpeg_ios "x86_64-simulator"
for name in $ffmpeg_components; do
create_framework "$name" "arm64-iphoneos"
create_framework "$name" "x86_64-simulator"
create_dsym "$name" "arm64-iphoneos"
create_dsym "$name" "x86_64-simulator"
done
# Create corresponding xcframeworks containing both arm64 and x86_64-simulator frameworks:
for name in $ffmpeg_components; do
create_xcframework "$name" "arm64-iphoneos" "x86_64-simulator"
done
# xcframeworks are already installed directly into the target output directory.
# We need to install headers
sudo cp -r "${ffmpeg_source_dir}/build_ios/arm64-iphoneos/installed/${prefix}/include" "$prefix"
set_ffmpeg_dir_env_var "FFMPEG_DIR_IOS" "$prefix"

View File

@@ -0,0 +1,3 @@
#!/usr/bin/env bash
pip3 install --user lipomerge

View File

@@ -9,12 +9,12 @@ set -ex
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
echo "Installing Java Development Kit" echo "Installing Java Development Kit"
version=17.0.12 version=21.0.9
targetFile=jdk-${version}_macos-x64_bin.dmg targetFile=jdk-${version}_macos-x64_bin.dmg
expectedHash="6fba2fbe5d181bd2ef7fd79e0335278c13f611cb" expectedHash="3df8761bfba8d6a4633ecc92f1eff0a58d79c304"
url=ci-files01-hki.ci.qt.io:/hdd/www/input/mac url=ci-files01-hki.ci.qt.io:/hdd/www/input/mac
# url_alt=https://www.oracle.com/java/technologies/downloads/#jdk17-mac # url_alt=https://download.oracle.com/java/21/archive/jdk-21.0.8_macos-x64_bin.dmg
echo "Mounting $targetFile" echo "Mounting $targetFile"
sudo mkdir -p /Volumes/files sudo mkdir -p /Volumes/files

View File

@@ -8,10 +8,10 @@ set -ex
echo "Installing Java Development Kit" echo "Installing Java Development Kit"
targetFile=zulu17.54.21-ca-jdk17.0.13-macosx_aarch64.dmg targetFile=zulu21.46.19-ca-jdk21.0.9-macosx_aarch64.dmg
url=ci-files01-hki.ci.qt.io:/hdd/www/input/mac url=ci-files01-hki.ci.qt.io:/hdd/www/input/mac
# url_alt=https://cdn.azul.com/zulu/bin/zulu17.54.21-ca-jdk17.0.13-macosx_aarch64.dmg # url_alt=https://cdn.azul.com/zulu/bin/zulu21.46.19-ca-jdk21.0.9-macosx_aarch64.dmg
echo "Mounting $targetFile" echo "Mounting $targetFile"
sudo mkdir -p /Volumes/files sudo mkdir -p /Volumes/files
@@ -22,12 +22,12 @@ sudo umount /Volumes/files
sudo hdiutil attach "/tmp/$targetFile" sudo hdiutil attach "/tmp/$targetFile"
echo Installing JDK echo Installing JDK
cd /Volumes/Azul\ Zulu\ JDK\ 17.54+21 && sudo installer -pkg Double-Click\ to\ Install\ Azul\ Zulu\ JDK\ 17.pkg -target / cd /Volumes/Azul\ Zulu\ JDK\ 21.46+19 && sudo installer -pkg Double-Click\ to\ Install\ Azul\ Zulu\ JDK\ 21.pkg -target /
echo "Unmounting $targetFile" echo "Unmounting $targetFile"
sudo hdiutil unmount /Volumes/Azul\ Zulu\ JDK\ 17.54+21 -force sudo hdiutil unmount /Volumes/Azul\ Zulu\ JDK\ 21.46+19 -force
echo "Disable auto update" echo "Disable auto update"
sudo defaults write /Library/Preferences/com.oracle.java.Java-Updater JavaAutoUpdateEnabled -bool false sudo defaults write /Library/Preferences/com.oracle.java.Java-Updater JavaAutoUpdateEnabled -bool false
echo "JDK Version = 17.0.13" >> ~/versions.txt echo "JDK Version = 21.0.9" >> ~/versions.txt

View File

@@ -19,7 +19,7 @@ class Libiodbc < Formula
def install def install
if build.with? "universal" if build.with? "universal"
ENV['CFLAGS'] = '-O -arch arm64 -arch x86_64 -mmacosx-version-min=10.9' ENV['CFLAGS'] = '-O -arch arm64 -arch x86_64 -mmacosx-version-min=10.9 -std=gnu89'
end end
system "./autogen.sh" system "./autogen.sh"
system "./configure", "--disable-dependency-tracking", "--prefix=#{prefix}" system "./configure", "--disable-dependency-tracking", "--prefix=#{prefix}"

View File

@@ -7,7 +7,6 @@
# Mimer SQL is needed for Qt to be able to support Mimer SQL # Mimer SQL is needed for Qt to be able to support Mimer SQL
set -ex set -ex
os="$1"
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"

View File

@@ -7,6 +7,7 @@ set -euox pipefail
lib_dir="$1/lib" lib_dir="$1/lib"
additional_suffix="${2:-}" additional_suffix="${2:-}"
set_rpath="${3:-yes}" set_rpath="${3:-yes}"
page_size="${4:-}"
# readelf and patchelf are prerequisite tools for this script. Check # readelf and patchelf are prerequisite tools for this script. Check
# that they are available. # that they are available.
@@ -81,7 +82,12 @@ for lib_name in "${ffmpeg_libs[@]}"; do
stub_name="${stub_name%%.*}${additional_suffix}.${stub_name#*.}" # Add additional_suffix stub_name="${stub_name%%.*}${additional_suffix}.${stub_name#*.}" # Add additional_suffix
fi fi
patchelf --replace-needed "${BASH_REMATCH[1]}" "${stub_name}" "$lib_path" additional_command_args=""
if [ -n "$page_size" ]; then
additional_command_args+="--page-size ${page_size}"
fi
patchelf ${additional_command_args} --replace-needed "${BASH_REMATCH[1]}" "${stub_name}" "$lib_path"
fi fi
done <<< "$(read_needed_deps)" done <<< "$(read_needed_deps)"

View File

@@ -4,4 +4,5 @@ ntia-conformance-checker ; python_version >= '3.9'
sbomaudit ; python_version >= '3.9' sbomaudit ; python_version >= '3.9'
sbom2doc ; python_version >= '3.9' sbom2doc ; python_version >= '3.9'
reuse<=5.1.1 ; python_version >= '3.9' reuse<=5.1.1 ; python_version >= '3.9'
cyclonedx-python-lib==11.0.0 ; python_version >= '3.9' cyclonedx-python-lib==11.5.0 ; python_version >= '3.9'
jsonschema>=4.20 ; python_version >= '3.12'

View File

@@ -1,5 +1,10 @@
FROM ubuntu:16.04 FROM ubuntu:16.04
ARG COIN_RUNS_IN_QT_COMPANY ARG COIN_RUNS_IN_QT_COMPANY
RUN test x"$COIN_RUNS_IN_QT_COMPANY" = xtrue \ RUN test x"$COIN_RUNS_IN_QT_COMPANY" = xtrue \
&& sed -i 's;\(archive\|security\)\.ubuntu\.com;repo-clones.ci.qt.io/apt-mirror/mirror;' /etc/apt/sources.list \ && { printf '%s\n' \
|| echo "Internal package repository not found. Using public repositories." 'deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 xenial-amd64 main restricted universe multiverse' \
'deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 xenial-updates-amd64 main restricted universe multiverse' \
'deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 xenial-backports-amd64 main restricted universe' \
'deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 xenial-security-amd64 main restricted universe multiverse' \
> /etc/apt/sources.list; \
} \

View File

@@ -1,5 +1,10 @@
FROM ubuntu:18.04 FROM ubuntu:18.04
ARG COIN_RUNS_IN_QT_COMPANY ARG COIN_RUNS_IN_QT_COMPANY
RUN test x"$COIN_RUNS_IN_QT_COMPANY" = xtrue \ RUN test x"$COIN_RUNS_IN_QT_COMPANY" = xtrue \
&& sed -i 's;\(archive\|security\)\.ubuntu\.com;repo-clones.ci.qt.io/apt-mirror/mirror;' /etc/apt/sources.list \ && { printf '%s\n' \
|| echo "Internal package repository not found. Using public repositories." 'deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 bionic-amd64 main restricted universe multiverse' \
'deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 bionic-updates-amd64 main restricted universe multiverse' \
'deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 bionic-backports-amd64 main restricted universe' \
'deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 bionic-security-amd64 main restricted universe multiverse' \
> /etc/apt/sources.list; \
} \

View File

@@ -0,0 +1,13 @@
set(VCPKG_CMAKE_SYSTEM_NAME Darwin)
set(VCPKG_OSX_ARCHITECTURES arm64)
set(VCPKG_TARGET_ARCHITECTURE arm64)
# Default settings of the triplet from the official vcpkg registry
set(VCPKG_CRT_LINKAGE dynamic)
set(VCPKG_LIBRARY_LINKAGE static)
# Qt custom per-port customizations
if(PORT MATCHES "openssl")
set(VCPKG_LIBRARY_LINKAGE dynamic)
set(VCPKG_FIXUP_ELF_RPATH ON)
endif()

View File

@@ -0,0 +1,13 @@
set(VCPKG_CMAKE_SYSTEM_NAME Darwin)
set(VCPKG_OSX_ARCHITECTURES x86_64)
set(VCPKG_TARGET_ARCHITECTURE x64)
# Default settings of the triplet from the official vcpkg registry
set(VCPKG_CRT_LINKAGE dynamic)
set(VCPKG_LIBRARY_LINKAGE static)
# Qt custom per-port customizations
if(PORT MATCHES "openssl")
set(VCPKG_LIBRARY_LINKAGE dynamic)
set(VCPKG_FIXUP_ELF_RPATH ON)
endif()

View File

@@ -5,5 +5,5 @@
"repository": "https://git.qt.io/aledelev/vcpkg", "repository": "https://git.qt.io/aledelev/vcpkg",
"baseline": "9c5c2a0ab75aff5bcd08142525f6ff7f6f7ddeee" "baseline": "9c5c2a0ab75aff5bcd08142525f6ff7f6f7ddeee"
}, },
"overlay-triplets": [ "./../../shared/triplets" ] "overlay-triplets": [ "./../triplets" ]
} }

View File

@@ -1,4 +1,4 @@
vcpkg_tool_release_tag=2025-09-03 vcpkg_tool_release_tag=2025-09-03
windows_x64_checksum=4523B5B2CE77BD0F6DCA55140D831EA6EB03046D5F4496C85DF94AC1A7EFAB01 windows_x64_checksum=4523B5B2CE77BD0F6DCA55140D831EA6EB03046D5F4496C85DF94AC1A7EFAB01
windows_arm64_checksum=1E8653243C0E7D73FF1F0F3F25A55C8154888F331510F9545AD200EDD3CCB962 windows_arm64_checksum=1E8653243C0E7D73FF1F0F3F25A55C8154888F331510F9545AD200EDD3CCB962
linux_checksum=f0c4b30afc2f7baa9cc4372ac325042418251343e0192dbfac94c4f602e9d3ed unix_checksum=f0c4b30afc2f7baa9cc4372ac325042418251343e0192dbfac94c4f602e9d3ed

View File

@@ -116,7 +116,7 @@ set_common_environment () {
CMD_INSTALL="sudo install" CMD_INSTALL="sudo install"
COIN_RUNS_IN_QT_COMPANY=false COIN_RUNS_IN_QT_COMPANY=false
if ping -c1 repo-clones.ci.qt.io >/dev/null 2>&1 if ping -c1 repo-clones-apt.ci.qt.io >/dev/null 2>&1
then then
COIN_RUNS_IN_QT_COMPANY=true COIN_RUNS_IN_QT_COMPANY=true
fi fi

View File

@@ -2,13 +2,9 @@
# Copyright (C) 2024 The Qt Company Ltd. # Copyright (C) 2024 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
ffmpeg_version_default() {
echo "n7.1.2"
}
download_ffmpeg() { download_ffmpeg() {
local version="${1:-$(ffmpeg_version_default)}" local version="${1:-"n7.1.3"}"
local sha1="${2:-1e4e937facdbde15943dd093121836bf69f27c7c}" local sha1="${2:-27051817deec88bed3b9652d49f9127d22268d83}"
local ffmpeg_name="FFmpeg-$version" local ffmpeg_name="FFmpeg-$version"
local target_dir="$HOME" local target_dir="$HOME"

View File

@@ -24,43 +24,46 @@ assert_envvar_is_populated_dir() {
} }
build_ffmpeg_android() { build_ffmpeg_android() {
local target_arch=$1 local target_dir=$1
local target_dir=$2 local ndk_root=$2
local ndk_root=$3 local openssl_android_path=$3
local openssl_android_path=$4
sudo mkdir -p "$target_dir" sudo mkdir -p "$target_dir"
local openssl_include="$openssl_android_path/include" local openssl_include="$openssl_android_path/include"
local target_arch
local openssl_libs local openssl_libs
local libs_prefix local libs_prefix
local target_cpu local target_cpu
local target_toolchain_arch local target_toolchain_arch
if [ "$target_arch" == "x86_64" ]; then if [ "$os" == "android-x86" ]; then
target_toolchain_arch="x86_64-linux-android"
target_arch=x86_64
target_cpu=x86-64
openssl_libs="$openssl_android_path/x86_64"
libs_prefix="_x86_64"
elif [ "$target_arch" == "x86" ]; then
target_toolchain_arch="i686-linux-android" target_toolchain_arch="i686-linux-android"
target_arch=x86 target_arch=x86
target_cpu=i686 target_cpu=i686
openssl_libs="$openssl_android_path/x86" openssl_libs="$openssl_android_path/x86"
libs_prefix="_x86" libs_prefix="_x86"
elif [ "$target_arch" == "arm32" ]; then elif [ "$os" == "android-x86_64" ]; then
target_toolchain_arch="x86_64-linux-android"
target_arch=x86_64
target_cpu=x86-64
openssl_libs="$openssl_android_path/x86_64"
libs_prefix="_x86_64"
elif [ "$os" == "android-arm32" ]; then
target_toolchain_arch="armv7a-linux-androideabi" target_toolchain_arch="armv7a-linux-androideabi"
target_arch=arm target_arch=arm
target_cpu=armv7-a target_cpu=armv7-a
openssl_libs="$openssl_android_path/armeabi-v7a" openssl_libs="$openssl_android_path/armeabi-v7a"
libs_prefix="_arm32-v7a" libs_prefix="_arm32-v7a"
elif [ "$target_arch" == "arm64" ]; then elif [ "$os" == "android-arm64" ]; then
target_toolchain_arch="aarch64-linux-android" target_toolchain_arch="aarch64-linux-android"
target_arch=aarch64 target_arch=aarch64
target_cpu=armv8-a target_cpu=armv8-a
openssl_libs="$openssl_android_path/arm64-v8a" openssl_libs="$openssl_android_path/arm64-v8a"
libs_prefix="_arm64-v8a" libs_prefix="_arm64-v8a"
else
>&2 echo "Unhandled android os param: $os"
exit 1
fi fi
ln -Ffs "${openssl_libs}/libcrypto_3.so" "${openssl_libs}/libcrypto.so" ln -Ffs "${openssl_libs}/libcrypto_3.so" "${openssl_libs}/libcrypto.so"
@@ -82,12 +85,13 @@ build_ffmpeg_android() {
local cc=${toolchain_bin}/${target_toolchain_arch}${api_version}-clang local cc=${toolchain_bin}/${target_toolchain_arch}${api_version}-clang
local ar=${toolchain_bin}/llvm-ar local ar=${toolchain_bin}/llvm-ar
local ranlib=${toolchain_bin}/llvm-ranlib local ranlib=${toolchain_bin}/llvm-ranlib
local strip=${toolchain_bin}/llvm-strip
local ffmpeg_config_options local ffmpeg_config_options
ffmpeg_config_options=$(get_ffmpeg_config_options $build_type) ffmpeg_config_options=$(get_ffmpeg_config_options $build_type)
ffmpeg_config_options+=" --enable-cross-compile --target-os=android --enable-jni --enable-mediacodec --enable-openssl --enable-pthreads --enable-neon --disable-asm --disable-indev=android_camera" ffmpeg_config_options+=" --enable-cross-compile --target-os=android --enable-jni --enable-mediacodec --enable-openssl --enable-pthreads --enable-neon --disable-asm --disable-indev=android_camera"
ffmpeg_config_options+=" --arch=$target_arch --cpu=${target_cpu} --sysroot=${sysroot} --sysinclude=${sysroot}/usr/include/" ffmpeg_config_options+=" --arch=$target_arch --cpu=${target_cpu} --sysroot=${sysroot} --sysinclude=${sysroot}/usr/include/"
ffmpeg_config_options+=" --cc=${cc} --cxx=${cxx} --ar=${ar} --ranlib=${ranlib}" ffmpeg_config_options+=" --cc=${cc} --cxx=${cxx} --ar=${ar} --ranlib=${ranlib} --strip=${strip}"
ffmpeg_config_options+=" --extra-cflags=-I${openssl_include} --extra-ldflags=-L${openssl_libs}" ffmpeg_config_options+=" --extra-cflags=-I${openssl_include} --extra-ldflags=-L${openssl_libs}"
if [ $page_size == "use_16kb_page_size" ]; then if [ $page_size == "use_16kb_page_size" ]; then
ffmpeg_config_options+=" --extra-ldflags=-Wl,-z,max-page-size=16384" ffmpeg_config_options+=" --extra-ldflags=-Wl,-z,max-page-size=16384"
@@ -115,33 +119,35 @@ build_ffmpeg_android() {
if [[ "$build_type" == "shared" ]]; then if [[ "$build_type" == "shared" ]]; then
local fix_dependencies="${BASH_SOURCE%/*}/../shared/fix_ffmpeg_dependencies.sh" local fix_dependencies="${BASH_SOURCE%/*}/../shared/fix_ffmpeg_dependencies.sh"
sudo "${fix_dependencies}" "${target_dir}" "${libs_prefix}" "no"
local page_size_arg=""
if [ $page_size == "use_16kb_page_size" ]; then
page_size_arg="16384"
fi
sudo "${fix_dependencies}" "${target_dir}" "${libs_prefix}" "no" "$page_size_arg"
fi fi
} }
if [ "$os" == "android-x86" ]; then if [ "$os" == "android-x86" ]; then
target_arch=x86
target_dir="/usr/local/android/ffmpeg-x86" target_dir="/usr/local/android/ffmpeg-x86"
envvar_latest="FFMPEG_DIR_ANDROID_X86_NDK_LATEST" envvar_latest="FFMPEG_DIR_ANDROID_X86_NDK_LATEST"
envvar_nightly1="FFMPEG_DIR_ANDROID_X86_NDK_NIGHTLY1" envvar_nightly1="FFMPEG_DIR_ANDROID_X86_NDK_NIGHTLY1"
envvar_nightly2="FFMPEG_DIR_ANDROID_X86_NDK_NIGHTLY2" envvar_nightly2="FFMPEG_DIR_ANDROID_X86_NDK_NIGHTLY2"
envvar_preview="FFMPEG_DIR_ANDROID_X86_NDK_PREVIEW" envvar_preview="FFMPEG_DIR_ANDROID_X86_NDK_PREVIEW"
elif [ "$os" == "android-x86_64" ]; then elif [ "$os" == "android-x86_64" ]; then
target_arch=x86_64
target_dir="/usr/local/android/ffmpeg-x86_64" target_dir="/usr/local/android/ffmpeg-x86_64"
envvar_latest="FFMPEG_DIR_ANDROID_X86_64_NDK_LATEST" envvar_latest="FFMPEG_DIR_ANDROID_X86_64_NDK_LATEST"
envvar_nightly1="FFMPEG_DIR_ANDROID_X86_64_NDK_NIGHTLY1" envvar_nightly1="FFMPEG_DIR_ANDROID_X86_64_NDK_NIGHTLY1"
envvar_nightly2="FFMPEG_DIR_ANDROID_X86_64_NDK_NIGHTLY2" envvar_nightly2="FFMPEG_DIR_ANDROID_X86_64_NDK_NIGHTLY2"
envvar_preview="FFMPEG_DIR_ANDROID_X86_64_NDK_PREVIEW" envvar_preview="FFMPEG_DIR_ANDROID_X86_64_NDK_PREVIEW"
elif [ "$os" == "android-arm32" ]; then elif [ "$os" == "android-arm32" ]; then
target_arch=arm32
target_dir="/usr/local/android/ffmpeg-arm32" target_dir="/usr/local/android/ffmpeg-arm32"
envvar_latest="FFMPEG_DIR_ANDROID_ARM32_NDK_LATEST" envvar_latest="FFMPEG_DIR_ANDROID_ARM32_NDK_LATEST"
envvar_nightly1="FFMPEG_DIR_ANDROID_ARM32_NDK_NIGHTLY1" envvar_nightly1="FFMPEG_DIR_ANDROID_ARM32_NDK_NIGHTLY1"
envvar_nightly2="FFMPEG_DIR_ANDROID_ARM32_NDK_NIGHTLY2" envvar_nightly2="FFMPEG_DIR_ANDROID_ARM32_NDK_NIGHTLY2"
envvar_preview="FFMPEG_DIR_ANDROID_ARM32_NDK_PREVIEW" envvar_preview="FFMPEG_DIR_ANDROID_ARM32_NDK_PREVIEW"
elif [ "$os" == "android-arm64" ]; then elif [ "$os" == "android-arm64" ]; then
target_arch=arm64
target_dir="/usr/local/android/ffmpeg-arm64" target_dir="/usr/local/android/ffmpeg-arm64"
envvar_latest="FFMPEG_DIR_ANDROID_ARM64_NDK_LATEST" envvar_latest="FFMPEG_DIR_ANDROID_ARM64_NDK_LATEST"
envvar_nightly1="FFMPEG_DIR_ANDROID_ARM64_NDK_NIGHTLY1" envvar_nightly1="FFMPEG_DIR_ANDROID_ARM64_NDK_NIGHTLY1"
@@ -159,26 +165,26 @@ fi
assert_envvar_is_populated_dir "ANDROID_NDK_ROOT_LATEST" assert_envvar_is_populated_dir "ANDROID_NDK_ROOT_LATEST"
assert_envvar_is_populated_dir "OPENSSL_ANDROID_HOME_LATEST" assert_envvar_is_populated_dir "OPENSSL_ANDROID_HOME_LATEST"
build_ffmpeg_android "$target_arch" "$target_dir/latest" "$ANDROID_NDK_ROOT_LATEST" "$OPENSSL_ANDROID_HOME_LATEST" build_ffmpeg_android "$target_dir/latest" "$ANDROID_NDK_ROOT_LATEST" "$OPENSSL_ANDROID_HOME_LATEST"
set_ffmpeg_dir_env_var "$envvar_latest" "$target_dir/latest" set_ffmpeg_dir_env_var "$envvar_latest" "$target_dir/latest"
if [ "${ANDROID_NDK_ROOT_PREVIEW}" ]; then if [ "${ANDROID_NDK_ROOT_PREVIEW}" ]; then
assert_envvar_is_populated_dir "ANDROID_NDK_ROOT_PREVIEW" assert_envvar_is_populated_dir "ANDROID_NDK_ROOT_PREVIEW"
assert_envvar_is_populated_dir "OPENSSL_ANDROID_HOME_PREVIEW" assert_envvar_is_populated_dir "OPENSSL_ANDROID_HOME_PREVIEW"
build_ffmpeg_android "$target_arch" "$target_dir/preview" "$ANDROID_NDK_ROOT_PREVIEW" "$OPENSSL_ANDROID_HOME_PREVIEW" build_ffmpeg_android "$target_dir/preview" "$ANDROID_NDK_ROOT_PREVIEW" "$OPENSSL_ANDROID_HOME_PREVIEW"
set_ffmpeg_dir_env_var "$envvar_preview" "$target_dir/preview" set_ffmpeg_dir_env_var "$envvar_preview" "$target_dir/preview"
fi fi
if [ "${ANDROID_NDK_ROOT_NIGHTLY1}" ]; then if [ "${ANDROID_NDK_ROOT_NIGHTLY1}" ]; then
assert_envvar_is_populated_dir "ANDROID_NDK_ROOT_NIGHTLY1" assert_envvar_is_populated_dir "ANDROID_NDK_ROOT_NIGHTLY1"
assert_envvar_is_populated_dir "OPENSSL_ANDROID_HOME_NIGHTLY1" assert_envvar_is_populated_dir "OPENSSL_ANDROID_HOME_NIGHTLY1"
build_ffmpeg_android "$target_arch" "$target_dir/nightly1" "$ANDROID_NDK_ROOT_NIGHTLY1" "$OPENSSL_ANDROID_HOME_NIGHTLY1" build_ffmpeg_android "$target_dir/nightly1" "$ANDROID_NDK_ROOT_NIGHTLY1" "$OPENSSL_ANDROID_HOME_NIGHTLY1"
set_ffmpeg_dir_env_var "$envvar_nightly1" "$target_dir/nightly1" set_ffmpeg_dir_env_var "$envvar_nightly1" "$target_dir/nightly1"
fi fi
if [ "${ANDROID_NDK_ROOT_NIGHTLY2}" ]; then if [ "${ANDROID_NDK_ROOT_NIGHTLY2}" ]; then
assert_envvar_is_populated_dir "ANDROID_NDK_ROOT_NIGHTLY2" assert_envvar_is_populated_dir "ANDROID_NDK_ROOT_NIGHTLY2"
assert_envvar_is_populated_dir "OPENSSL_ANDROID_HOME_NIGHTLY2" assert_envvar_is_populated_dir "OPENSSL_ANDROID_HOME_NIGHTLY2"
build_ffmpeg_android "$target_arch" "$target_dir/nightly2" "$ANDROID_NDK_ROOT_NIGHTLY2" "$OPENSSL_ANDROID_HOME_NIGHTLY2" build_ffmpeg_android "$target_dir/nightly2" "$ANDROID_NDK_ROOT_NIGHTLY2" "$OPENSSL_ANDROID_HOME_NIGHTLY2"
set_ffmpeg_dir_env_var "$envvar_nightly2" "$target_dir/nightly2" set_ffmpeg_dir_env_var "$envvar_nightly2" "$target_dir/nightly2"
fi fi

View File

@@ -1,184 +0,0 @@
#!/usr/bin/env bash
# Copyright (C) 2024 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# This script will build and install FFmpeg static libs
# Can take an optional final parameter to control installation directory
set -ex
# Must match or be lower than the minimum iOS version supported by the version of Qt that is
# is currently being built.
readonly MINIMUM_IOS_VERSION="16.0"
source "${BASH_SOURCE%/*}/../unix/ffmpeg-installation-utils.sh"
ffmpeg_version=$(ffmpeg_version_default)
ffmpeg_source_dir=$(download_ffmpeg)
ffmpeg_config_options=$(get_ffmpeg_config_options "shared")
default_prefix="/usr/local/ios/ffmpeg"
prefix="${1:-$default_prefix}"
dylib_regex="^@rpath/.*\.dylib$"
build_ffmpeg_ios() {
local target_platform=$1
local target_cpu_arch=""
if [ "$target_platform" == "arm64-simulator" ]; then
target_sdk="iphonesimulator"
target_cpu_arch="arm64"
minos="-mios-simulator-version-min=$MINIMUM_IOS_VERSION"
elif [ "$target_platform" == "x86_64-simulator" ]; then
target_sdk="iphonesimulator"
target_cpu_arch="x86_64"
minos="-mios-simulator-version-min=$MINIMUM_IOS_VERSION"
elif [ "$target_platform" == "arm64-iphoneos" ]; then
target_sdk="iphoneos"
target_cpu_arch="arm64"
minos="-miphoneos-version-min=$MINIMUM_IOS_VERSION"
else
echo "Error when building FFmpeg for iOS. Unknown parameter given for target_platform: '${target_platform}'"
exit 1
fi
local build_dir="$ffmpeg_source_dir/build_ios/$target_platform"
sudo mkdir -p "$build_dir"
pushd "$build_dir"
# shellcheck disable=SC2086
sudo "$ffmpeg_source_dir/configure" $ffmpeg_config_options \
--sysroot="$(xcrun --sdk "$target_sdk" --show-sdk-path)" \
--enable-cross-compile \
--enable-optimizations \
--prefix=$prefix \
--arch=$target_cpu_arch \
--cc="xcrun --sdk ${target_sdk} clang -arch $target_cpu_arch" \
--cxx="xcrun --sdk ${target_sdk} clang++ -arch $target_cpu_arch" \
--target-os=darwin \
--extra-ldflags="$minos" \
--enable-shared \
--disable-static \
--install-name-dir='@rpath' \
--disable-audiotoolbox
sudo make install DESTDIR="$build_dir/installed" -j4
popd
}
build_info_plist() {
local file_path="$1"
local framework_name="$2"
local framework_id="$3"
# Apple plist format has a strict requirement that the version string
# contains up to 3 numerics separated by a dot. Meanwhile, FFmpeg versioning
# tends to use an 'n' prefix in their versioning. We use a regex to convert
# and verify the version string.
#
# https://developer.apple.com/documentation/bundleresources/information-property-list/cfbundleversion
local formatted_ffmpeg_version
if [[ $ffmpeg_version =~ ([0-9]+(\.[0-9]+){0,2}) ]]; then
formatted_ffmpeg_version="${BASH_REMATCH[1]}"
else
echo "Unable to format FFmpeg version string '$ffmpeg_version' into corresponding Apple Info.plist format"
exit 1
fi
local minimum_version_key="MinimumOSVersion"
local supported_platforms="iPhoneOS"
info_plist="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
<plist version=\"1.0\">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${framework_name}</string>
<key>CFBundleIdentifier</key>
<string>${framework_id}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${framework_name}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>${formatted_ffmpeg_version}</string>
<key>CFBundleVersion</key>
<string>${formatted_ffmpeg_version}</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>${minimum_version_key}</key>
<string>${MINIMUM_IOS_VERSION}</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>${supported_platforms}</string>
</array>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>"
echo $info_plist | sudo tee ${file_path} 1>/dev/null
}
create_framework() {
# Create a 'traditional' framework from the corresponding dylib.
local framework_name="$1"
local platform="$2" # For now it's either arm64, x86_64-simulator, see below.
local ffmpeg_library_path="$ffmpeg_source_dir/build_ios/${platform}/installed$prefix"
local framework_complete_path="${ffmpeg_library_path}/framework/${framework_name}.framework/${framework_name}"
sudo mkdir -p "${ffmpeg_library_path}/framework/${framework_name}.framework"
sudo cp "${ffmpeg_library_path}/lib/${framework_name}.dylib" "${ffmpeg_library_path}/framework/${framework_name}.framework/${framework_name}"
# Fix LC_ID_DYLIB (to be libavcodec.framework/libavcodec instead of @rpath/libavcodec.xx.yy.dylib
sudo install_name_tool -id @rpath/${framework_name}.framework/${framework_name} "${framework_complete_path}"
build_info_plist "${ffmpeg_library_path}/framework/${framework_name}.framework/Info.plist" "${framework_name}" "io.qt.ffmpegkit."${framework_name}
# Fix all FFmpeg-related LC_LOAD_DYLIB, similar to how we fixed LC_ID_DYLIB above:
otool -L "$framework_complete_path" | awk '/\t/ {print $1}' | egrep "$dylib_regex" | while read -r dependency_path; do
found_name=$(tmp=${dependency_path/*\/}; echo ${tmp/\.*})
if [ "$found_name" != "$framework_name" ]
then
sudo install_name_tool -change "$dependency_path" @rpath/${found_name}.framework/${found_name} "${framework_complete_path}"
fi
done
#sudo mkdir -p "$prefix/framework/"
#sudo cp -r "${ffmpeg_library_path}/framework/${framework_name}.framework" "$prefix/framework/"
}
create_xcframework() {
# Create 'traditional' framework from the corresponding dylib,
# also creating
local framework_name="$1"
local target_platform_a="$2"
local target_platform_b="$3"
local fw_a="$ffmpeg_source_dir/build_ios/${target_platform_a}/installed$prefix/framework/${framework_name}.framework"
local fw_b="$ffmpeg_source_dir/build_ios/${target_platform_b}/installed$prefix/framework/${framework_name}.framework"
sudo mkdir -p "$prefix/lib/"
sudo xcodebuild -create-xcframework -framework $fw_a -framework $fw_b -output "${prefix}/lib/${framework_name}.xcframework"
}
build_ffmpeg_ios "x86_64-simulator"
build_ffmpeg_ios "arm64-iphoneos"
ffmpeg_libs="libavcodec libavformat libavutil libswresample libswscale"
for name in $ffmpeg_libs; do
create_framework $name "arm64-iphoneos"
create_framework $name "x86_64-simulator"
done
# Create corresponding (xc)frameworks containing both arm64 and arm64-simulator frameworks:
for name in $ffmpeg_libs; do
create_xcframework $name "arm64-iphoneos" "x86_64-simulator"
done
# xcframeworks are already installed directly into the target output directory.
# We need to install headers
sudo cp -r "$ffmpeg_source_dir/build_ios/arm64-iphoneos/installed$prefix/include" $prefix
set_ffmpeg_dir_env_var "FFMPEG_DIR_IOS" $prefix

View File

@@ -1,13 +1,13 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Copyright (C) 2022 The Qt Company Ltd. # Copyright (C) 2025 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# This script install OpenSSL from sources. # This script install OpenSSL from sources.
# Requires GCC and Perl to be in PATH. # Requires GCC and Perl to be in PATH.
set -ex set -ex
os="$1" os="$1"
version=${2:-"3.0.7"} version=${2:-"3.5.4"}
sha=${3:-"f20736d6aae36bcbfa9aba0d358c71601833bf27"} sha=${3:-"b75daac8e10f189abe28a076ba5905d363e4801f"}
SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
# shellcheck source=../unix/DownloadURL.sh # shellcheck source=../unix/DownloadURL.sh
@@ -37,6 +37,7 @@ if [[ "$os" == "linux" ]]; then
make && make install_sw install_ssldirs make && make install_sw install_ssldirs
SetEnvVar "OPENSSL_HOME" "$opensslHome" SetEnvVar "OPENSSL_HOME" "$opensslHome"
SetEnvVar "PATH" "\"$opensslHome/bin:\$PATH\"" SetEnvVar "PATH" "\"$opensslHome/bin:\$PATH\""
SetEnvVar "PKG_CONFIG_PATH" "\"$opensslHome/lib64/pkgconfig:\$PKG_CONFIG_PATH\""
if uname -a |grep -q "Debian"; then if uname -a |grep -q "Debian"; then
SetEnvVar "LD_LIBRARY_PATH" "\"$opensslHome/lib:$LD_LIBRARY_PATH\"" SetEnvVar "LD_LIBRARY_PATH" "\"$opensslHome/lib:$LD_LIBRARY_PATH\""
else else
@@ -103,6 +104,18 @@ elif [ "$os" == "macos" ] || [ "$os" == "macos-universal" ]; then
SetEnvVar "OPENSSL_INCLUDE" "\"$openssl_install_dir/include\"" SetEnvVar "OPENSSL_INCLUDE" "\"$openssl_install_dir/include\""
SetEnvVar "OPENSSL_LIB" "\"$openssl_install_dir/lib\"" SetEnvVar "OPENSSL_LIB" "\"$openssl_install_dir/lib\""
# Set runtime loader (dyld) and OpenSSL providers for SSL tests (QTBUG-142392)
SetEnvVar "DYLD_LIBRARY_PATH" "\"$opensslTargetLocation/lib:\$DYLD_LIBRARY_PATH\""
SetEnvVar "OPENSSL_MODULES" "\"$opensslTargetLocation/lib/ossl-modules\""
# Check that the versioned dylibs exists and ML-DSA is available
test -f "$opensslTargetLocation/lib/libcrypto.3.dylib"
test -f "$opensslTargetLocation/lib/libssl.3.dylib"
test -d "$opensslTargetLocation/lib/ossl-modules"
OPENSSL_MODULES="$opensslTargetLocation/lib/ossl-modules" \
"$opensslTargetLocation/bin/openssl" list -signature-algorithms | \
grep -q -i 'ML-DSA' || { echo "ML-DSA not available"; exit 1; }
security find-certificate -a -p /Library/Keychains/System.keychain | sudo tee -a "$opensslTargetLocation/ssl/cert.pem" > /dev/null security find-certificate -a -p /Library/Keychains/System.keychain | sudo tee -a "$opensslTargetLocation/ssl/cert.pem" > /dev/null
security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | sudo tee -a "$opensslTargetLocation/ssl/cert.pem" > /dev/null security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | sudo tee -a "$opensslTargetLocation/ssl/cert.pem" > /dev/null
fi fi

View File

@@ -7,12 +7,12 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
echo "Installing vcpkg ports" echo "Installing vcpkg ports"
pushd "${BASH_SOURCE%/*}/vcpkg" || exit pushd "${BASH_SOURCE%/*}/../shared/vcpkg" || exit
cp "${BASH_SOURCE%/*}/../shared/vcpkg-configuration.json" .
install_root=x64-linux-qt-tmp install_root=$1-tmp
vcpkg_extra_args=$2
"$VCPKG_ROOT/vcpkg" install --triplet x64-linux-qt --x-install-root $install_root --debug "$VCPKG_ROOT/vcpkg" install --triplet $1 --x-install-root $install_root --debug $vcpkg_extra_args
cmake "-DVCPKG_EXECUTABLE=$VCPKG_ROOT/vcpkg"\ cmake "-DVCPKG_EXECUTABLE=$VCPKG_ROOT/vcpkg"\
"-DVCPKG_INSTALL_ROOT=$PWD/$install_root"\ "-DVCPKG_INSTALL_ROOT=$PWD/$install_root"\

View File

@@ -34,7 +34,7 @@ do
"vcpkg_tool_release_tag") "vcpkg_tool_release_tag")
vcpkgToolReleaseTag=${keyValue[1]} vcpkgToolReleaseTag=${keyValue[1]}
;; ;;
"linux_checksum") "unix_checksum")
vcpkgToolChecksum=${keyValue[1]} vcpkgToolChecksum=${keyValue[1]}
;; ;;
esac esac
@@ -86,7 +86,7 @@ SetEnvVar "VCPKG_ROOT" "$vcpkgRoot"
export VCPKG_ROOT="$vcpkgRoot" export VCPKG_ROOT="$vcpkgRoot"
# Set a source for vcpkg Binary and Asset Cache # Set a source for vcpkg Binary and Asset Cache
# The `coin/provisioning/common/linux/mount-vcpkg-cache-drive.sh` script is # The `coin/provisioning/common/<platform>/mount-vcpkg-cache-drive.sh` script is
# mounting the SMB share located in `vcpkg-server.ci.qt.io/vcpkg` to # mounting the SMB share located in `vcpkg-server.ci.qt.io/vcpkg` to
# $HOME/vcpkg-cache/ # $HOME/vcpkg-cache/
export VCPKG_BINARY_SOURCES="files,$HOME/vcpkg-cache/binaries,readwrite" export VCPKG_BINARY_SOURCES="files,$HOME/vcpkg-cache/binaries,readwrite"

View File

@@ -63,6 +63,7 @@ cmake "$targetDir" -G"Ninja Multi-Config" \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \ -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DCMAKE_CONFIGURATION_TYPES="Release;Debug;RelWithDebugInfo" \ -DCMAKE_CONFIGURATION_TYPES="Release;Debug;RelWithDebugInfo" \
-DCMAKE_INSTALL_PREFIX="$installPrefix" \ -DCMAKE_INSTALL_PREFIX="$installPrefix" \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
"${extraCMakeArgs[@]}" \ "${extraCMakeArgs[@]}" \
"$extraOpenSslArg" \ "$extraOpenSslArg" \
-DgRPC_BUILD_TESTS=OFF \ -DgRPC_BUILD_TESTS=OFF \

View File

@@ -8,10 +8,10 @@
source "${BASH_SOURCE%/*}/DownloadURL.sh" source "${BASH_SOURCE%/*}/DownloadURL.sh"
source "${BASH_SOURCE%/*}/SetEnvVar.sh" source "${BASH_SOURCE%/*}/SetEnvVar.sh"
version="7.15.0" version="7.18.0"
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/qtopenapi/openapi_client_generators/openapi-generator-cli-$version.jar" PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/qtopenapi/openapi_client_generators/openapi-generator-cli-$version.jar"
AltUrl="https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/$version/openapi-generator-cli-$version.jar" AltUrl="https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/$version/openapi-generator-cli-$version.jar"
SHA1="bb58e257f724fb46b7f2b309a9fa98e63fd7199f" SHA1="8bd615a50b15ebf5be30e612af112526a6e81ac4"
targetFolder="/opt/qt-openapi/" targetFolder="/opt/qt-openapi/"
targetFile="openapi-generator-cli.jar" targetFile="openapi-generator-cli.jar"

View File

@@ -16,6 +16,7 @@ source "${BASH_SOURCE%/*}/SetEnvVar.sh"
# shellcheck source=./DownloadURL.sh # shellcheck source=./DownloadURL.sh
source "${BASH_SOURCE%/*}/DownloadURL.sh" source "${BASH_SOURCE%/*}/DownloadURL.sh"
zswitch=$1 # Since 7z 25.01 multi-hop symbolic links are restricted with -snl switch levels
version="20.1.3" version="20.1.3"
baseUrl="https://download.qt.io/development_releases/prebuilt/libclang" baseUrl="https://download.qt.io/development_releases/prebuilt/libclang"
cachedUrl="http://ci-files01-hki.ci.qt.io/input/libclang/dynamic" cachedUrl="http://ci-files01-hki.ci.qt.io/input/libclang/dynamic"
@@ -40,7 +41,7 @@ DownloadURL "$url_cached" "$url" "$sha1" "$zip"
if command -v 7zr &> /dev/null; then if command -v 7zr &> /dev/null; then
sudo 7zr x $zip -o/usr/local/ sudo 7zr x $zip -o/usr/local/
else else
sudo 7z x $zip -o/usr/local/ sudo 7z x $zswitch $zip -o/usr/local/
fi fi
sudo mv /usr/local/libclang "$destination" sudo mv /usr/local/libclang "$destination"
rm -rf $zip rm -rf $zip

View File

@@ -20,6 +20,7 @@ PROVISIONING_DIR="$(dirname "$0")/../../"
# shellcheck source=./common.sourced.sh # shellcheck source=./common.sourced.sh
source "$PROVISIONING_DIR"/common/unix/common.sourced.sh source "$PROVISIONING_DIR"/common/unix/common.sourced.sh
zswitch=$1 # Since 7z 25.01 multi-hop symbolic links are restricted with -snl switch levels
libclang_version="20.1.0" libclang_version="20.1.0"
if uname -a |grep -q Darwin; then if uname -a |grep -q Darwin; then
@@ -61,7 +62,7 @@ DownloadURL $url_cached $url $sha1 $zip
if command -v 7zr &> /dev/null; then if command -v 7zr &> /dev/null; then
sudo 7zr x $zip -o/usr/local/ sudo 7zr x $zip -o/usr/local/
else else
sudo 7z x $zip -o/usr/local/ sudo 7z x $zswitch $zip -o/usr/local/
fi fi
sudo mv /usr/local/libclang "$destination" sudo mv /usr/local/libclang "$destination"
rm -rf $zip rm -rf $zip

View File

@@ -5,95 +5,154 @@
# This script install prebuilt OpenSSL which was built against Android NDK 25. # This script install prebuilt OpenSSL which was built against Android NDK 25.
# OpenSSL build will fail with Android NDK 22, because it's missing platforms and sysroot directories # OpenSSL build will fail with Android NDK 22, because it's missing platforms and sysroot directories
set -ex set -eux
# shellcheck source=../unix/DownloadURL.sh # shellcheck source=../unix/DownloadURL.sh
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
# shellcheck source=../unix/SetEnvVar.sh # shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
sslVersionForLatest="3.0.7" outputPathBase="${HOME}"
ndkVersionLatest="r27c"
prebuiltOpensslShaLatest="2cc15dd990460c2c7157ab257a47071fbd9e0ac8"
sslVersionForPreview="3.0.7" sslVersionForLatest="3.5.4"
ndkVersionLatest="r27c"
featureSuffixLatest="_16kb_fixed_symversions"
prebuiltOpensslShaLatest="b9dc30ed77bfd26e526e81d558d6964585b27283"
sslVersionForPreview="3.5.4"
ndkVersionPreview="r29-beta2" ndkVersionPreview="r29-beta2"
prebuiltOpensslShaPreview="76c9788216440111be97ea1a63c4d8cd807baacd" featureSuffixPreview="_16kb_fixed_symversions"
prebuiltOpensslShaPreview="89b6692e983c7e9678dcd9fc03da623fb75593d3"
ndkVersionNightly1=$ndkVersionLatest ndkVersionNightly1=$ndkVersionLatest
sslVersionForNightly1=$sslVersionForLatest sslVersionForNightly1=$sslVersionForLatest
featureSuffixNightly1=""
prebuiltOpensslShaNightly1=$prebuiltOpensslShaLatest prebuiltOpensslShaNightly1=$prebuiltOpensslShaLatest
ndkVersionNightly2=$ndkVersionLatest ndkVersionNightly2=$ndkVersionLatest
sslVersionForNightly2=$sslVersionForLatest sslVersionForNightly2=$sslVersionForLatest
featureSuffixNightly2=""
prebuiltOpensslShaNightly2=$prebuiltOpensslShaLatest prebuiltOpensslShaNightly2=$prebuiltOpensslShaLatest
: <<'EOB' SOURCE BUILD INSTRUCTIONS - Openssl prebuilt was made using Android NDK r29-beta2 : <<'EOB' SOURCE BUILD INSTRUCTIONS
# Source built requires GCC and Perl to be in PATH. Rhel "requires yum install perl-IPC-Cmd" Openssl 3.5.4 prebuilt was made using Android NDK r27c Revision 27.2.12479018
exports_file="/tmp/export.sh" and r29-beta2 Revision 29.0.13599879
# source previously made environmental variables.
if uname -a |grep -q "Ubuntu"; then
# shellcheck disable=SC1090
grep -e "^export" "$HOME/.profile" > $exports_file && source $exports_file
rm -rf "$exports_file"
else
# shellcheck disable=SC1090
grep -e "^export" "$HOME/.bashrc" > $exports_file && source $exports_file
rm -rf "$exports_file"
fi
officialUrl="https://www.openssl.org/source/openssl-$sslVersionForLatest.tar.gz" By using a helpful (build_ssl.sh) script from:
cachedUrl="http://ci-files01-hki.ci.qt.io/input/openssl/openssl-$sslVersionForLatest.tar.gz" Android OpenSSL support for Qt
targetFile="/tmp/openssl-$sslVersionForLatest.tar.gz" https://github.com/KDAB/android_openssl/commit/b71f1470962019bd89534a2919f5925f93bc5779
sha="f20736d6aae36bcbfa9aba0d358c71601833bf27"
opensslHome="${HOME}/openssl/android/openssl-${sslVersionForLatest}" Download the same NDK version that the Qt branch supports
DownloadURL "$cachedUrl" "$officialUrl" "$sha" "$targetFile" https://developer.android.com/ndk/downloads
mkdir -p "${HOME}/openssl/android/"
tar -xzf "$targetFile" -C "${HOME}/openssl/android/" Modify the script to your liking: set a path to NDK root, set OpenSSL version
if uname -a |grep -q "Darwin"; then (script will download needed OpenSSL packages)
TOOLCHAIN=${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/darwin-x86_64/bin Set ANDROID_API to the lowest version of Android which will be used.
else
TOOLCHAIN=${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/linux-x86_64/bin
fi
cd "$opensslHome"
PATH=$TOOLCHAIN:$PATH CC=clang ./Configure android-arm
PATH=$TOOLCHAIN:$PATH CC=clang make build_generated
EOB EOB
function BuildOutputPath() {
local ndkVersion="$1"
local suffix="$2"
local sslVersion="$3"
echo "${outputPathBase}/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}${suffix}"
}
function InstallPrebuiltOpenssl() { function InstallPrebuiltOpenssl() {
local ndkVersion="$1"
local suffix="$2"
local sha="$3"
local sslVersion="$4"
local output_dir="$5"
ndkVersion=$1 local prebuiltUrl="http://ci-files01-hki.ci.qt.io/input/openssl/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}${suffix}.zip"
sha=$2 local targetFile="/tmp/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}${suffix}.zip"
sslVersion=$3
opensslHome="${HOME}/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}_16kb" DownloadURL "$prebuiltUrl" "$prebuiltUrl" "$sha" "$targetFile"
if [[ ! -d ${opensslHome} ]]; then
prebuiltUrl="http://ci-files01-hki.ci.qt.io/input/openssl/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}_16kb.zip"
targetFile="/tmp/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}_16kb.zip"
DownloadURL "$prebuiltUrl" "$prebuiltUrl" "$sha" "$targetFile" local tmp_extract
unzip -o "$targetFile" -d "${HOME}" tmp_extract="$(mktemp -d "${TMPDIR:-/tmp}/openssl-extract.XXXXXX")"
sudo rm -f "$targetFile" unzip -q -o "$targetFile" -d "$tmp_extract"
rm -f "$targetFile"
# We assume there is only one top-level directory in the openssl zip
local temp_openssl_root
temp_openssl_root="$(find "$tmp_extract" -mindepth 1 -maxdepth 1 -type d | head -n 1)"
if [[ -z "$temp_openssl_root" ]]; then
echo "ERROR: Expected a single top-level directory in the archive, but none was found." >&2
exit 1
fi fi
mv "$temp_openssl_root" "$output_dir"
rm -rf "$tmp_extract"
# There have been cases where necessary symlinks are lost when unarchiving.
# Force-create them now.
local abi_list="arm64-v8a armeabi-v7a x86 x86_64"
for abi in $abi_list; do
ln -fs "${output_dir}/include" "${output_dir}/${abi}/include"
ln -fs "${output_dir}/${abi}/libcrypto_3.so" "${output_dir}/${abi}/libcrypto.so"
ln -fs "${output_dir}/${abi}/libssl_3.so" "${output_dir}/${abi}/libssl.so"
done
} }
if [ "$ndkVersionNightly1" != "$ndkVersionLatest" ]; then if [ "$ndkVersionNightly1" != "$ndkVersionLatest" ]; then
InstallPrebuiltOpenssl $ndkVersionNightly1 $prebuiltOpensslShaNightly1 $sslVersionForNightly1 outputDirNightly1=$(BuildOutputPath \
SetEnvVar "OPENSSL_ANDROID_HOME_NIGHTLY1" "$opensslHome" "$ndkVersionNightly1" \
echo "OpenSSL for Android $ndkVersionNightly1 = $sslVersionForNightly1" >> ~/versions.txt "$featureSuffixNightly1" \
"$sslVersionForNightly1")
InstallPrebuiltOpenssl \
"$ndkVersionNightly1" \
"$featureSuffixNightly1" \
"$prebuiltOpensslShaNightly1" \
"$sslVersionForNightly1" \
"$outputDirNightly1"
SetEnvVar "OPENSSL_ANDROID_HOME_NIGHTLY1" "$outputDirNightly1"
echo "OpenSSL for Android ${ndkVersionNightly1} = ${sslVersionForNightly1}" >> ~/versions.txt
fi fi
if [ "$ndkVersionNightly2" != "$ndkVersionLatest" ]; then if [ "$ndkVersionNightly2" != "$ndkVersionLatest" ]; then
InstallPrebuiltOpenssl $ndkVersionNightly2 $prebuiltOpensslShaNightly2 $sslVersionForNightly2 outputDirNightly2=$(BuildOutputPath \
SetEnvVar "OPENSSL_ANDROID_HOME_NIGHTLY2" "$opensslHome" "$ndkVersionNightly2" \
echo "OpenSSL for Android $ndkVersionNightly2 = $sslVersionForNightly2" >> ~/versions.txt "$featureSuffixNightly2" \
"$sslVersionForNightly2")
InstallPrebuiltOpenssl \
"$ndkVersionNightly2" \
"$featureSuffixNightly2" \
"$prebuiltOpensslShaNightly2" \
"$sslVersionForNightly2" \
"$outputDirNightly2"
SetEnvVar "OPENSSL_ANDROID_HOME_NIGHTLY1" "$outputDirNightly2"
echo "OpenSSL for Android ${ndkVersionNightly2} = ${sslVersionForNightly2}" >> ~/versions.txt
fi fi
if [ "$ndkVersionPreview" != "$ndkVersionLatest" ]; then if [ "$ndkVersionPreview" != "$ndkVersionLatest" ]; then
InstallPrebuiltOpenssl $ndkVersionPreview $prebuiltOpensslShaPreview $sslVersionForPreview outputDirPreview="$(BuildOutputPath \
SetEnvVar "OPENSSL_ANDROID_HOME_PREVIEW" "$opensslHome" "$ndkVersionPreview" \
echo "OpenSSL for Android $ndkVersionPreview = $sslVersionForPreview" >> ~/versions.txt "$featureSuffixPreview" \
"$sslVersionForPreview")"
InstallPrebuiltOpenssl \
"$ndkVersionPreview" \
"$featureSuffixPreview" \
"$prebuiltOpensslShaPreview" \
"$sslVersionForPreview" \
"$outputDirPreview"
SetEnvVar "OPENSSL_ANDROID_HOME_PREVIEW" "$outputDirPreview"
echo "OpenSSL for Android ${ndkVersionPreview} = ${sslVersionForPreview}" >> ~/versions.txt
fi fi
InstallPrebuiltOpenssl $ndkVersionLatest $prebuiltOpensslShaLatest $sslVersionForLatest outputDirLatest="$(BuildOutputPath \
SetEnvVar "OPENSSL_ANDROID_HOME_LATEST" "$opensslHome" "$ndkVersionLatest" \
echo "OpenSSL for Android $ndkVersionLatest = $sslVersionForLatest" >> ~/versions.txt "$featureSuffixLatest" \
"$sslVersionForLatest")"
InstallPrebuiltOpenssl \
"$ndkVersionLatest" \
"$featureSuffixLatest" \
"$prebuiltOpensslShaLatest" \
"$sslVersionForLatest" \
"$outputDirLatest"
SetEnvVar "OPENSSL_ANDROID_HOME_LATEST" "$outputDirLatest"
echo "OpenSSL for Android ${ndkVersionLatest} = ${sslVersionForLatest}" >> ~/versions.txt

View File

@@ -1,104 +0,0 @@
#!/usr/bin/env bash
# Copyright (C) 2020 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
PROVISIONING_DIR="$(dirname "$0")/../../"
source "${BASH_SOURCE%/*}/DownloadURL.sh"
source "$PROVISIONING_DIR"/common/unix/common.sourced.sh
set -ex
# This script will fetch and extract pre-buildt squish package for Linux and Mac.
# Squish is need by Release Test Automation (RTA)
version="8.1.0"
qtBranch="68x"
installFolder="/opt"
squishFolder="$installFolder/squish"
preBuildCacheUrl="ci-files01-hki.ci.qt.io:/hdd/www/input/squish/jenkins_build/stable"
licenseFile=".squish-license"
licenseBranch="squish_license"
licenseUrl="http://ci-files01-hki.ci.qt.io/input/squish/coin/$licenseBranch/$licenseFile"
licenseSHA="e84b499a2011f9bb1a6eefc7b2338d7ae770927a"
testSuiteUrl="ci-files01-hki.ci.qt.io:/hdd/www/input/squish/coin/suite_test_squish"
testSuiteLocal="/tmp/squish_test_suite"
if uname -a |grep -q Darwin; then
compressedFolder="prebuild-squish-$version-$qtBranch-mac-x64.tar.gz"
sha1="03a0c713d0d328667df2e7804f2e4d507707b849"
else
if [ "$PROVISIONING_ARCH" = arm64 ] ; then
compressedFolder="prebuild-squish-$version-$qtBranch-linux-arm64.tar.gz"
sha1="f6a2eb69faed64f13b164fb8d056182c41d2952c"
else
compressedFolder="prebuild-squish-$version-$qtBranch-linux-x64.tar.gz"
sha1="b798417ddf4b668306cb90d551df906828644152"
fi
fi
mountFolder="/tmp/squish"
sudo mkdir "$mountFolder"
sudo mkdir "$testSuiteLocal"
# Check which platform
if uname -a |grep -q Darwin; then
usersGroup="staff"
elif uname -a |grep -q "el7"; then
usersGroup="qt"
elif uname -a |grep -q "Ubuntu"; then
usersGroup="users"
else
usersGroup="users"
fi
targetFileMount="$mountFolder"/"$compressedFolder"
echo "Mounting Squish packages from $preBuildCacheUrl to $mountFolder"
echo "Mounting Squish test suite from $testSuiteUrl to $testSuiteLocal"
if uname -a |grep -q Darwin; then
sudo mount -o locallocks "$preBuildCacheUrl" "$mountFolder"
sudo mount -o locallocks "$testSuiteUrl" "$testSuiteLocal"
else
sudo mount "$preBuildCacheUrl" "$mountFolder"
sudo mount "$testSuiteUrl" "$testSuiteLocal"
fi
echo "Create $installFolder if needed"
if [ ! -d "$installFolder" ]; then
sudo mkdir "$installFolder"
fi
VerifyHash "$targetFileMount" "$sha1"
echo "Uncompress $compressedFolder"
sudo tar -xzf "$targetFileMount" --directory "$installFolder"
if uname -a |grep -q Darwin; then
sudo xattr -r -c "$squishFolder"
fi
echo "Download Squish license"
DownloadURL "$licenseUrl" "$licenseUrl" "$licenseSHA" "$HOME/$licenseFile"
echo "Changing ownerships"
sudo chown -R qt:$usersGroup "$squishFolder"
sudo chown qt:$usersGroup "$HOME/$licenseFile"
echo "Verifying Squish, available installations:"
ls -la $squishFolder
cd $squishFolder
for squishInstallation in */ ; do
if "$squishInstallation/bin/squishrunner" --testsuite "$testSuiteLocal" | grep "Squish test run successfully" ; then
echo "Squish in $squishInstallation tested successfully"
else
echo "Testing Squish in $squishInstallation failed! Squish wasn't installed correctly."
exit 1
fi
done
echo "Clean up installation temp dirs"
echo "- Unmounting $mountFolder"
sudo diskutil unmount force "$mountFolder" || sudo umount -f "$mountFolder" || true
echo "- Unmounting $testSuiteLocal"
sudo diskutil unmount force "$testSuiteLocal" || sudo umount -f "$testSuiteLocal" || true

View File

@@ -15,15 +15,15 @@ if (Is64BitWinHost) {
# Msys need to be installed to target machine # Msys need to be installed to target machine
# More info and building instructions can be found from http://doc.qt.io/qt-5/opensslsupport.html # More info and building instructions can be found from http://doc.qt.io/qt-5/opensslsupport.html
$openssl_version_latest = "3.0.7" $openssl_version_latest = "3.5.4"
$ndk_version_latest = "r27c" $ndk_version_latest = "r27c_16kb"
$prebuilt_ssl_sha1_latest = "733cff853b6ee7738e78b90f46b5f028c8490e1e" $prebuilt_ssl_sha1_latest = "a76cd9ec719d4e71473dcf451d648a9766247081"
$openssl_sha1_latest = "f20736d6aae36bcbfa9aba0d358c71601833bf27" $openssl_sha1_latest = "b75daac8e10f189abe28a076ba5905d363e4801f"
$openssl_version_preview = "3.0.7" $openssl_version_preview = "3.5.4"
$ndk_version_preview = "r29-beta2" $ndk_version_preview = "r29-beta2_16kb"
$prebuilt_ssl_sha1_preview = "c2cf8fabfb7e00b31abcc554e6e306dafd99ae1b" $prebuilt_ssl_sha1_preview = "664bab8b4f5e01c8bb87ab0ea8333b2ef1af703d"
$openssl_sha1_preview = "f20736d6aae36bcbfa9aba0d358c71601833bf27" $openssl_sha1_preview = "b75daac8e10f189abe28a076ba5905d363e4801f"
$openssl_version_nightly1 = $openssl_version_latest $openssl_version_nightly1 = $openssl_version_latest
$ndk_version_nightly1 = $ndk_version_latest $ndk_version_nightly1 = $ndk_version_latest

View File

@@ -41,8 +41,8 @@ $ndkOfficialUrlNightly2 = "https://dl.google.com/android/repository/android-ndk-
$toolsVersion = "19.0" $toolsVersion = "19.0"
$toolsFile = "commandlinetools-win-13114758_latest.zip" $toolsFile = "commandlinetools-win-13114758_latest.zip"
$sdkApi = "ANDROID_API_VERSION" $sdkApi = "ANDROID_API_VERSION"
$sdkApiLevel = "android-35" $sdkApiLevel = "android-36"
$sdkBuildToolsVersion = "35.0.1" $sdkBuildToolsVersion = "36.0.0"
$toolsCachedUrl= "\\ci-files01-hki.ci.qt.io\provisioning\android\$toolsFile" $toolsCachedUrl= "\\ci-files01-hki.ci.qt.io\provisioning\android\$toolsFile"
$toolsOfficialUrl = "https://dl.google.com/android/repository/$toolsFile" $toolsOfficialUrl = "https://dl.google.com/android/repository/$toolsFile"
$toolsChecksum = "54a582f3bf73e04253602f2d1c80bd5868aac115" $toolsChecksum = "54a582f3bf73e04253602f2d1c80bd5868aac115"

View File

@@ -10,7 +10,7 @@ $sdkChecksumSha1 = "8fe98c00fde0f524760bb9021f438bd7d9304a69"
$package_path = "C:\Windows\Temp\$package" $package_path = "C:\Windows\Temp\$package"
Download $officialUrl $cachedUrl $package_path Download $officialUrl $cachedUrl $package_path
Verify-Checksum $package_path $sdkChecksumSha1 sha1 Verify-Checksum $package_path $sdkChecksumSha1
Write-Host "Installing DirectX SDK" Write-Host "Installing DirectX SDK"
Run-Executable $package_path "/u" Run-Executable $package_path "/u"

View File

@@ -49,6 +49,7 @@ function build-install-grpc {
"-DgRPC_SSL_PROVIDER=package" "-DgRPC_SSL_PROVIDER=package"
# protobuf # protobuf
"-DProtobuf_USE_STATIC_LIBS=ON" "-DProtobuf_USE_STATIC_LIBS=ON"
"-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
"-DCMAKE_PREFIX_PATH=$protobufRoot" "-DCMAKE_PREFIX_PATH=$protobufRoot"
) )
cmake .. -G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="$BuildType" -DCMAKE_INSTALL_PREFIX="$installPath" $extraCMakeArgs $configureOptions cmake .. -G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="$BuildType" -DCMAKE_INSTALL_PREFIX="$installPath" $extraCMakeArgs $configureOptions

View File

@@ -2,16 +2,20 @@ function Verify-Checksum
{ {
Param ( Param (
[string]$File=$(throw("You must specify a filename to get the checksum of.")), [string]$File=$(throw("You must specify a filename to get the checksum of.")),
[string]$Expected=$(throw("Checksum required")), [string]$Expected=$(throw("Checksum required"))
[ValidateSet("sha256","sha1","md5")][string]$Algorithm="sha1"
) )
switch ($Expected.Length) {
40 { $Algorithm = "SHA1" }
64 { $Algorithm = "SHA256" }
default { throw "Unknown hash length for: $Expected" }
}
Write-Host "Verifying checksum of $File" Write-Host "Verifying checksum of $File"
$fs = new-object System.IO.FileStream $File, "Open" $fs = new-object System.IO.FileStream $File, "Open"
$algo = [type]"System.Security.Cryptography.$Algorithm" $algo = [type]"System.Security.Cryptography.$Algorithm"
$crypto = $algo::Create() $crypto = $algo::Create()
$hash = [BitConverter]::ToString($crypto.ComputeHash($fs)).Replace("-", "") $hash = [BitConverter]::ToString($crypto.ComputeHash($fs)).Replace("-", "")
$fs.Close() $fs.Close()
if ($hash -ne $Expected) { if ($hash -ine $Expected) {
throw "Checksum verification failed, got: '$hash' expected: '$Expected'" throw "Checksum verification failed, got: '$hash' expected: '$Expected'"
} }
} }

View File

@@ -7,9 +7,9 @@
# This script will install FFmpeg # This script will install FFmpeg
$msys = "C:\Utils\msys64\usr\bin\bash" $msys = "C:\Utils\msys64\usr\bin\bash"
$version="n7.1.2" $version="n7.1.3"
$url_public="https://github.com/FFmpeg/FFmpeg/archive/refs/tags/$version.tar.gz" $url_public="https://github.com/FFmpeg/FFmpeg/archive/refs/tags/$version.tar.gz"
$sha1="1e4e937facdbde15943dd093121836bf69f27c7c" $sha1="27051817deec88bed3b9652d49f9127d22268d83"
$url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/$version.tar.gz" $url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/$version.tar.gz"
$ffmpeg_name="FFmpeg-$version" $ffmpeg_name="FFmpeg-$version"

View File

@@ -33,7 +33,7 @@ $url_official = "https://go.dev/dl/go" + $version + ".windows-" + $arch + ".msi"
Write-Host "Fetching Go $version..." Write-Host "Fetching Go $version..."
Download $url_official $url_cache $goPackage Download $url_official $url_cache $goPackage
Verify-Checksum $goPackage $sha256 sha256 Verify-Checksum $goPackage $sha256
Write-Host "Installing Go $version..." Write-Host "Installing Go $version..."
Run-Executable "msiexec" "/quiet /i $goPackage" Run-Executable "msiexec" "/quiet /i $goPackage"
Write-Output "Go = $version" >> ~\versions.txt Write-Output "Go = $version" >> ~\versions.txt

View File

@@ -4,31 +4,31 @@
. "$PSScriptRoot\helpers.ps1" . "$PSScriptRoot\helpers.ps1"
# This script will install Java SE # This script will install Java SE
# https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html # https://www.oracle.com/java/technologies/javase/jdk21-archive-downloads.html
$version_major = "17" $version_major = "21"
$cpu_arch = Get-CpuArchitecture $cpu_arch = Get-CpuArchitecture
switch ($cpu_arch) { switch ($cpu_arch) {
arm64 { arm64 {
$version = "17.0.11" $version = "21.0.9"
$arch = "aarch64" $arch = "aarch64"
$sha1 = "1c5984a185778ad91498b746e677d84e153d5918" $sha1 = "293cca7b76e3280573061f53dbe41ced527e3b4d"
# Using Microsoft build version of OpenJDK from: https://learn.microsoft.com/en-us/java/openjdk/download # Using Microsoft build https://aka.ms/download-jdk/ - no .msi available
# as there are no available Windows ARM64 versions of JDK from Oracle $url_official = "https://aka.ms/download-jdk/microsoft-jdk-${version}-windows-${arch}.exe"
$url_official = "https://aka.ms/download-jdk/microsoft-jdk-${version}-windows-${arch}.msi" $url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\microsoft-jdk-${version}-windows-${arch}.exe"
$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\microsoft-jdk-${version}-windows-${arch}.msi" $javaPackage = "C:\Windows\Temp\jdk-$version.exe"
$javaPackage = "C:\Windows\Temp\jdk-$version.msi"
# Microsoft installer does not allow to override the installation path using the regular # Microsoft installer does not allow to override the installation path using the regular
# TARGETDIR or INSTALLDIR properties, so just hardcode the path that it uses # TARGETDIR or INSTALLDIR properties, so just hardcode the path that it uses
$installdir = "C:\Program Files\Microsoft\jdk-17.0.11.9-hotspot" $installdir = "C:\Program Files\Microsoft\jdk-$version-hotspot"
Break Break
} }
x64 { x64 {
$version = "17.0.10" $version = "21.0.9"
$arch = "x64" $arch = "x64"
$sha1 = "d573091930076c3ffa9f74273cb41cb5c75c5400" $sha1 = "b4b10fd43993650053c41f377af37b37a2267b74"
$url_official = "https://download.oracle.com/java/17/archive/jdk-${version}_windows-${arch}_bin.exe" # Downloading from https://aka.ms/download-jdk/microsoft-jdk-21.0.9-windows-x64.exe
$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\jdk-$version-windows-$arch.exe" $url_official = "https://aka.ms/download-jdk/microsoft-jdk-${version}_windows-${arch}.exe"
$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\microsoft-jdk-$version-windows-$arch.exe"
$javaPackage = "C:\Windows\Temp\jdk-$version.exe" $javaPackage = "C:\Windows\Temp\jdk-$version.exe"
$installdir = "C:\Program Files\Java\jdk-$version_major" $installdir = "C:\Program Files\Java\jdk-$version_major"
Break Break
@@ -44,7 +44,7 @@ Download $url_official $url_cache $javaPackage
Verify-Checksum $javaPackage $sha1 Verify-Checksum $javaPackage $sha1
if ($javaPackage.EndsWith(".exe")) { if ($javaPackage.EndsWith(".exe")) {
Run-Executable "$javaPackage" "/s SPONSORS=0" Run-Executable "$javaPackage" "/SILENT /SUPPRESSMSGBOXES /ALLUSERS /DIR=`"$installdir`""
} else { } else {
Run-Executable "msiexec" "/quiet /i $javaPackage" Run-Executable "msiexec" "/quiet /i $javaPackage"
} }

View File

@@ -0,0 +1,20 @@
# Copyright (C) 2025 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
. "$PSScriptRoot\helpers.ps1"
$script:nugetVersion = "v6.11.0"
$script:nugetPackage = "nuget_$nugetVersion.exe"
$script:packageRoot = "C:\Utils\NuGet\"
$script:cachedUrl = "\\ci-files01-hki.ci.qt.io\provisioning\windows\nuget\$nugetPackage"
$script:officialUrl = "https://dist.nuget.org/win-x86-commandline/$nugetVersion/nuget.exe"
$script:sdkChecksumSha1 = "5443887cfb5283da5021388d146ebb5febdc82e9"
$script:package_path = "$packageRoot\\$nugetPackage"
New-Item -ItemType Directory -Path "$packageRoot"
Download $officialUrl $cachedUrl $package_path
Verify-Checksum $package_path $sdkChecksumSha1
Write-Host "Installing Nuget"
Set-EnvironmentVariable "NUGET_EXE_PATH" "$package_path"

View File

@@ -10,17 +10,17 @@ $temp = "$env:tmp"
$cpu_arch = Get-CpuArchitecture $cpu_arch = Get-CpuArchitecture
switch ($cpu_arch) { switch ($cpu_arch) {
arm64 { arm64 {
$zipPackage = "OpenSSH-ARM64" $base_file_name = "OpenSSH-ARM64"
$sha1 = "ca3e8f44a550b7ae71c8e122acd4ed905d66feb0" $sha1 = "ca3e8f44a550b7ae71c8e122acd4ed905d66feb0"
Break Break
} }
x64 { x64 {
$zipPackage = "OpenSSH-Win64" $base_file_name = "OpenSSH-Win64"
$sha1 = "1397d40d789ae0911b3cc818b9dcd9321fed529b" $sha1 = "1397d40d789ae0911b3cc818b9dcd9321fed529b"
Break Break
} }
x86 { x86 {
$zipPackage = "OpenSSH-Win32" $base_file_name = "OpenSSH-Win32"
$sha1 = "4642C62F72C108C411E27CE282A863791B63329B" $sha1 = "4642C62F72C108C411E27CE282A863791B63329B"
Break Break
} }
@@ -29,20 +29,27 @@ switch ($cpu_arch) {
} }
} }
Write-Host "Fetching $zipPackage $version..." Write-Host "Fetching $base_file_name $version..."
$url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/openssh/" + $version + "/" + $zipPackage + ".zip" $url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/openssh/$version/$base_file_name.zip"
$url_official = "https://github.com/PowerShell/Win32-OpenSSH/releases/download/" + $version + "/" + $zipPackage + ".zip" $url_official = "https://github.com/PowerShell/Win32-OpenSSH/releases/download/$version/$base_file_name.zip"
Download $url_official $url_cache "$temp\$zipPackage" $output_zip_file = "$temp\$base_file_name.zip"
Verify-Checksum "$temp\$zipPackage" $sha1 Download $url_official $url_cache $output_zip_file
Verify-Checksum $output_zip_file $sha1
Write-Host "Extracting the package" Write-Host "Extracting the package"
Extract-7Zip "$temp\$zipPackage" C:\"Program Files" Extract-7Zip $output_zip_file "C:\Program Files"
# We assume the incoming zip contains exactly one directory, named the same
# as the base file name of th zip.
$output_dir = "C:\Program Files\$base_file_name"
if (-not (Test-Path $output_dir -PathType Container)) {
throw "Error. Expected output directory '$output_dir' does not exist."
}
Write-Host "Installing $zipPackage $version..." Write-Host "Installing $base_file_name $version..."
$path = "C:\Program Files\" + $zipPackage + "\install-sshd.ps1" $install_script = "$output_dir\install-sshd.ps1"
# Installation done as shown at https://github.com/PowerShell/Win32-OpenSSH/wiki/Install-Win32-OpenSSH # Installation done as shown at https://github.com/PowerShell/Win32-OpenSSH/wiki/Install-Win32-OpenSSH
powershell.exe -ExecutionPolicy Bypass -File $path powershell.exe -ExecutionPolicy Bypass -File $install_script
netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22 netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
net start sshd net start sshd
Set-Service sshd -StartupType Automatic Set-Service sshd -StartupType Automatic

View File

@@ -17,9 +17,9 @@ $install_location = "c:\Utils\$prog"
$tmp_location = "c:\users\qt\downloads" $tmp_location = "c:\users\qt\downloads"
Download $cached_url $cached_url "$tmp_location\$pkg" Download $cached_url $cached_url "$tmp_location\$pkg"
Verify-Checksum "$tmp_location\$pkg" $sha1 sha1 Verify-Checksum "$tmp_location\$pkg" $sha1
Download $dep_cached_url $dep_cached_url "$tmp_location\$dep_pkg" Download $dep_cached_url $dep_cached_url "$tmp_location\$dep_pkg"
Verify-Checksum "$tmp_location\$dep_pkg" $dep_sha1 sha1 Verify-Checksum "$tmp_location\$dep_pkg" $dep_sha1
Extract-7Zip "$tmp_location\$pkg" $install_location Extract-7Zip "$tmp_location\$pkg" $install_location
Extract-7Zip "$tmp_location\$dep_pkg" $install_location Extract-7Zip "$tmp_location\$dep_pkg" $install_location

View File

@@ -7,9 +7,7 @@ $vcpkgExe = "$env:VCPKG_ROOT\vcpkg.exe"
$vcpkgRoot = "$env:VCPKG_ROOT" $vcpkgRoot = "$env:VCPKG_ROOT"
$vcpkgInstallRoot = "armeabi-v7a-android-qt-tmp" $vcpkgInstallRoot = "armeabi-v7a-android-qt-tmp"
Set-Location -Path "$PSScriptRoot\vcpkg" Set-Location -Path "$PSScriptRoot\..\shared\vcpkg"
Copy-Item "$PSScriptRoot\..\shared\vcpkg-configuration.json" -Destination "$PSScriptRoot\vcpkg"
Run-Executable "$vcpkgExe" "install --triplet armeabi-v7a-android-qt --x-install-root $vcpkgInstallRoot --debug" Run-Executable "$vcpkgExe" "install --triplet armeabi-v7a-android-qt --x-install-root $vcpkgInstallRoot --debug"
New-Item -Path "$vcpkgRoot" -Name "installed" -ItemType "directory" -Force New-Item -Path "$vcpkgRoot" -Name "installed" -ItemType "directory" -Force

View File

@@ -10,9 +10,7 @@ $vcpkgExe = "$env:VCPKG_ROOT\vcpkg.exe"
$vcpkgRoot = "$env:VCPKG_ROOT" $vcpkgRoot = "$env:VCPKG_ROOT"
$vcpkgInstallRoot = "$arch-windows-qt-tmp" $vcpkgInstallRoot = "$arch-windows-qt-tmp"
Set-Location -Path "$PSScriptRoot\vcpkg" Set-Location -Path "$PSScriptRoot\..\shared\vcpkg"
Copy-Item "$PSScriptRoot\..\shared\vcpkg-configuration.json" -Destination "$PSScriptRoot\vcpkg"
Run-Executable "$vcpkgExe" "install --triplet $arch-windows-qt --x-install-root $vcpkginstallroot --debug" Run-Executable "$vcpkgExe" "install --triplet $arch-windows-qt --x-install-root $vcpkginstallroot --debug"
New-Item -Path "$vcpkgRoot" -Name "installed" -ItemType "directory" -Force New-Item -Path "$vcpkgRoot" -Name "installed" -ItemType "directory" -Force

View File

@@ -60,7 +60,7 @@ $vcpkgExeCacheUrl = "\\ci-files01-hki.ci.qt.io\provisioning\vcpkg\vcpkg-$nonDott
$vcpkgExe = "C:\Windows\Temp\vcpkg.exe" $vcpkgExe = "C:\Windows\Temp\vcpkg.exe"
Download "$vcpkgExeOfficialUrl" "$vcpkgExeCacheUrl" "$vcpkgExe" Download "$vcpkgExeOfficialUrl" "$vcpkgExeCacheUrl" "$vcpkgExe"
Verify-Checksum $vcpkgExe $vcpkgExechecksum "sha256" Verify-Checksum $vcpkgExe $vcpkgExechecksum
Move-Item "$vcpkgExe" -Destination "$vcpkgRoot" -Force Move-Item "$vcpkgExe" -Destination "$vcpkgRoot" -Force
if(![System.IO.File]::Exists("$vcpkgRoot\vcpkg.exe")){ if(![System.IO.File]::Exists("$vcpkgRoot\vcpkg.exe")){

View File

@@ -0,0 +1,89 @@
# Copyright (C) 2025 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
. "$PSScriptRoot\helpers.ps1"
$script:commitSha = "1ede7be543c1fb1e230a733d43f5ee042c72d030"
$script:repoUrl = "https://git.qt.io/qtmultimedia/WindowsVirtualCamera/-/archive/$commitSha/WindowsVirtualCamera-$commitSha.zip"
$script:unzip_location = "C:\Utils\WindowsVirtualCamera"
$script:download_location = "C:\Windows\Temp\WindowsVirtualCamera.zip"
$script:nuget = [System.Environment]::GetEnvironmentVariable('NUGET_EXE_PATH', [System.EnvironmentVariableTarget]::Machine)
$script:localPath = "$unzip_location\WindowsVirtualCamera-$commitSha"
$script:solutionFile = "VCamManager.sln"
$script:buildConfig = "Release"
$script:targetPlatform = "x64"
$script:dllPath = "$localPath\$targetPlatform\$buildConfig\VCamSampleSource.dll"
# Save the current location to return later
$previousLocation = Get-Location
Write-Host "Downloading from $repoUrl to $download_location"
Invoke-WebRequest -Uri $repoUrl -OutFile $download_location
Write-Host "Extracting $download_location to $unzip_location"
Expand-Archive -Path $download_location -DestinationPath $unzip_location
Remove-Item $download_location
# Ensure we're inside repo folder
Set-Location $localPath
$hostArch = Get-CpuArchitecture
$arch = $hostArch
$result = EnterVSDevShell -HostArch $hostArch -Arch $arch
if (-Not $result) {
return $false
}
Write-Host "Locating MSBuild"
$vswhere = "${Env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe"
if (-not (Test-Path $vswhere)) {
throw "vswhere.exe not found! Path: $vswhere"
}
$msbuildPath = & $vswhere `
-latest `
-products * `
-requires Microsoft.Component.MSBuild `
-requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 `
-find "MSBuild\**\Bin\MSBuild.exe" `
if ($LASTEXITCODE -ne 0 -or -not (Test-Path $msbuildPath)) {
throw "MSBuild NOT found. Make sure VS Build Tools are installed."
}
Write-Host "MSBuild found: $msbuildPath"
Write-Host "Restoring NuGet packages"
& $nuget restore $solutionFile
Write-Host "Building solution $solutionFile"
& "$msbuildPath" $solutionFile `
/t:Build `
/p:Configuration=$buildConfig `
/p:Platform=$targetPlatform `
/p:RestorePackagesConfig=true `
/m
if ($LASTEXITCODE -eq 0) {
Write-Host "Build succeeded"
} else {
Write-Host " Build failed with exit code $LASTEXITCODE"
exit $LASTEXITCODE
}
Write-Host "Registering the Virtual Camera dll"
regsvr32 /s "$dllPath"
if ($LASTEXITCODE -eq 0) {
Write-Host "Register succeeded"
} else {
Write-Host "Register failed with exit code $LASTEXITCODE"
exit $LASTEXITCODE
}
Set-EnvironmentVariable "VCAM_PATH" "$localPath\$targetPlatform\$buildConfig"
Write-Host "Environment variable VCAM_PATH set to $localPath\$targetPlatform\$buildConfig"
# Return to previous location
Set-Location $previousLocation

View File

@@ -43,7 +43,7 @@ $tempfile = "C:\Windows\Temp\" + $filename_zip
Write-Host "Fetching Telegraf $version..." Write-Host "Fetching Telegraf $version..."
Download $url_official $url_cache $tempfile Download $url_official $url_cache $tempfile
Verify-Checksum $tempfile $sha256 sha256 Verify-Checksum $tempfile $sha256
Write-Host "Installing telegraf.exe under C:\Utils\telegraf" Write-Host "Installing telegraf.exe under C:\Utils\telegraf"

View File

@@ -38,7 +38,7 @@ $internalUrl = "http://ci-files01-hki.ci.qt.io/input/windows/node-v$version-win-
Write-Host "Installing Node.js" Write-Host "Installing Node.js"
Download $externalUrl $internalUrl $package Download $externalUrl $internalUrl $package
Verify-Checksum $package $sha256 "sha256" Verify-Checksum $package $sha256
Extract-7Zip $package $targetFolder Extract-7Zip $package $targetFolder
Add-Path $installFolder Add-Path $installFolder
Remove $package Remove $package

View File

@@ -1,31 +1,28 @@
# Copyright (C) 2022 The Qt Company Ltd. # Copyright (C) 2025 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
. "$PSScriptRoot\helpers.ps1" . "$PSScriptRoot\helpers.ps1"
# This script installs OpenSSL ARM64 $version. # This script installs OpenSSL ARM64 (debug version)
##### OpenSSL ARM64 has been pre-built with following commands ##### ##### OpenSSL ARM64 and x64-arm64 has been pre-built with following commands #####
# Two different builds were done to the same folder C:\openssl_arm64\. One with '--debug' and one with '--release' parameter # From Visual studio 'C++ Universal Windows Platform support for v143 build tools' and 'Windows Universal C Runtime' were installed
# From Visual studio 'C++ Universal Windows Platform support for v142 build tools (ARM64)' and 'Windows Universal C Runtime' were installed # cd C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build
# cd C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build # call vcvarsamd64_arm64 (or vcvarsarm64 in Windows 11 arm64 OS)
# call vcvarsamd64_arm64 # curl -o C:\Utils\openssl-3.5.4.zip http://ci-files01-hki.ci.qt.io/input/openssl/openssl-3.5.4.zip
# curl -o C:\Utils\openssl-3.0.7.zip http://ci-files01-hki.ci.qt.io/input/openssl/openssl-3.0.7.zip # (or https://github.com/openssl/openssl/releases/download/openssl-3.5.4/openssl-3.5.4.tar.gz)
# cd C:\Utils # cd C:\Utils
# C:\Utils\sevenzip\7z.exe x C:\Utils\openssl-3.0.7.zip # C:\Utils\sevenzip\7z.exe x C:\Utils\openssl-3.5.4.zip
# cd C:\Utils\openssl-3.0.7 # cd C:\Utils\openssl-3.5.4
# perl Configure no-asm VC-WIN64-ARM --debug --prefix=C:\openssl_arm64\ --openssldir=C:\openssl_arm64\ # perl Configure no-asm VC-WIN64-ARM --debug --prefix=C:\openssl_arm64\
# nmake # nmake
# nmake install # nmake install
# ##################################################################################
# perl Configure no-asm VC-WIN64-ARM --release --prefix=C:\openssl_arm64\ --openssldir=C:\openssl_arm64\
# nmake
# nmake install
#################################################################################################################################################
$version = "3_0_7" $version = "3.5.4"
$url = "\\ci-files01-hki.ci.qt.io\provisioning\openssl\openssl-$version-arm64.zip"
$sha1 = "19be15069d981b4a96f5715f039df7aaa7456d52" $url = "https://ci-files01-hki.ci.qt.io/input/openssl/openssl-$version-prebuild-windows-msvc2022-arm64.zip"
$sha1 = "e5fdf5c565e7c275fdfe877f31b387eb48da5d96"
$installFolder = "C:\openssl_arm64" $installFolder = "C:\openssl_arm64"
$zip_package = "C:\Windows\Temp\$version.zip" $zip_package = "C:\Windows\Temp\$version.zip"
@@ -38,9 +35,8 @@ Remove $zip_package
$cpu_arch = Get-CpuArchitecture $cpu_arch = Get-CpuArchitecture
switch ($cpu_arch) { switch ($cpu_arch) {
arm64 { arm64 {
# For native arm64 # Native arm64
Set-EnvironmentVariable "OPENSSL_ROOT_DIR_arm64" "$installFolder" Set-EnvironmentVariable "OPENSSL_ROOT_DIR_arm64" "$installFolder"
Set-EnvironmentVariable "OPENSSL_CONF_arm64" "$installFolder\bin\openssl.cfg"
Set-EnvironmentVariable "OPENSSL_INCLUDE_arm64" "$installFolder\include" Set-EnvironmentVariable "OPENSSL_INCLUDE_arm64" "$installFolder\include"
Set-EnvironmentVariable "OPENSSL_LIB_arm64" "$installFolder\lib" Set-EnvironmentVariable "OPENSSL_LIB_arm64" "$installFolder\lib"
Break Break
@@ -48,7 +44,6 @@ switch ($cpu_arch) {
x64 { x64 {
# For cross-compiling x64_arm64 # For cross-compiling x64_arm64
Set-EnvironmentVariable "OPENSSL_ROOT_DIR_x64_arm64" "$installFolder" Set-EnvironmentVariable "OPENSSL_ROOT_DIR_x64_arm64" "$installFolder"
Set-EnvironmentVariable "OPENSSL_CONF_x64_arm64" "$installFolder\bin\openssl.cfg"
Set-EnvironmentVariable "OPENSSL_INCLUDE_x64_arm64" "$installFolder\include" Set-EnvironmentVariable "OPENSSL_INCLUDE_x64_arm64" "$installFolder\include"
Set-EnvironmentVariable "OPENSSL_LIB_x64_arm64" "$installFolder\lib" Set-EnvironmentVariable "OPENSSL_LIB_x64_arm64" "$installFolder\lib"
} }

View File

@@ -1,64 +1,44 @@
# Copyright (C) 2022 The Qt Company Ltd. # Copyright (C) 2025 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
. "$PSScriptRoot\helpers.ps1" . "$PSScriptRoot\helpers.ps1"
# This script installs OpenSSL $version. # This script installs OpenSSL x86_64 (debug version)
# Both x86 and x64 versions needed when x86 integrations are done on x64 machine
$version = "3_0_7" ##### OpenSSL has been pre-built with following commands #####
$packagex64 = "C:\Windows\Temp\Win64OpenSSL-$version.exe" # cd C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build
$packagex86 = "C:\Windows\Temp\Win32OpenSSL-$version.exe" # call vcvarsamd64
# curl -o C:\Utils\openssl-3.5.4.zip http://ci-files01-hki.ci.qt.io/input/openssl/openssl-3.5.4.zip
# cd C:\Utils
# C:\Utils\sevenzip\7z.exe x C:\Utils\openssl-3.5.4.zip
# cd C:\Utils\openssl-3.5.4
# perl Configure VC-WIN64A --debug --prefix=C:\openssl_x64\
# nmake
# nmake install
####################################################################################################
if (Is64BitWinHost) { $version = "3.5.4"
$url = "https://ci-files01-hki.ci.qt.io/input/openssl/openssl-$version-prebuild-windows-msvc2022-x64.zip"
# Install x64 bit version $sha1 = "a028caa10ade0c1d39ad60d06201345908dfaaf2"
$architecture = "x64" $installFolder = "C:\openssl_x64"
$installFolder = "C:\openssl" $zip_package = "C:\Windows\Temp\$version.zip"
$externalUrl = "https://slproweb.com/download/Win64OpenSSL-$version.exe"
$internalUrl = "\\ci-files01-hki.ci.qt.io\provisioning\openssl\Win64OpenSSL-$version.exe"
$sha1 = "2fb73f233bc565939312782b8157bebc26a5e17b"
Write-Host "Fetching from URL ..."
Download $externalUrl $internalUrl $packagex64
Verify-Checksum $packagex64 $sha1
Write-Host "Installing $packagex64 ..."
Run-Executable "$packagex64" "/SP- /SILENT /LOG /SUPPRESSMSGBOXES /NORESTART /DIR=$installFolder"
Write-Host "Remove downloaded $packagex64 ..."
Remove "$packagex64"
Set-EnvironmentVariable "OPENSSL_CONF_x64" "$installFolder\bin\openssl.cfg"
Set-EnvironmentVariable "OPENSSL_INCLUDE_x64" "$installFolder\include"
Set-EnvironmentVariable "OPENSSL_LIB_x64" "$installFolder\lib"
Prepend-Path "$installFolder\bin"
}
# Install x86 bit version
$architecture = "x86"
if (Is64BitWinHost) {
$installFolder = "C:\openssl$architecture"
} else {
$installFolder = "C:\openssl"
}
$externalUrl = "https://slproweb.com/download/Win32OpenSSL-$version.exe"
$internalUrl = "\\ci-files01-hki.ci.qt.io\provisioning\openssl\Win32OpenSSL-$version.exe"
$sha1 = "ddead693fa279ad6b1baf123b3af51a9ef289dc1"
Write-Host "Fetching from URL ..." Write-Host "Fetching from URL ..."
Download $externalUrl $internalUrl $packagex86 Download $url $url $zip_package
Verify-Checksum $packagex86 $sha1 Verify-Checksum $zip_package $sha1
Write-Host "Installing $packagex86 ..." Extract-7Zip $zip_package C:\
Run-Executable "$packagex86" "/SP- /SILENT /LOG /SUPPRESSMSGBOXES /NORESTART /DIR=$installFolder" Remove $zip_package
Write-Host "Remove downloaded $packagex86 ..." Set-EnvironmentVariable "OPENSSL_ROOT_DIR_x64" "$installFolder"
Remove "$packagex86" Set-EnvironmentVariable "OPENSSL_INCLUDE_x64" "$installFolder\include"
Set-EnvironmentVariable "OPENSSL_LIB_x64" "$installFolder\lib"
Set-EnvironmentVariable "OPENSSL_CONF_x86" "$installFolder\bin\openssl.cfg" # Set envvars for builds in provisoning e.g. grpc
Set-EnvironmentVariable "OPENSSL_INCLUDE_x86" "$installFolder\include" Set-EnvironmentVariable "OPENSSL_ROOT_DIR" "$installFolder"
Set-EnvironmentVariable "OPENSSL_LIB_x86" "$installFolder\lib" Set-EnvironmentVariable "OPENSSL_INCLUDE" "$installFolder\include"
Set-EnvironmentVariable "OPENSSL_LIB" "$installFolder\lib"
Prepend-Path "$installFolder\bin"
# Store version information to ~/versions.txt, which is used to print version information to provision log. # Store version information to ~/versions.txt, which is used to print version information to provision log.
Write-Output "OpenSSL = $version" >> ~/versions.txt Write-Output "OpenSSL x64= $version" >> ~/versions.txt

View File

@@ -1,52 +0,0 @@
# Copyright (C) 2021 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
. "$PSScriptRoot\helpers.ps1"
# This script will pre-installed squish package for Windows.
# Squish is need by Release Test Automation (RTA)
$version = "8.1.0"
$qtBranch = "68x"
$targetDir = "C:\Utils\squish"
$squishPackage = "C:\Utils\rta_squish"
$squishUrl = "\\ci-files01-hki.ci.qt.io\provisioning\squish\jenkins_build\stable"
$licenseBranch="squish_license"
$licenseUrl = "\\ci-files01-hki.ci.qt.io\provisioning\squish\coin\$licenseBranch"
$testSuiteUrl="\\ci-files01-hki.ci.qt.io\provisioning\squish\coin\suite_test_squish"
# Squish license
$licensePackage = ".squish-license"
Write-Host "Installing Squish license to home directory"
Copy-Item $licenseUrl\$licensePackage ~\$licensePackage
if (Is64BitWinHost) {
$arch = "x64"
} else {
$arch = "x86"
}
$OSVersion = (get-itemproperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name ProductName).ProductName
if (($OSVersion -eq "Windows 10 Enterprise") -or ($OSVersion -eq "Windows 10 Pro")) {
# In Windows 11 case $OSVersion is 'Windows 10 Pro'
$winVersion = "win10"
if (Is64BitWinHost) {
$sha1 = "e7497b925b9a0aa17628344dbdacd6b3acd41c3b"
}
} else {
$winVersion = "n/a"
}
$squishArchive = "prebuild-squish-$version-$qtBranch-$winVersion-$arch.zip"
Copy-Item "$squishUrl\$squishArchive" "C:\Utils"
Copy-Item -Recurse "$testSuiteUrl" "C:\Utils"
Verify-Checksum "C:\Utils\$squishArchive" $sha1
Extract-7Zip "C:\Utils\$squishArchive" "C:\Utils"
Remove-Item "C:\Utils\prebuild*"
Write-Host "Verifying Squish Installation for following targets:"
get-childitem "$targetDir" -Filter squishrunner.exe -Recurse | % { $_.FullName }
get-childitem "$targetDir" -Filter squishrunner.exe -Recurse | % { if (cmd /c $_.FullName --testsuite "C:\Utils\suite_test_squish" |Select-String -Pattern "Squish test run successfully") { Write-Host "Squish tested successfully"} else { [Environment]::Exit(1) } }

View File

@@ -1,14 +0,0 @@
{
"overrides": [
{
"name": "openssl",
"version": "3.0.7",
"port-version": 2
}
],
"dependencies": [
"openssl",
"protobuf",
"grpc"
]
}

View File

@@ -1,20 +1,14 @@
# Copyright (C) 2025 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
. "$PSScriptRoot\helpers.ps1" . "$PSScriptRoot\helpers.ps1"
# This script installs Windows App SDK # This script installs Windows App SDK
$script:nugetVersion = "v6.11.0"
$script:nugetPackage = "nuget_$nugetVersion.exe"
$script:packageRoot = "C:\Utils\WindowsAppSdk\" $script:packageRoot = "C:\Utils\WindowsAppSdk\"
$script:cachedUrl = "\\ci-files01-hki.ci.qt.io\provisioning\windows\nuget\$nugetPackage" $script:package_path = [System.Environment]::GetEnvironmentVariable('NUGET_EXE_PATH', [System.EnvironmentVariableTarget]::Machine)
$script:officialUrl = "https://dist.nuget.org/win-x86-commandline/$nugetVersion/nuget.exe"
$script:sdkChecksumSha1 = "5443887cfb5283da5021388d146ebb5febdc82e9"
$script:package_path = "$packageRoot\\$nugetPackage"
New-Item -ItemType Directory -Path "$packageRoot"
Download $officialUrl $cachedUrl $package_path
Verify-Checksum $package_path $sdkChecksumSha1 sha1
Write-Host "Installing Nuget"
Run-Executable "$package_path" "install Microsoft.WindowsAppSDK -OutputDirectory $packageRoot" Run-Executable "$package_path" "install Microsoft.WindowsAppSDK -OutputDirectory $packageRoot"
$script:cpuarch = Get-CpuArchitecture $script:cpuarch = Get-CpuArchitecture

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