Compare commits

..

44 Commits
v6.9.2 ... 6.9

Author SHA1 Message Date
Rami Potinkara
414316f8ee Android: Fix Android 16 emulator CI start problems
This patch updates the fully booted check for Android.

Old logic used init.svc.bootanim property and it's status
"stopped", but since Android 16 forward the status is kept
empty "" if "-no-boot-anim" emulator startup parameter is used.

The new logic simplifies old and relies only to two values:
sys.boot_completed and dev.bootcomplete. These work similary
from Android 9 to 16.

Task-number: QTQAINFRA-7399
Task-number: QTQAINFRA-7298
Pick-to: 6.8
Change-Id: I62efb0b05cd9792f92040dcb98a37f4bf14022e6
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
(cherry picked from commit 0eb085f93d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 9f42f33194)
2025-09-15 11:37:03 +00:00
Toni Saario
1072961496 Coin: VxWorks x86_64 add -enable-kvm parameter
This makes the qemu virtualize the target rather than emulating
it. Virtualization allows few times better performance in tests.

Change-Id: I7a5f7e3e2b04c52034325459ef05bfc0dce5d0b7
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit ecff7e6ddc)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 8fb747f92e)
2025-09-15 05:26:04 +00:00
Elias Toivola
6c31d6ae11 Android FFmpeg: Further fix FFmpeg build directories
This fixes "does not exist" errors when trying to build multiple NDKs.

This amends 303b4c13dc

Task-number: QTQAINFRA-7069
Change-Id: I29f5cd85ffb3cf12a81b5816a5601ea37446042d
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit ffc15eb35f)
2025-09-12 06:52:52 +00:00
Nils Petter Skålerud
2cac35a368 Coin, FFmpeg, Android: Fix nightly FFmpeg build folder (Unix)
Previous patch 75fea893b1 introduced
a small bug where multiple nightly builds of FFmpeg were being
outputted into the same directory, effectively causing them to
overwrite each other.

This patch gives the nightly builds their own subfolder for outputted
library files.

Task-number: QTQAINFRA-7069
Change-Id: I5f7e111708aecedd2817888948b77b8163f0452d
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 303b4c13dc)
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 62fed89867)
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2025-09-12 06:52:48 +00:00
Nils Petter Skålerud
68335185c1 FFmpeg, Android ARMv7: Use correct build folder when fixing deps
This patch amends 133de012af95507ac485845d8de8f58da005df64.

The previous patch introduced a regression where the newer build paths
were not being passed correctly into 'fix_ffmpeg_dependencies.sh'
during FFmpeg Android builds.

This patch introduces a common function to resolve the installation
directory, which is then used both during compilation and during
FFmpeg patching.

Additionally, it introduces some basic error-handling when running
'fix_ffmpeg_dependencies.sh' so that we can catch this issue in
integration, in the future.

Fixes: QTBUG-138615
Change-Id: I195ebd3034a3184bad32e75916a41a20838b2db1
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 7f416abf32)
2025-09-12 06:52:45 +00:00
Elias Toivola
ed43be6eab Build FFmpeg with each Android NDK version
Multiple Android NDKs are installed in provisoning. FFmpeg build uses
NDK in its build process for Android, so this change makes provisioning
build multiple Android FFmpeg builds, so each Android nightly can use a
FFmpeg build where its corresponding NDK version was used.

Task-number: QTQAINFRA-7069
Change-Id: Ie4457c87b7b75e0c711a76bd8170e718cbda445d
(cherry picked from commit 980cd3659a)
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2025-09-12 09:52:40 +03:00
Elias Toivola
1f1e1f3e71 Android: set macOS nightly targets for older NDK versions
This change makes macOS provisioning also install older NDKs for
Android (if set), which will be used in nightly targets.

Task-number: QTQAINFRA-7069
Change-Id: Ie176c5ea69a1398afa69691ad6f37b7af2f66dfc
(cherry picked from commit 03f8208be9)
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
2025-09-12 09:52:36 +03:00
Alexandru Croitor
01db49e852 coin: Add cyclonedx-python-lib to sbom_requirements.txt
In preparation for generating a CycloneDX SBOM for Qt framework,
install the cyclonedx-python-lib package which will be a required
dependency for the SBOM generation process (assuming CycloneDX
generation feature is enabled in the build).

Pick-to: 6.8
Task-number: QTBUG-129598
Change-Id: Iacaeb22aa568cecd6ffbe2ece30de953e37c5cf2
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
(cherry picked from commit 86589a14fc)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 7eb22d00df)
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2025-09-12 08:52:29 +02:00
Simo Fält
f3c8481d27 COIN: Fix Debian bookworm pgp key in Ubuntu 22.04 for debootstrap
Pick-to: 6.8
Change-Id: Ie06c37987cf21ee0f8f60528af5d70cbf8b5490d
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
(cherry picked from commit e6eaa4f3ef)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 202622c541)
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2025-09-12 06:52:25 +00:00
Elias Toivola
47addb5670 Windows: Add a helper to cleanly invoke NMake with zlib
Invoke-NMake helper temporarily clears MAKE flags, such as
MAKEFLAGS='-j8', to prevent errors from GNU-style flags and to reduce
flakiness with NMAKE.

The helper is used to build zlib and to prevent:
error U1065: invalid option '-'

Pick-to: 6.8 6.5
Task-number: QTQAINFRA-7363
Change-Id: Ia80216677eba6fd8f8364741b6999e6155d678ab
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 0f3d085101)
2025-09-12 06:52:22 +00:00
Elias Toivola
ad0eea374d Android: set nightly targets for older NDK versions
This change makes provisioning also install older NDKs for Android,
which will be used in nightly targets.

Task-number: QTQAINFRA-7069
Change-Id: Ia8695383e94df282822da9019c33f1004a879bf6
(cherry picked from commit ac22ffaf57)
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
2025-09-12 09:52:17 +03:00
Elias Toivola
c4a00bb6b4 Android: set new NDK envvars for the new Android targets
Set the latest NDK envvars for android-quick-minimal and Android 16.

Task-number: QTQAINFRA-7069
Change-Id: Ib533eeb08a31437967485cc35f40e434c2880108
(cherry picked from commit b7ee424962)
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2025-09-12 09:52:08 +03:00
Rami Potinkara
c20550ac70 Provisioning: Remove OpenSSL 1
This patch removes OpenSSL 1 related sections.

Task-number: QTQAINFRA-7069
Change-Id: If565fb2223b17497553a77fda47fe9dfbdccb32a
(cherry picked from commit 09ea302a62)
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2025-09-12 09:52:03 +03:00
Elias Toivola
31d1707f3e Set-EnvironmentVariable helper: apply envvar to current PS session
When you use the helper to set an envvar in provisioning, you can not
reference the machine scoped variable in a later .ps1 script in the same
provisoning run using the direct/static reference '$env:NAME', instead
you have to use a more verbose method with e.g. 'Get-Item' cmdlet and/or
set the envvar additionally to the process scope yourself.

This change makes the helper also add process scope to the envvars, this
way envvars set in provisioning can be simply referenced with
'$env:NAME' in later provisioning scripts, which is consistent with the
way you can use SetEnvVar helper in Unix and directly reference the
envvar with just its variable name in later .sh scripts.

This change also removes duplicate local scope envvar definitions now
that Set-EnvironmentVariable helper does it.

Change-Id: I804fa8f8dfce742a84e8b4bc077f466820589f7e
(cherry picked from commit 30a92ce1f2)
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-09-12 06:51:53 +00:00
Tero Heikkinen
9da7cef4c3 Windows ARM: Remove Packaging flag from WoA 11 22h2 target
Target: windows-11_23H2-msvc2022-arm64

Task-number: QTQAINFRA-6973
Task-number: QTQAINFRA-6109
Change-Id: I82153c08e327a211fd604f803b901370f06e35df
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-09-10 12:24:36 +03:00
Liang Qi
6e7c618502 Revert "platform_configs: remove two u2204 tests"
Ubuntu 24.04 GNOME X11 still has too many flaky issues in our
CI, which blocks integrations too much.

This reverts commit e2e25e8a66.

Pick-to: 6.8
Task-number: QTBUG-137909
Change-Id: Ifcb56d0172b7bd0e66d1fe6e764ea6643b8e4834
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
(cherry picked from commit da4d20137c)
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 3d536d157d)
2025-09-10 09:24:34 +00:00
Liang Qi
3bb6e63119 platform_configs: add DocsGenerationV2 for Ubuntu 24.04 x64
Prepare for documentation-warnings config.

Pick-to: 6.8
Task-number: QTQAINFRA-7146
Change-Id: Ibc08b33b5b61c80b30506bb6de0b466d3c19f915
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit b42d426d8f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit d3a73458b6)
2025-09-10 09:24:33 +00:00
Simo Fält
33eab8b05d COIN: Fix Debian with missing debootstrap key
Pick-to: 6.8
Change-Id: I61f6a4834b034bb52323416499d71543f290ccf6
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
(cherry picked from commit 4bb846dd6d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit a792a399e3)
2025-09-10 09:24:32 +00:00
Aku Pietikäinen
30024db893 Update homebrew to version 4.6.8 and git to latest installer
Change-Id: I2c13ce86b3aceae47afab7e1af1489c2d355aad2
Pick-to: 6.8 6.5
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit ae2ae67c61)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 19b819ebf3)
2025-09-10 09:24:28 +00:00
Tero Heikkinen
49a3b262d5 macOS: Fix mdutil unknown indexing state in provisioning
Task-number: QTQAINFRA-7377
Pick-to: 6.8 6.5
Change-Id: Idf0dc607a4c6f7299412f6979f9ea6de5ea522cb
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
(cherry picked from commit 0b23c3afcd)
2025-09-10 09:24:27 +00:00
Ville-Pekka Karhu
72194809dc Provisioning: Take repo-clones-apt into use in Ubuntu 24.04
Pick-to: 6.8
Task-number: QTQAINFRA-6297
Change-Id: I7d9b3edc2b2429361e421ce13b5c36f4247693f6
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 13487118df)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit c25feffb9b)
2025-09-09 12:27:47 +00:00
Aku Pietikäinen
86ce9b7db5 Update homebrew after installation
Get rid of incompatibility errors between homebrew client and server.

Tark-number: QTQAINFRA-6903
Pick-to: 6.8 6.5
Change-Id: If42b721084f770763a378b93b3386733ab48828f
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
(cherry picked from commit 1dffbe8157)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 8d22b36de0)
2025-09-09 12:27:44 +00:00
Tor Arne Vestbø
2106554dff coin: Force detach Docker volume unmount
Change-Id: I6c19b374adf3d4cd75a3307474e973af96613378
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit e8f8c9e845)
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2025-09-09 12:27:41 +00:00
Nils Petter Skålerud
c0cadc1d04 macOS, FFmpeg: Don't use patchelf 0.18 for Android FFmpeg patching
At the time of writing, homebrew ships patchelf version 0.18.0. This
version of patchelf has a bug specific to Androd binaries. The macOS
14 arm64 host currently uses this version of patchelf. This causes an
issue during runtime linking in Qt Multimedia applications on Android.

This patch modifies the macOS 14 arm64 host to use patchelf v0.17.2
that we compile from source. It also adds warnings to the provisioning
log should someone try to use v0.18.0 in the future.

Fixes: QTBUG-136930
Pick-to: 6.8
Change-Id: Id66b560e6a1d4300a54017e9c3366720dc291944
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 61046109cf)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 14dcdd32d7)
2025-09-09 12:27:38 +00:00
Aku Pietikäinen
ea9b62813f Change libiodbc brew to use local tap
Installing directly from rb file no longer supported by
homebrew without HOMEBREW_DEVELOPER set after https://github.com/Homebrew/brew/pull/20414
was merged.

Create local tap for install to avoid need for homebrew developer mode.

Task-number: QTQAINFRA-7344
Change-Id: Id59af01875b16d1757b1dba36c2ba04bf973c212
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit a9b7487138)
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2025-09-09 12:27:36 +00:00
Aku Pietikäinen
d29b250e10 Use correct PATH for homebrew based on architecture
Task-number: QTQAINFRA-6903
Change-Id: I1b5f529e8e94a7e609b5be1704ed83f6380f4cc5
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
(cherry picked from commit f73de1b6a8)
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2025-09-09 12:27:33 +00:00
Toni Saario
866a7e93ef Cache maven dependencies for californium build
The fetching from 3rd party repos has become very flaky.
To avoid mirrors throttling us and other flaky issues cache
the dependencies and set -o to enable offline mode.

This seems to also speed up the step considerably.

Pick-to: 6.8 6.5
Change-Id: I01663e60baa44ab828d8880ab8b346034a50b60e
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit a64f150422)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-09 12:26:13 +00:00
Jukka Jokiniva
d3356b4d2a Update qtremoteobjects and qt3d submodules
Change-Id: Ie51a238cc8164707f12323c0ea19bf6f06f0ce4d
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2025-09-09 15:26:10 +03:00
Axel Spoerl
d176d30f9d Make ubuntu-24.04-x64-x11-tests test insignificant
Ubuntu 24.04 installs Wayland by default. The X11 version is known to
be problematic, which is why ubuntu-24.04-x64-documentation-x11-tests
has been marked InsignificantTests.

Extend this to ubuntu-24.04-x64-x11-tests.

Task-number: QTBUG-137909
Task-number: QTBUG-136092
Pick-to: 6.8 6.5
Change-Id: I38f4bb5ca59255870dc6dbbb69e9ab339c679ddc
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
(cherry picked from commit 75b7834370)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 582a05fab0)
2025-09-02 15:19:01 +00:00
Tero Heikkinen
d657543377 Linux: Fix Debian packagekit failing in provisioning
Target jammy-arm64-debian-pkg-packaging fails in
waitLoop function, which is also used by Ubuntu platforms.

Fix by extending wait loop for lock paths:
  - /var/lib/dpkg/lock
  - /var/lib/apt/lists/lock (new)

Task-number: QTQAINFRA-7361
Change-Id: If8d5eacaeb72ea6a36496093bc5c248f61997afb
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-08-29 22:34:36 +03:00
Simo Fält
6e6dd72cd3 COIN: Fix Debian bookworm chroot
Debian stable codename is now trixie.

Pick-to: 6.8
Change-Id: I296782cef2a4329e359413cd7515a8dfca271095
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
(cherry picked from commit 2dbbd0853f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit d7166acfae)
(cherry picked from commit 4403eaf71c)
2025-08-27 11:59:08 +00:00
Liang Qi
d15eb1318a Revert "platform_configs: remove InsignificantTests for u2404 x11 dev"
Ubuntu 24.04 GNOME X11 still has too many flaky issues in our
CI, which blocks integrations too much.

This reverts commit 365860ce42.

Pick-to: 6.8
Task-number: QTBUG-137909
Change-Id: I058c5d9c5e67bbea4a5ea88a915270ef00110d7a
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
(cherry picked from commit e9687ee42e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit feabc0fdcf)
2025-08-25 13:46:03 +00:00
Tero Heikkinen
1de64805dd Add missing static targets to Windows on ARM 11 23h2
Targets
  - windows-11_23h2-arm64-msvc2022-minimal-static-test

This doesn't have previous version so it's left out in 6.9
  - Windows-MSVC2022-arm64_Static-23H2

Task-number: QTQAINFRA-7273
Task-number: QTQAINFRA-6973
Change-Id: I1e2110973d0ad0645c1f5b62c420655c94235eab
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit acb1eb656a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 91627c3294)
2025-08-25 10:52:28 +03:00
Tero Heikkinen
eb58ed2f90 Linux: Add glibc versions visible in versions.txt
Will also make glibc versions visible in Tools and Versions pages.

Task-number: QTQAINFRA-7333
Pick-to: 6.8 6.5
Change-Id: Ic0274822f326e4b23ed423d8da20002bc6d4f20a
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 3ba1fb95be)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 763fb46b70)
2025-08-25 06:16:56 +00:00
Simo Fält
9df970d03c COIN: Replace Debian stable with bookworm chroot
Stable is debian codename and the script was ran in Ubuntu, so it makes
me wonder how did this warm in the first place.

Pick-to: 6.8
Change-Id: I6d907ce11d53aa498ea93522539891f38e7c8388
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 77eb380ac0)
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit cbc5c3405b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-08-24 07:36:01 +00:00
Qt Submodule Update Bot
1701457349 Update submodules on '6.9 in qt/qt5'
Change-Id: Iac24aa0927675d360a978eaf07f3e819563c9239
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-08-22 13:40:03 +00:00
Qt Submodule Update Bot
73e0584f4c Update submodules on '6.9 in qt/qt5'
Change-Id: Iacf511f13f87fc19e1447ee9bae5dc211b964232
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-08-21 08:47:07 +00:00
Tero Heikkinen
db5a9432cf Windows ARM: Enable OpenGL for WoA 11 23h2
OpenCL, OpenGL, and Vulkan Compatibility pack has been
installed to WoA 11 23h2 Tier1 images to support OpenGL
usage with these modules:
  - QtBase
    - QtGui
    - QtWidgets
  - QtDeclarative
    - QtQuick
  - Qt3D

Enabling OpenGL by removing tags:
-no-opengl
-no-feature-run-opengl-tests

Introduce new cross-compile build target for WoA 11 23h2
  - windows-11_23H2-msvc2022-arm64-23H2
  - Which has OpenGL enabled
  - Should not be used with WoA 11 22h2 as it doesn't have OpenGL

New build will be used only for WoA 11 23h2 tests
  - windows-11-x86_64-arm64-tests-23H2 (new in 6.9)
  - Which has OpenGL tests enabled

Names for these build and test targets will be renamed later when
WoA 11 23h2 replaces WoA 11 22h2 by removing '-23H2' suffix from names.

Note:
  - In 6.9 there is no Win 11 24h2 x64 like in dev and 6.10
  - Therefore 6.9 uses Win 11 23h2 x64 for cross-compile target

Task-number: QTQAINFRA-6973
Task-number: QTQAINFRA-6109
Task-number: QTBUG-126030
Change-Id: Ifa29d93d996ac4884a86835328170d857bf91f33
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit d48682bcdf)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit db339574e2)
2025-08-20 12:28:31 +03:00
Tim Blechmann
b083ff91ea provisioning: openSUSE-15.6 - fix gstreamer h264 codec installation
the gstreamer-1.20-plugin-openh264 package seems to be outdated, as
opensuse's openh264 repo seems to have moved to gstreamer-1.24 and
renamed the package to gstreamer-plugin-openh264:
https://codecs.opensuse.org/openh264/openSUSE_Leap/x86_64/

This partially reverts 69f651b01794c93da20894a7ea5728a332903850.

Change-Id: Ie159ec48f83a7b7d10671d2200f7eb4fbcf93db3
Reviewed-by: Lars Sutterud <lars.sutterud@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit c52c9ef8b8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 2b1b4fdb37)
2025-08-16 09:50:37 +08:00
Lars Sutterud
687dcede31 Temporarily remove open264 GStremer plugin from openSUSE builds on CI
Fix build issue for openSUSE on CI, probably related to the
gstreamer-plugin-openh264 plugin being obsolete for the latest
gstreamer-plugins-bad package
https://forums.opensuse.org/t/gstreamer-plugins-bad-wants-to-obsolete-gstreamer-plugin-openh264/186318

GStreamer tests are disabled on openSUSE anyway atm.

Pick-to: 6.8
Change-Id: I6e19e655c8753de879d6bbf82e532d18b25a01cb
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 9c0de61c89)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit e871bdae27)
2025-08-16 09:50:34 +08:00
Pavel Dubsky
1e533481a3 Enable zlib in FFmpeg configuration
Fixes: QTBUG-103332
Pick-to: 6.8 6.5
Change-Id: I87a760edcd4d8a77966ec5a692cb1f1f4242b647
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit f7af78977c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 707546820e)
2025-08-14 22:33:41 +00:00
Alexandru Croitor
b39e246b78 CMake: Force build tools when cross-compiling for Windows ARM64
TLDR: We need force cross-build the compilation of WebEngine tools
when cross-compiling for Windows ARM64, to ensure that native
development on Windows ARM64 hosts can use the WebEngine tools.

Long version:

We have two packaging configurations for Windows ARM64.

1) we cross-compile 'Windows On Arm' Qt on an x64 Windows host.
   This configuration includes the WoA WebEngine libraries, but not
   the tools.

2) we build Windows on Arm Qt on a native arm64 windows host. This
   currently lacks the WebEngine libraries and tools, because it takes
   too much time to build them on native arm hosts in the CI.

When installing WoA on a Windows host using the Qt online
installer, there are three possible scenarios:

a) Running the x64 installer on an x64 Windows host, to be
   able to cross-build projects targeting Windows on Arm.

   This will install an x64 MSVC host qt, and an arm64 WoA target Qt
   from case '1' above.
   The x64 qt includes the WebEngine libraries and tools, and the WoA
   qt only includes the libraries, but not the tools.

   For WoA project builds, the build system will use the
   x64 host tools. This works fine.

b) Running the x64 installer on an arm64 Windows host.

   This is very similar to the 'a' case, except it involves emulation
   of the x64 host tools.

   This will install an x64 MSVC host qt, and an arm64 WoA target Qt.
   The x64 qt includes the WebEngine libraries and tools, and the WoA
   qt only includes the libraries, but not the tools.

   For WoA project builds, the build system will use the
   x64 host tools using /emulation/. This works fine, as long as x64
   emulation is available and enabled.

c) Running the arm64 installer on an arm64 Windows host.

   This will install the native arm64 WoA Qt from case '2' above.
   The arm64 qt includes arm libraries and tools from case '2', but
   that lacks the WebEngine libraries and tools.

   So the installer will also install the cross-compiled arm64
   WebEngine libraries from case '1', but not the WebEngine tools
   (e.g. dict conversion tool).

To ensure that scenario 'c' also gets WebEngine tools, we need to
force build (cross-compile) the tools in scenario '1'.

This patch achieves that by passing -DQT_FORCE_BUILD_TOOLS=ON ,
similar how we do it for yocto builds.

Task-number: QTBUG-138859
Change-Id: I8270731a4afef7ab9af8df63326fb838e02968e8
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
(cherry picked from commit 9254959ace)
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit b04f1bb9fa)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-08-14 02:05:25 +00:00
Alexandru Croitor
0622f99ca9 Provisioning: Add arm64 libclang for Windows 11 24H2
So it can be used during cross-compilation of arm64 packages.

To ensure the env variable set does not conflict with the x86_64
version, the env variable is suffixed with "arm64".

Change-Id: I117f6c4a8431058b9af22390942539a49c632d6a
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit c3f303b50b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 804108b9e3)
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2025-08-13 18:18:19 +02:00
Elias Toivola
20b2b5c720 Android: split nightly targets into their own files
This makes configuring nightlies more simple and its results more
readable.

Pick-to: 6.8 6.5
Task-number: QTQAINFRA-5945
Task-number: QTQAINFRA-7069
Change-Id: I89ca6b65fbdfcd52dd607c008174e446dc6925f4
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 737eb7aa6d)
(cherry picked from commit 8a76f815cc)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-08-07 16:48:17 +00:00
105 changed files with 814 additions and 490 deletions

86
.gitmodules vendored
View File

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

View File

@@ -25,6 +25,19 @@ Configurations:
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DINPUT_headersclean=ON -DQT_DEPLOY_FFMPEG=TRUE'
]
# Test on Ubuntu 22.04 X11
-
Id: 'ubuntu-22.04-developer-build-x11-tests'
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'TestOnly']
Platform dependency: 'ubuntu-22.04-developer-build'
-
Id: 'ubuntu-22.04-x11-tests'
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'TestOnly']
Platform dependency: 'ubuntu-22.04'
# Build on Ubuntu 24.04 ARM64 Wayland and test on offscreen and Wayland later
-
Id: 'ubuntu-24.04-arm64-developer-build'
@@ -74,7 +87,7 @@ Configurations:
Id: 'ubuntu-24.04-x64'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests']
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests', 'GenerateSBOM', 'VerifySBOM', 'DocsGenerationV2']
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
@@ -86,13 +99,13 @@ Configurations:
Id: 'ubuntu-24.04-x64-developer-build-x11-tests'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'TestOnly']
Features: ['Sccache', 'TestOnly', 'InsignificantTests']
Platform dependency: 'ubuntu-24.04-x64-developer-build'
-
Id: 'ubuntu-24.04-x64-x11-tests'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'TestOnly']
Features: ['Sccache', 'TestOnly', 'InsignificantTests']
Platform dependency: 'ubuntu-24.04-x64'
-
Id: 'opensuse-15.6-developer-build'
@@ -154,8 +167,8 @@ Configurations:
Id: 'windows-11_23h2-arm64-msvc2022'
Template: 'qtci-windows-11_23H2-aarch64-53'
Compiler: 'MSVC2022'
Features: ['DebugAndRelease', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib -no-opengl -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer'
Features: ['Packaging', 'DebugAndRelease', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer'
Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_arm64}}\..',
'NON_QTBASE_CMAKE_ARGS= -DFEATURE_clangcpp=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE',
@@ -166,11 +179,29 @@ Configurations:
Template: 'qtci-windows-11_23H2-x86_64-54'
Compiler: 'MSVC2022'
Target arch: 'arm64'
Features: ['Sccache', 'DoNotRunTests', 'TargetBuildOnly', 'Packaging', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Features: ['Sccache', 'DoNotRunTests', 'TargetBuildOnly', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Platform dependency: 'windows-10_22h2-mingw13'
Environment variables: [
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
'TARGET_CONFIGURE_ARGS=-debug-and-release -force-debug-info -platform win32-arm64-msvc -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer -no-feature-run-opengl-tests',
'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',
'OPENSSL_CONF_x64={{.Env.OPENSSL_CONF_x64_arm64}}',
'OPENSSL_INCLUDE_x64={{.Env.OPENSSL_INCLUDE_x64_arm64}}',
'OPENSSL_LIB_x64={{.Env.OPENSSL_LIB_x64_arm64}}',
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc_arm64}}',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
Id: 'windows-11_23H2-msvc2022-arm64-23H2'
Template: 'qtci-windows-11_23H2-x86_64-54'
Compiler: 'MSVC2022'
Target arch: 'arm64'
Features: ['Sccache', 'Packaging', 'DoNotRunTests', 'TargetBuildOnly', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Platform dependency: 'windows-10_22h2-mingw13'
Environment variables: [
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
'TARGET_CONFIGURE_ARGS=-debug-and-release -force-debug-info -platform win32-arm64-msvc -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}}',
'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}}',
@@ -185,6 +216,13 @@ Configurations:
Features: ['TestOnly']
Configure arguments: '-no-opengl -cross-compiled'
Platform dependency: 'windows-11_23H2-msvc2022-arm64'
-
Id: 'windows-11-x86_64-arm64-tests-23H2'
Template: 'qtci-windows-11_23H2-aarch64-53'
Compiler: 'MSVC2022'
Features: ['TestOnly', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
Configure arguments: '-cross-compiled'
Platform dependency: 'windows-11_23H2-msvc2022-arm64-23H2'
-
Id: 'windows-11_23H2-msvc2022-developer-build'
Template: 'qtci-windows-11_23H2-x86_64-54'

View File

@@ -24,6 +24,19 @@ Configurations:
'NON_QTBASE_CMAKE_ARGS=-DCMAKE_BUILD_TYPE=Release -DFEATURE_native_grpc=OFF -DFEATURE_clangcpp=OFF -DFEATURE_qdoc=OFF',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
Id: 'windows-11_23h2-arm64-msvc2022-minimal-static-test'
Template: 'qtci-windows-11_23H2-aarch64-53'
Compiler: 'MSVC2022'
Features: ['UseConfigure', 'InsignificantTests', 'Packaging', 'MinimalStaticTests']
Configure arguments: '-static -release -headersclean -nomake examples -qt-libjpeg -no-icu -qt-doubleconversion -qt-zlib -c++std c++17 -no-sql-psql'
Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_arm64}}\..',
'NON_QTBASE_CMAKE_ARGS=-DCMAKE_BUILD_TYPE=Release -DFEATURE_native_grpc=OFF -DFEATURE_clangcpp=OFF -DFEATURE_qdoc=OFF',
'VCPKG_HOST_TRIPLET=arm64-windows-qt',
'VCPKG_TARGET_TRIPLET=arm64-windows-qt',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
Id: 'rhel-8.10-minimal-static-test'
Template: 'qtci-linux-RHEL-8.10-x86_64-51'

View File

@@ -10,10 +10,10 @@ Configurations:
Platform dependency: 'macos-universal-on-x86_64'
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis arm64-v8a',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH=/usr/local -DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}'
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis arm64-v8a',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH=/usr/local -DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_ARM64_NDK_LATEST}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}'
]
-
Id: 'android-armv7-on-windows'
@@ -26,10 +26,10 @@ Configurations:
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis armeabi-v7a -no-feature-pkg-config',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH={{.Env.Protobuf_ROOT_mingw}} -DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_ARMV7}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR={{.Env.Protobuf_ROOT_msvc}}/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}'
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis armeabi-v7a -no-feature-pkg-config',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH={{.Env.Protobuf_ROOT_mingw}} -DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_ARMV7_NDK_LATEST}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR={{.Env.Protobuf_ROOT_msvc}}/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}'
]
-
Id: 'android-9-x86-on-linux'
@@ -41,10 +41,10 @@ Configurations:
Platform dependency: 'rhel-8.10'
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}',
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_NDK_LATEST}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}',
'ANDROID_EMULATOR=emulator_x86_api_28'
]
-
@@ -57,10 +57,10 @@ Configurations:
Platform dependency: 'rhel-8.10'
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}',
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64_NDK_LATEST}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}',
'ANDROID_EMULATOR=emulator_x86_64_api_35'
]
-
@@ -73,9 +73,9 @@ Configurations:
Platform dependency: 'rhel-8.10'
Features: ['Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}',
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64_NDK_LATEST}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}',
'ANDROID_EMULATOR=emulator_x86_64_api_36'
]

View File

@@ -10,8 +10,8 @@ Configurations:
Platform dependency: 'rhel-8.10'
Features: ['Packaging', 'Sccache', 'AndroidTestRun', 'UseConfigure']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -debug -developer-build -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}}',
'TARGET_CONFIGURE_ARGS=-nomake examples -debug -developer-build -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID}}',
'NON_QTBASE_TARGET_CMAKE_ARGS=',
'ANDROID_EMULATOR=emulator_x86_api_28']

View File

@@ -0,0 +1,33 @@
Version: 2
Include: [
cmake_platforms.yaml: [
'rhel-8.10'
],
cmake_platforms_target_android.yaml: [
'android-15-x86_64-on-linux',
'android-9-x86-on-linux'
]
]
Configurations: []
# Android nightly to check for -qtnamespace errors/issues
Overrides:
-
Id: 'android-15-x86_64-on-linux'
Features: ['Sccache', 'AndroidTestRun', 'VMSize8', 'UseConfigure']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-qtnamespace TestNamespace -nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64_NDK_LATEST}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}',
'ANDROID_EMULATOR=emulator_x86_64_api_35'
]
-
Id: 'android-9-x86-on-linux'
Features: ['Sccache', 'AndroidTestRun', 'VMSize8', 'UseConfigure']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-qtnamespace TestNamespace -nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_NDK_LATEST}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}',
'ANDROID_EMULATOR=emulator_x86_api_28'
]

View File

@@ -0,0 +1,58 @@
Version: 2
Include: [
cmake_platforms.yaml: [
'rhel-8.10',
'windows-10_22h2-mingw13'
],
cmake_platforms_target_android.yaml: [
'android-15-x86_64-on-linux',
'android-9-x86-on-linux',
'android-armv7-on-windows',
'android-arm64-on-macos'
],
macos.yaml: [
'macos-universal-on-arm64'
]
]
Configurations: []
# Android nightly to check for older (but still supported for the branch) NDKs
Overrides:
-
Id: 'android-15-x86_64-on-linux'
Features: ['Sccache', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'WarningsAreErrors']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_NIGHTLY1}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_NIGHTLY1}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64_NDK_NIGHTLY1}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_NIGHTLY1}}',
'ANDROID_EMULATOR=emulator_x86_64_api_35'
]
-
Id: 'android-9-x86-on-linux'
Features: ['Sccache', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'WarningsAreErrors']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_NIGHTLY1}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_NIGHTLY1}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_NDK_NIGHTLY1}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_NIGHTLY1}}',
'ANDROID_EMULATOR=emulator_x86_api_28'
]
-
Id: 'android-armv7-on-windows'
Features: ['Sccache', 'WarningsAreErrors', 'DisableTests', 'UseConfigure']
Environment variables: [
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_NIGHTLY1}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis armeabi-v7a -no-feature-pkg-config',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_NIGHTLY1}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH={{.Env.Protobuf_ROOT_mingw}} -DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_ARMV7_NDK_NIGHTLY1}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR={{.Env.Protobuf_ROOT_msvc}}/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_NIGHTLY1}}'
]
-
Id: 'android-arm64-on-macos'
Features: ['Sccache', 'WarningsAreErrors', 'DisableTests', 'UseConfigure']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_NIGHTLY1}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis arm64-v8a',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_NIGHTLY1}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH=/usr/local -DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_ARM64_NDK_NIGHTLY1}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_NIGHTLY1}}'
]

View File

@@ -0,0 +1,58 @@
Version: 2
Include: [
cmake_platforms.yaml: [
'rhel-8.10',
'windows-10_22h2-mingw13'
],
cmake_platforms_target_android.yaml: [
'android-15-x86_64-on-linux',
'android-9-x86-on-linux',
'android-armv7-on-windows',
'android-arm64-on-macos'
],
macos.yaml: [
'macos-universal-on-arm64'
]
]
Configurations: []
# Android nightly to check for older (but still supported for the branch) NDKs
Overrides:
-
Id: 'android-15-x86_64-on-linux'
Features: ['Sccache', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'WarningsAreErrors']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_NIGHTLY2}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_NIGHTLY2}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64_NDK_NIGHTLY2}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_NIGHTLY2}}',
'ANDROID_EMULATOR=emulator_x86_64_api_35'
]
-
Id: 'android-9-x86-on-linux'
Features: ['Sccache', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'WarningsAreErrors']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_NIGHTLY2}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_NIGHTLY2}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_NDK_NIGHTLY2}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_NIGHTLY2}}',
'ANDROID_EMULATOR=emulator_x86_api_28'
]
-
Id: 'android-armv7-on-windows'
Features: ['Sccache', 'WarningsAreErrors', 'DisableTests', 'UseConfigure']
Environment variables: [
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_NIGHTLY2}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis armeabi-v7a -no-feature-pkg-config',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_NIGHTLY2}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH={{.Env.Protobuf_ROOT_mingw}} -DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_ARMV7_NDK_NIGHTLY2}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR={{.Env.Protobuf_ROOT_msvc}}/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_NIGHTLY2}}'
]
-
Id: 'android-arm64-on-macos'
Features: ['Sccache', 'WarningsAreErrors', 'DisableTests', 'UseConfigure']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_NIGHTLY2}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis arm64-v8a',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_NIGHTLY2}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH=/usr/local -DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_ARM64_NDK_NIGHTLY2}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_NIGHTLY2}}'
]

View File

@@ -4,7 +4,7 @@ Include: [
cmake_platforms.yaml: [
"ubuntu-22.04",
"ubuntu-22.04-developer-build",
"ubuntu-24.04-x64-developer-build-x11-tests",
"ubuntu-22.04-developer-build-x11-tests",
"windows-11_23H2-msvc2022-developer-build",
"ios-universal"
],

View File

@@ -27,8 +27,8 @@ Configurations:
Platform dependency: 'rhel-8.10'
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}}',
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID}}',
'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_EMULATOR=automotive_emulator_x86_64_api_34'
@@ -43,8 +43,8 @@ Configurations:
Platform dependency: 'rhel-8.10'
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}}',
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID}}',
'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_EMULATOR=automotive_emulator_x86_64_api_29'

View File

@@ -25,13 +25,12 @@ function check_for_android_device
}
# WARNING: On the very first boot of the emulator it happens that the device
# "finishes" booting and getprop shows bootanim=stopped and
# boot_completed=1. But sometimes not all packages have been installed (`pm
# list packages` shows only 16 packages installed), and after around half a
# minute the boot animation starts spinning (bootanim=running) again despite
# boot_completed=1 all the time. After some minutes the boot animation stops
# again and the list of packages contains 80 packages. Only then the device is
# fully booted, and only then is dev.bootcomplete=1.
# "finishes" booting and getprop shows boot_completed=1. But sometimes not all
# packages have been installed (`pm list packages` shows only 16 packages
# installed), and after around half a minute the boot animation starts spinning
# again despite boot_completed=1 all the time. After some minutes the boot
# animation stops again and the list of packages contains 80 packages.
# Only then the device is fully booted, and only then is dev.bootcomplete=1.
#
# To reproduce the emulator booting as the first time, you have to delete the
# cached images found inside $HOME/.android/avd/{avd_name}.avd/ especially the
@@ -39,11 +38,10 @@ function check_for_android_device
function check_if_fully_booted
{
# The "getprop" command separates lines with \r\n so we trim them
bootanim=$( timeout 1 "$ADB_EXEC" shell getprop init.svc.bootanim | tr -d '\r\n')
boot_completed=$(timeout 1 "$ADB_EXEC" shell getprop sys.boot_completed | tr -d '\r\n')
bootcomplete=$( timeout 1 "$ADB_EXEC" shell getprop dev.bootcomplete | tr -d '\r\n')
echo "bootanim=$bootanim boot_completed=$boot_completed bootcomplete=$bootcomplete"
[ "$bootanim" = stopped ] && [ "$boot_completed" = 1 ] && [ "$bootcomplete" = 1 ]
echo "boot_completed=$boot_completed bootcomplete=$bootcomplete"
[ "$boot_completed" = 1 ] && [ "$bootcomplete" = 1 ]
}
for counter in $(seq ${EMULATOR_MAX_RETRIES})

View File

@@ -1,5 +1,5 @@
#!/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
# This script install Android sdk and ndk.
@@ -24,14 +24,21 @@ basePath="http://ci-files01-hki.ci.qt.io/input/android"
toolsVersion="2.1"
toolsFile="commandlinetools-linux-6609375_latest.zip"
ndkVersionLatest="r27c"
ndkVersionDefault=$ndkVersionLatest
sdkBuildToolsVersion="35.0.1"
sdkApiLevel="android-35"
toolsSha1="9172381ff070ee2a416723c1989770cf4b0d1076"
ndkVersionLatest="r27c"
ndkSha1Latest="090e8083a715fdb1a3e402d0763c388abb03fb4e"
ndkSha1Default=$ndkSha1Latest
# Non-latest (but still supported by the qt/qt5 branch) NDKs are installed for nightly targets in:
# coin/platform_configs/nightly_android.yaml
ndkVersionNightly1=$ndkVersionLatest # Same version = skip NDK install for nightly
ndkSha1Nightly1=$ndkSha1Latest
ndkVersionNightly2=$ndkVersionLatest
ndkSha1Nightly2=$ndkSha1Latest
# Android Automotive max SDK level image
sdkApiLevelAutomotiveMax="android-34"
@@ -69,17 +76,22 @@ function InstallNdk() {
androidNdkRoot="${targetFolder}/${zipBase}"
}
InstallNdk $ndkVersionDefault $ndkSha1Default
SetEnvVar "ANDROID_NDK_ROOT_DEFAULT" "$androidNdkRoot"
if [ "$ndkVersionDefault" != "$ndkVersionLatest" ]; then
InstallNdk $ndkVersionLatest $ndkSha1Latest
fi
InstallNdk $ndkVersionLatest $ndkSha1Latest
SetEnvVar "ANDROID_NDK_ROOT_LATEST" "$androidNdkRoot"
if [ "$ndkVersionNightly1" != "$ndkVersionLatest" ]; then
InstallNdk $ndkVersionNightly1 $ndkSha1Nightly1
SetEnvVar "ANDROID_NDK_ROOT_NIGHTLY1" "$androidNdkRoot"
fi
if [ "$ndkVersionNightly2" != "$ndkVersionLatest" ]; then
InstallNdk $ndkVersionNightly2 $ndkSha1Nightly2
SetEnvVar "ANDROID_NDK_ROOT_NIGHTLY2" "$androidNdkRoot"
fi
# To be used by vcpkg
SetEnvVar "ANDROID_NDK_HOME" "$targetFolder/android-ndk-$ndkVersionDefault"
export ANDROID_NDK_HOME="$targetFolder/android-ndk-$ndkVersionDefault"
SetEnvVar "ANDROID_NDK_HOME" "$targetFolder/android-ndk-$ndkVersionLatest"
export ANDROID_NDK_HOME="$targetFolder/android-ndk-$ndkVersionLatest"
echo "Changing ownership of Android files."
if uname -a |grep -q "el7"; then

View File

@@ -5,9 +5,13 @@
set -ex
function waitLoop {
while sudo fuser /var/lib/dpkg/lock >/dev/null 2>&1; do
echo "Waiting for other software managers to finish... 1/2"
sleep 0.5
done
while sudo fuser /var/lib/dpkg/lock >/dev/null 2>&1 ; do
echo "Waiting for other software managers to finish..."
sleep 0.5
done
while sudo fuser /var/lib/apt/lists/lock >/dev/null 2>&1; do
echo "Waiting for other software managers to finish... 2/2"
sleep 0.5
done
}

View File

@@ -35,6 +35,7 @@ elif [ "$TYPE" = "intel" ]; then
-smp 8 \
-m 8G \
-cpu "Skylake-Client" \
-enable-kvm \
-monitor none \
-nographic \
-serial null \

View File

@@ -20,8 +20,13 @@ toolsVersion="2.1"
# toolsFile dertermines tools version
toolsFile="commandlinetools-mac-6609375_latest.zip"
# Non-latest (but still supported by the qt/qt5 branch) NDKs are installed for nightly targets in:
# coin/platform_configs/nightly_android.yaml
ndkVersionLatest="r27c"
ndkVersionDefault="$ndkVersionLatest"
ndkVersionNightly1="$ndkVersionLatest" # If same version as latest = skip NDK install for nightly
ndkVersionNightly2="$ndkVersionLatest"
sdkBuildToolsVersion="35.0.1"
# this is compile sdk version
sdkApiLevel="android-35"
@@ -40,8 +45,18 @@ function InstallNdk() {
}
InstallNdk $ndkVersionDefault
InstallNdk $ndkVersionLatest
SetEnvVar "ANDROID_NDK_ROOT_LATEST" "$targetFolder/android-ndk-$ndkVersionLatest"
if [ "$ndkVersionNightly1" != "$ndkVersionLatest" ]; then
InstallNdk $ndkVersionNightly1
SetEnvVar "ANDROID_NDK_ROOT_NIGHTLY1" "$targetFolder/android-ndk-$ndkVersionNightly1"
fi
if [ "$ndkVersionNightly2" != "$ndkVersionLatest" ]; then
InstallNdk $ndkVersionNightly2
SetEnvVar "ANDROID_NDK_ROOT_NIGHTLY2" "$targetFolder/android-ndk-$ndkVersionNightly2"
fi
echo "Unzipping Android Tools to '$sdkTargetFolder'"
sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder"
@@ -65,8 +80,6 @@ echo "Checking the contents of Android SDK..."
ls -l "$sdkTargetFolder"
SetEnvVar "ANDROID_SDK_ROOT" "$sdkTargetFolder"
SetEnvVar "ANDROID_NDK_ROOT_DEFAULT" "$targetFolder/android-ndk-$ndkVersionDefault"
SetEnvVar "ANDROID_NDK_ROOT_LATEST" "$targetFolder/android-ndk-$ndkVersionLatest"
SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64"
SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel"
@@ -74,5 +87,7 @@ cat << EOT >>~/versions.txt
Android SDK tools = $toolsVersion
Android SDK Build Tools = $sdkBuildToolsVersion
Android SDK API level = $sdkApiLevel
Android NDK = $ndkVersionDefault
Android NDK latest = $ndkVersionLatest
Android NDK nightly1 = $ndkVersionNightly1
Android NDK nightly2 = $ndkVersionNightly2
EOT

View File

@@ -12,6 +12,13 @@ disableSpotlight() {
sudo mdutil -E /
}
fixUnknownIndexingState() {
echo "Fix unknown indexing state by enabling indexing back one by one"
sudo mdutil -i on / || return 1
sudo mdutil -i on /System/Volumes/Preboot || return 1
sudo mdutil -i on /System/Volumes/Data || return 1
}
# Disabling spotlight tends to be flaky, add some retry
for i in $(seq 1 5)
do
@@ -22,7 +29,8 @@ do
echo "Spotlight disabled"
break
else
echo "Failed to disable spotlight, $i retry..."
echo "Failed to disable spotlight, $i run fix and retry..."
fixUnknownIndexingState
sleep 2
fi
done

View File

@@ -23,7 +23,7 @@ DownloadURL "$urlCache" "$urlOccifical" "$sha" "/tmp/Docker_${chip}.dmg"
sudo hdiutil attach "/tmp/Docker_${chip}.dmg"
sudo /Volumes/Docker/Docker.app/Contents/MacOS/install --accept-license --user qt
sudo hdiutil detach /Volumes/Docker
sudo hdiutil detach /Volumes/Docker -force
# Add registry mirror for docker images
mkdir "$HOME/.docker"

View File

@@ -12,10 +12,10 @@ INSTALLTYPE="$1"
VERSION="$2"
CHECKSUM="$3"
DEFAULT_PKG_VERSION="4.4.21"
DEFAULT_PKG_VERSION_CHECKSUM="cd83c4123d5db7d07eb3042f1c785ed7f599183c5c542040bc6abfa722583861"
DEFAULT_GIT_VERSION="deb02e27d99fd2cb27ae16760e3a5272b612fded"
DEFAULT_GIT_VERSION_CHECKSUM="a30b9fbf0d5c2cff3eb1d0643cceee30d8ba6ea1bb7bcabf60d3188bd62e6ba6"
DEFAULT_PKG_VERSION="4.6.8"
DEFAULT_PKG_VERSION_CHECKSUM="91157b34fcc58eeaf4149f2f2b3063f2904a3d5e5cc3bf84d3c79627ba26afd9"
DEFAULT_GIT_VERSION="bce07c53def3dbe54aa14a88adfc63eb7ba91f48"
DEFAULT_GIT_VERSION_CHECKSUM="c95d3a95a38f9c2cb122335a2101d49af196a1c5"
source "$(dirname "$0")"/../../common/unix/DownloadURL.sh
source "$(dirname "$0")"/../../common/unix/SetEnvVar.sh
@@ -32,8 +32,6 @@ installPkg() {
"/tmp/Homebrew-$VERSION.pkg"
sudo installer -pkg "/tmp/Homebrew-$VERSION.pkg" -target /
# Add homebrew to PATH
SetEnvVar "PATH" "/opt/homebrew/bin:\$PATH"
echo "Homebrew = $VERSION" >> ~/versions.txt
}
@@ -55,7 +53,7 @@ installGit() {
DownloadURL "http://ci-files01-hki.ci.qt.io/input/semisecure/sign/pw" "http://ci-files01-hki.ci.qt.io/input/semisecure/sign/pw" "aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" "/Users/qt/pw"
{ pw=$(cat "/Users/qt/pw"); } 2> /dev/null
sudo chmod 755 /tmp/homebrew_install.sh
{ (echo "$pw" | /tmp/homebrew_install.sh); } 2> /dev/null
{ (echo "$pw" | CI=1 /tmp/homebrew_install.sh); } 2> /dev/null
rm -f "/Users/qt/pw"
}
@@ -65,7 +63,20 @@ else
installPkg
fi
ARCH_TYPE=$(arch)
# Add homebrew to PATH
if [ "$ARCH_TYPE" == "arm64" ]; then
SetEnvVar "PATH" "/opt/homebrew/bin:\$PATH"
else
SetEnvVar "PATH" "/usr/local/bin:\$PATH"
fi
# Disable non-ascii output for homebrew to make logs more readable
SetEnvVar "HOMEBREW_NO_COLOR" "1"
SetEnvVar "HOMEBREW_NO_EMOJI" "1"
SetEnvVar "HOMEBREW_NO_ENV_HINTS" "1"
# Update homebrew to make sure we are compatible with homebrew servers
source ~/.zshrc
brew update
brew upgrade

View File

@@ -9,7 +9,17 @@ set -ex
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
brew install --formula "${BASH_SOURCE%/*}/libiodbc.rb" "$@"
# HOMEBREW_DIR depends on acrhitecture
ARCH_TYPE=$(arch)
if [ "$ARCH_TYPE" == "arm64" ]; then
HOMEBREW_DIR="/opt/homebrew/Library/Taps/local/homebrew-libiodbc/Formula"
else
HOMEBREW_DIR="/usr/local/Homebrew/Library/Taps/local/homebrew-libiodbc/Formula"
fi
brew tap-new local/libiodbc
cp "${BASH_SOURCE%/*}/libiodbc.rb" "$HOMEBREW_DIR/"
brew install local/libiodbc/libiodbc "$@"
read -r -a arr <<< "$(brew list --versions libiodbc)"
version=${arr[1]}

View File

@@ -31,6 +31,12 @@ if ! command -v patchelf; then
exit 1
fi
# Get patchelf version
patchelf_version=$(patchelf --version 2>/dev/null | awk '{print $2}')
if [[ "$patchelf_version" == "0.18.0" ]]; then
echo "WARNING: patchelf version 0.18.0 is known to have issues with Android." >&2
fi
ffmpeg_libs=("avcodec" "avdevice" "avfilter" "avformat" "avutil" "swresample" "swscale")
stub_prefix="Qt6FFmpegStub-"

View File

@@ -4,3 +4,4 @@ ntia-conformance-checker
sbomaudit
sbom2doc
reuse
cyclonedx-python-lib==11.0.0

View File

@@ -4,12 +4,13 @@ RUN apt-get update && apt-get -y install $packages
# Get californium-based CoAP test server
WORKDIR /root/src
ADD californium-*.tar.gz .
ADD californium-3.8.0.tar.gz .
RUN mv californium-* californium
WORKDIR /root/src/californium
ADD qt_changes.patch ./
RUN patch -p1 < qt_changes.patch
RUN mvn clean install -q -DskipTests
ADD californium-m2deps-3.8.0.tar.gz /root
RUN mvn clean install -o -q -DskipTests
WORKDIR /
EXPOSE 5683/udp 5684/udp

View File

@@ -60,6 +60,16 @@ DownloadURL \
24f8ca393f26c922739462e4586b8ced1ff75f99bfa795defa34a967b5a4a5a0 \
californium-3.8.0.tar.gz
mv californium-3.8.0.tar.gz "$SERVER_PATH/californium/"
# Download cached maven dependencies for californium.
# The dependency archive is built by
# "mvn dependency:go-offline -DskipTests -Dos.detected.classifier=linux-x86_64"
# and archived from /root/.m2
DownloadURL \
http://ci-files01-hki.ci.qt.io/input/docker/californium-m2deps-3.8.0.tar.gz \
http://ci-files01-hki.ci.qt.io/input/docker/californium-m2deps-3.8.0.tar.gz \
e2fade7dde3cca02bb910eed99a5d8b5cb8ff945240c65bf06ce50411d70d3f2 \
californium-m2deps-3.8.0.tar.gz
mv californium-m2deps-3.8.0.tar.gz "$SERVER_PATH/californium/"
echo 'Building the docker images...'

View File

@@ -21,16 +21,16 @@ assert_envvar_is_populated_dir() {
exit 1
fi
}
assert_envvar_is_populated_dir "OPENSSL_ANDROID_HOME_DEFAULT"
assert_envvar_is_populated_dir "ANDROID_NDK_ROOT_DEFAULT"
build_ffmpeg_android() {
local target_arch=$1
local target_dir=$2
local ndk_root=$3
local openssl_android_path=$4
sudo mkdir -p "$target_dir"
local openssl_include="$OPENSSL_ANDROID_HOME_DEFAULT/include"
local openssl_include="$openssl_android_path/include"
local openssl_libs
local libs_prefix
local target_cpu
@@ -40,19 +40,19 @@ build_ffmpeg_android() {
target_toolchain_arch="x86_64-linux-android"
target_arch=x86_64
target_cpu=x86-64
openssl_libs="$OPENSSL_ANDROID_HOME_DEFAULT/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_arch=x86
target_cpu=i686
openssl_libs="$OPENSSL_ANDROID_HOME_DEFAULT/x86"
openssl_libs="$openssl_android_path/x86"
libs_prefix="_x86"
elif [ "$target_arch" == "arm64" ]; then
target_toolchain_arch="aarch64-linux-android"
target_arch=aarch64
target_cpu=armv8-a
openssl_libs="$OPENSSL_ANDROID_HOME_DEFAULT/arm64-v8a"
openssl_libs="$openssl_android_path/arm64-v8a"
libs_prefix="_arm64-v8a"
fi
@@ -61,7 +61,6 @@ build_ffmpeg_android() {
local api_version=24
local ndk_root=$ANDROID_NDK_ROOT_DEFAULT
local ndk_host
if uname -a |grep -q "Darwin"; then
ndk_host=darwin-x86_64
@@ -108,15 +107,21 @@ build_ffmpeg_android() {
if [ "$os" == "android-x86" ]; then
target_arch=x86
target_dir="/usr/local/android/ffmpeg-x86"
envvar="FFMPEG_DIR_ANDROID_X86"
envvar_latest="FFMPEG_DIR_ANDROID_X86_NDK_LATEST"
envvar_nightly1="FFMPEG_DIR_ANDROID_X86_NDK_NIGHTLY1"
envvar_nightly2="FFMPEG_DIR_ANDROID_X86_NDK_NIGHTLY2"
elif [ "$os" == "android-x86_64" ]; then
target_arch=x86_64
target_dir="/usr/local/android/ffmpeg-x86_64"
envvar="FFMPEG_DIR_ANDROID_X86_64"
envvar_latest="FFMPEG_DIR_ANDROID_X86_64_NDK_LATEST"
envvar_nightly1="FFMPEG_DIR_ANDROID_X86_64_NDK_NIGHTLY1"
envvar_nightly2="FFMPEG_DIR_ANDROID_X86_64_NDK_NIGHTLY2"
elif [ "$os" == "android-arm64" ]; then
target_arch=arm64
target_dir="/usr/local/android/ffmpeg-arm64"
envvar="FFMPEG_DIR_ANDROID_ARM64"
envvar_latest="FFMPEG_DIR_ANDROID_ARM64_NDK_LATEST"
envvar_nightly1="FFMPEG_DIR_ANDROID_ARM64_NDK_NIGHTLY1"
envvar_nightly2="FFMPEG_DIR_ANDROID_ARM64_NDK_NIGHTLY2"
else
>&2 echo "Unhandled android os param: $os"
exit 1
@@ -124,8 +129,24 @@ fi
# If parameter is set, use it as the target output directory.
if [ ! -z $target_install_dir_param ]; then
target_dir=$target_install_dir_param
target_dir=$target_install_dir_param
fi
build_ffmpeg_android "$target_arch" "$target_dir"
set_ffmpeg_dir_env_var "$envvar" "$target_dir"
assert_envvar_is_populated_dir "ANDROID_NDK_ROOT_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"
set_ffmpeg_dir_env_var "$envvar_latest" "$target_dir/latest"
if [ "${ANDROID_NDK_ROOT_NIGHTLY1}" ]; then
assert_envvar_is_populated_dir "ANDROID_NDK_ROOT_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"
set_ffmpeg_dir_env_var "$envvar_nightly1" "$target_dir/nightly1"
fi
if [ "${ANDROID_NDK_ROOT_NIGHTLY2}" ]; then
assert_envvar_is_populated_dir "ANDROID_NDK_ROOT_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"
set_ffmpeg_dir_env_var "$envvar_nightly2" "$target_dir/nightly2"
fi

View File

@@ -5,6 +5,7 @@
source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
# version 0.18.0 doesn't work correctly for Android binaries, so we use 0.17.2
# See patchelf bugreport: https://github.com/NixOS/patchelf/issues/576.
patchelf_version="0.17.2"
url_cached="https://ci-files01-hki.ci.qt.io/input/android/patchelf/$patchelf_version.tar.gz"

View File

@@ -1,76 +0,0 @@
#!/usr/bin/env bash
# Copyright (C) 2023 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 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
set -ex
# shellcheck source=../unix/DownloadURL.sh
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
version="3.0.7"
ndkVersionLatest="r27c"
ndkVersionDefault=$ndkVersionLatest
prebuiltOpensslNdkShaLatest="733cff853b6ee7738e78b90f46b5f028c8490e1e"
prebuiltOpensslNdkShaDefault=$prebuiltOpensslNdkShaLatest
: <<'EOB' SOURCE BUILD INSTRUCTIONS - Openssl prebuilt was made using Android NDK r27c
# Source built requires GCC and Perl to be in PATH. Rhel "requires yum install perl-IPC-Cmd"
exports_file="/tmp/export.sh"
# 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
# ANDROID_NDK_ROOT is required during Configure
export ANDROID_NDK_ROOT=/opt/android/android-ndk-r27c
officialUrl="https://www.openssl.org/source/openssl-$version.tar.gz"
cachedUrl="http://ci-files01-hki.ci.qt.io/input/openssl/openssl-$version.tar.gz"
targetFile="/tmp/openssl-$version.tar.gz"
sha="f20736d6aae36bcbfa9aba0d358c71601833bf27"
opensslHome="${HOME}/openssl/android/openssl-${version}"
DownloadURL "$cachedUrl" "$officialUrl" "$sha" "$targetFile"
mkdir -p "${HOME}/openssl/android/"
tar -xzf "$targetFile" -C "${HOME}/openssl/android/"
if uname -a |grep -q "Darwin"; then
TOOLCHAIN=${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/darwin-x86_64/bin
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
function InstallPrebuiltOpenssl() {
ndkVersion=$1
sha=$2
opensslHome="${HOME}/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}"
if [[ ! -d ${opensslHome} ]]; then
prebuiltUrl="http://ci-files01-hki.ci.qt.io/input/openssl/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}.zip"
targetFile="/tmp/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}.zip"
DownloadURL "$prebuiltUrl" "$prebuiltUrl" "$sha" "$targetFile"
unzip -o "$targetFile" -d "${HOME}"
sudo rm -f "$targetFile"
fi
}
InstallPrebuiltOpenssl $ndkVersionDefault $prebuiltOpensslNdkShaDefault
SetEnvVar "OPENSSL_ANDROID_HOME_DEFAULT" "$opensslHome"
InstallPrebuiltOpenssl $ndkVersionLatest $prebuiltOpensslNdkShaLatest
SetEnvVar "OPENSSL_ANDROID_HOME_LATEST" "$opensslHome"
echo "OpenSSL for Android = $version" >> ~/versions.txt

View File

@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# Copyright (C) 2023 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
# This script install prebuilt OpenSSL which was built against Android NDK 25.
@@ -11,11 +11,17 @@ source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
version="3.0.7"
sslVersionForLatest="3.0.7"
ndkVersionLatest="r27c"
ndkVersionDefault=$ndkVersionLatest
prebuiltOpensslNdkShaLatest="733cff853b6ee7738e78b90f46b5f028c8490e1e"
prebuiltOpensslNdkShaDefault=$prebuiltOpensslNdkShaLatest
prebuiltOpensslShaLatest="733cff853b6ee7738e78b90f46b5f028c8490e1e"
ndkVersionNightly1=$ndkVersionLatest
sslVersionForNightly1=$sslVersionForLatest
prebuiltOpensslShaNightly1=$prebuiltOpensslShaLatest
ndkVersionNightly2=$ndkVersionLatest
sslVersionForNightly2=$sslVersionForLatest
prebuiltOpensslShaNightly2=$prebuiltOpensslShaLatest
: <<'EOB' SOURCE BUILD INSTRUCTIONS - Openssl prebuilt was made using Android NDK r27c
# Source built requires GCC and Perl to be in PATH. Rhel "requires yum install perl-IPC-Cmd"
@@ -31,11 +37,11 @@ else
rm -rf "$exports_file"
fi
officialUrl="https://www.openssl.org/source/openssl-$version.tar.gz"
cachedUrl="http://ci-files01-hki.ci.qt.io/input/openssl/openssl-$version.tar.gz"
targetFile="/tmp/openssl-$version.tar.gz"
officialUrl="https://www.openssl.org/source/openssl-$sslVersionForLatest.tar.gz"
cachedUrl="http://ci-files01-hki.ci.qt.io/input/openssl/openssl-$sslVersionForLatest.tar.gz"
targetFile="/tmp/openssl-$sslVersionForLatest.tar.gz"
sha="f20736d6aae36bcbfa9aba0d358c71601833bf27"
opensslHome="${HOME}/openssl/android/openssl-${version}"
opensslHome="${HOME}/openssl/android/openssl-${sslVersionForLatest}"
DownloadURL "$cachedUrl" "$officialUrl" "$sha" "$targetFile"
mkdir -p "${HOME}/openssl/android/"
tar -xzf "$targetFile" -C "${HOME}/openssl/android/"
@@ -53,11 +59,12 @@ function InstallPrebuiltOpenssl() {
ndkVersion=$1
sha=$2
sslVersion=$3
opensslHome="${HOME}/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}"
opensslHome="${HOME}/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}"
if [[ ! -d ${opensslHome} ]]; then
prebuiltUrl="http://ci-files01-hki.ci.qt.io/input/openssl/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}.zip"
targetFile="/tmp/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}.zip"
prebuiltUrl="http://ci-files01-hki.ci.qt.io/input/openssl/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}.zip"
targetFile="/tmp/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}.zip"
DownloadURL "$prebuiltUrl" "$prebuiltUrl" "$sha" "$targetFile"
unzip -o "$targetFile" -d "${HOME}"
@@ -65,9 +72,18 @@ function InstallPrebuiltOpenssl() {
fi
}
InstallPrebuiltOpenssl $ndkVersionDefault $prebuiltOpensslNdkShaDefault
SetEnvVar "OPENSSL_ANDROID_HOME_DEFAULT" "$opensslHome"
InstallPrebuiltOpenssl $ndkVersionLatest $prebuiltOpensslNdkShaLatest
SetEnvVar "OPENSSL_ANDROID_HOME_LATEST" "$opensslHome"
if [ "$ndkVersionNightly1" != "$ndkVersionLatest" ]; then
InstallPrebuiltOpenssl $ndkVersionNightly1 $prebuiltOpensslShaNightly1 $sslVersionForNightly1
SetEnvVar "OPENSSL_ANDROID_HOME_NIGHTLY1" "$opensslHome"
echo "OpenSSL for Android $ndkVersionNightly1 = $sslVersionForNightly1" >> ~/versions.txt
fi
echo "OpenSSL for Android = $version" >> ~/versions.txt
if [ "$ndkVersionNightly2" != "$ndkVersionLatest" ]; then
InstallPrebuiltOpenssl $ndkVersionNightly2 $prebuiltOpensslShaNightly2 $sslVersionForNightly2
SetEnvVar "OPENSSL_ANDROID_HOME_NIGHTLY2" "$opensslHome"
echo "OpenSSL for Android $ndkVersionNightly2 = $sslVersionForNightly2" >> ~/versions.txt
fi
InstallPrebuiltOpenssl $ndkVersionLatest $prebuiltOpensslShaLatest $sslVersionForLatest
SetEnvVar "OPENSSL_ANDROID_HOME_LATEST" "$opensslHome"
echo "OpenSSL for Android $ndkVersionLatest = $sslVersionForLatest" >> ~/versions.txt

View File

@@ -1,4 +1,4 @@
# Copyright (C) 2023 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
# Requires: 7z, perl and msys
@@ -15,26 +15,38 @@ if (Is64BitWinHost) {
# 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
$openssl_version = "3.0.7"
$openssl_version_latest = "3.0.7"
$ndk_version_latest = "r27c"
$ndk_version_default = "$ndk_version_latest"
$openssl_compressed = Get-DownloadLocation ("openssl-${openssl_version}.tar.gz")
$openssl_sha1 = "f20736d6aae36bcbfa9aba0d358c71601833bf27"
$prebuilt_sha1_ndk_latest = "733cff853b6ee7738e78b90f46b5f028c8490e1e"
$prebuilt_sha1_ndk_default = "$prebuilt_sha1_ndk_latest"
$destination_prefix = "C:\Utils\prebuilt-openssl-${openssl_version}-for-android-ndk"
$prebuilt_ssl_sha1_latest = "733cff853b6ee7738e78b90f46b5f028c8490e1e"
$openssl_sha1_latest = "f20736d6aae36bcbfa9aba0d358c71601833bf27"
function Install($1, $2) {
$ndk_version = $1
$prebuilt_sha1 = $2
$openssl_version_nightly1 = $openssl_version_latest
$ndk_version_nightly1 = $ndk_version_latest
$prebuilt_ssl_sha1_nightly1 = $prebuilt_ssl_sha1_latest
$openssl_sha1_nightly1 = $openssl_sha1_latest
# msys unix style paths
$openssl_path = "/c/Utils/openssl-android-master"
$ndk_path = "/c/Utils/Android/android-ndk-${ndk_version}"
$cc_path = "$ndk_path/toolchains/llvm/prebuilt/windows-x86_64/bin"
$openssl_version_nightly2 = $openssl_version_latest
$ndk_version_nightly2 = $ndk_version_latest
$prebuilt_ssl_sha1_nightly2 = $prebuilt_ssl_sha1_latest
$openssl_sha1_nightly2 = $openssl_sha1_latest
$prebuilt_url_openssl = "\\ci-files01-hki.ci.qt.io\provisioning\openssl\prebuilt-openssl-${openssl_version}-for-android-ndk-${ndk_version}.zip"
$prebuilt_zip_openssl = Get-DownloadLocation ("prebuilt-openssl-${openssl_version}-for-android-ndk-${ndk_version}.zip")
function Install($1, $2, $3, $4) {
$openssl_version = $1
$ndk_version = $2
$prebuilt_sha1 = $3
$openssl_sha1 = $4
Write-Host "Installing OpenSSL ${openssl_version} for Android NDK ${ndk_version}"
$openssl_compressed = Get-DownloadLocation ("openssl-${openssl_version}.tar.gz")
# msys unix style paths
$openssl_path = "/c/Utils/openssl-android-master"
$ndk_path = "/c/Utils/Android/android-ndk-${ndk_version}"
$cc_path = "$ndk_path/toolchains/llvm/prebuilt/windows-x86_64/bin"
$prebuilt_url_openssl = "\\ci-files01-hki.ci.qt.io\provisioning\openssl\prebuilt-openssl-${openssl_version}-for-android-ndk-${ndk_version}.zip"
$prebuilt_zip_openssl = Get-DownloadLocation ("prebuilt-openssl-${openssl_version}-for-android-ndk-${ndk_version}.zip")
if ((Test-Path $prebuilt_url_openssl)) {
Write-Host "Install prebuilt OpenSSL for Android"
@@ -69,34 +81,36 @@ function Install($1, $2) {
}
}
# ANDROID_NDK_ROOT needs to be in environment variables before running this script
# Set-EnvironmentVariable "ANDROID_NDK_ROOT" "C:\Utils\Android\android-ndk-r27c"
$make_install = Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath "$msys_bash" -ArgumentList ("-lc", "`"yes | pacman -S make`"")
CheckExitCode $make_install
$make_install = Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath "$msys_bash" -ArgumentList ("-lc", "`"yes | pacman -S make`"")
CheckExitCode $make_install
$configure = Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath "$msys_bash" -ArgumentList ("-lc", "`"pushd $openssl_path; ANDROID_NDK_ROOT=$ndk_path PATH=${cc_path}:`$PATH CC=clang $openssl_path/Configure shared android-arm`"")
CheckExitCode $configure
$configure = Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath "$msys_bash" -ArgumentList ("-lc", "`"pushd $openssl_path; ANDROID_NDK_ROOT=$ndk_path PATH=${cc_path}:`$PATH CC=clang $openssl_path/Configure shared android-arm`"")
CheckExitCode $configure
$make = Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath "$msys_bash" -ArgumentList ("-lc", "`"pushd $openssl_path; ANDROID_NDK_ROOT=$ndk_path PATH=${cc_path}:`$PATH CC=clang make -f $openssl_path/Makefile build_generated`"")
CheckExitCode $make
$make = Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath "$msys_bash" -ArgumentList ("-lc", "`"pushd $openssl_path; ANDROID_NDK_ROOT=$ndk_path PATH=${cc_path}:`$PATH CC=clang make -f $openssl_path/Makefile build_generated`"")
CheckExitCode $make
Pop-Location
Remove-item C:\Utils\tmp -Recurse -Confirm:$false
Pop-Location
Remove-item C:\Utils\tmp -Recurse -Confirm:$false
}
return "C:\Utils\prebuilt-openssl-${openssl_version}-for-android-ndk-${ndk_version}"
}
# Install NDK Default version
Install $ndk_version_default $prebuilt_sha1_ndk_default
$ndk_ssl_path = Install $openssl_version_latest $ndk_version_latest $prebuilt_ssl_sha1_latest $openssl_sha1_latest
Set-EnvironmentVariable "OPENSSL_ANDROID_HOME_LATEST" "$ndk_ssl_path"
Write-Output "Android OpenSSL $openssl_version_latest for NDK $ndk_version_latest" >> ~/versions.txt
if (Test-Path -Path ${destination_prefix}-${ndk_version_latest}) {
Write-Host "OpenSSL for Android Latest version is the same than Default. Installation done."
} else {
# Install NDK Latest version
Install $ndk_version_latest $prebuilt_sha1_ndk_latest
if ($ndk_version_nightly1 -ne $ndk_version_latest) {
$ndk_ssl_path = Install $openssl_version_nightly1 $ndk_version_nightly1 $prebuilt_ssl_sha1_nightly1 $openssl_sha1_nightly1
Set-EnvironmentVariable "OPENSSL_ANDROID_HOME_NIGHTLY1" "$ndk_ssl_path"
Write-Output "Android OpenSSL $openssl_version_nightly1 for NDK $ndk_version_nightly1" >> ~/versions.txt
}
Set-EnvironmentVariable "OPENSSL_ANDROID_HOME_DEFAULT" "${destination_prefix}-${ndk_version_default}"
Set-EnvironmentVariable "OPENSSL_ANDROID_HOME_LATEST" "${destination_prefix}-${ndk_version_latest}"
Write-Output "Android OpenSSL = $openssl_version" >> ~/versions.txt
if ($ndk_version_nightly2 -ne $ndk_version_latest) {
$ndk_ssl_path = Install $openssl_version_nightly2 $ndk_version_nightly2 $prebuilt_ssl_sha1_nightly2 $openssl_sha1_nightly2
Set-EnvironmentVariable "OPENSSL_ANDROID_HOME_NIGHTLY2" "$ndk_ssl_path"
Write-Output "Android OpenSSL $openssl_version_nightly2 for NDK $ndk_version_nightly2" >> ~/versions.txt
}

View File

@@ -1,4 +1,4 @@
# 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
. "$PSScriptRoot\helpers.ps1"
@@ -10,15 +10,25 @@
# That's why we need to use Andoid-21 API version in Qt 5.9.
# NDK
$ndkZip = "C:\Windows\Temp\android_ndk.zip"
$ndkVersionLatest = "r27c"
$ndkVersionDefault = $ndkVersionLatest
$ndkChecksumLatest = "ac5f7762764b1f15341094e148ad4f847d050c38"
$ndkChecksumDefault = $ndkChecksumLatest
$ndkCachedUrlLatest = "\\ci-files01-hki.ci.qt.io\provisioning\android\android-ndk-$ndkVersionLatest-windows.zip"
$ndkOfficialUrlLatest = "https://dl.google.com/android/repository/android-ndk-$ndkVersionLatest-windows.zip"
$ndkCachedUrlDefault = "\\ci-files01-hki.ci.qt.io\provisioning\android\android-ndk-$ndkVersionDefault-windows.zip"
$ndkOfficialUrlDefault = "https://dl.google.com/android/repository/android-ndk-$ndkVersionDefault-windows.zip"
$ndkZip = "C:\Windows\Temp\android_ndk.zip"
# Non-latest (but still supported by the qt/qt5 branch) NDKs are installed for nightly targets in:
# coin/platform_configs/nightly_android.yaml
$ndkVersionNightly1 = $ndkVersionLatest # Same version = skip NDK install for nightly
$ndkChecksumNightly1 = $ndkChecksumLatest
$ndkCachedUrlNightly1 = "\\ci-files01-hki.ci.qt.io\provisioning\android\android-ndk-$ndkVersionNightly1-windows.zip"
$ndkOfficialUrlNightly1 = "https://dl.google.com/android/repository/android-ndk-$ndkVersionNightly1-windows.zip"
$ndkVersionNightly2 = $ndkVersionLatest
$ndkChecksumNightly2 = $ndkChecksumLatest
$ndkCachedUrlNightly2 = "\\ci-files01-hki.ci.qt.io\provisioning\android\android-ndk-$ndkVersionNightly2-windows.zip"
$ndkOfficialUrlNightly2 = "https://dl.google.com/android/repository/android-ndk-$ndkVersionNightly2-windows.zip"
# SDK
$toolsVersion = "2.1"
@@ -32,6 +42,8 @@ $toolsChecksum = "e2e19c2ff584efa87ef0cfdd1987f92881323208"
$cmdFolder = "c:\Utils\Android\cmdline-tools"
$sdkZip = "c:\Windows\Temp\$toolsFile"
New-Item -ItemType Directory -Path C:\Utils\Android\
New-Item -ItemType Directory -Path C:\Windows\Temp\android_extract
function Install($1, $2, $3, $4) {
$cacheUrl = $1
@@ -50,21 +62,24 @@ function Install($1, $2, $3, $4) {
return "C:\Utils\Android\$baseDirectory"
}
New-Item -ItemType Directory -Path C:\Utils\Android\
New-Item -ItemType Directory -Path C:\Windows\Temp\android_extract
Write-Host "Installing Android NDK $ndkVersionDefault"
$ndkFolderDefault = Install $ndkCachedUrlDefault $ndkZip $ndkChecksumDefault $ndkOfficialUrlDefault
Set-EnvironmentVariable "ANDROID_NDK_ROOT_DEFAULT" $ndkFolderDefault
Write-Host "Installing Android NDK $nkdVersionLatest"
$ndkFolderLatest = Install $ndkCachedUrlLatest $ndkZip $ndkChecksumLatest $ndkOfficialUrlLatest
Set-EnvironmentVariable "ANDROID_NDK_ROOT_LATEST" $ndkFolderLatest
# To be used by vcpkg
Set-EnvironmentVariable "ANDROID_NDK_HOME" $ndkFolderDefault
$env:ANDROID_NDK_HOME = "$ndkFolderDefault"
Set-EnvironmentVariable "ANDROID_NDK_HOME" $ndkFolderLatest
if ($ndkVersionDefault -eq $ndkVersionLatest) {
Write-Host "Android Latest version is the same than Default. NDK installation done."
} else {
Write-Host "Installing Android NDK $nkdVersionLatest"
$ndkFolderLatest = Install $ndkCachedUrlLatest $ndkZip $ndkChecksumLatest $ndkOfficialUrlLatest
Set-EnvironmentVariable "ANDROID_NDK_ROOT_LATEST" $ndkFolderLatest
if ($ndkVersionNightly1 -ne $ndkVersionLatest) {
Write-Host "Installing Android NDK $ndkVersionNightly1"
$ndkFolderNightly = Install $ndkCachedUrlNightly1 $ndkZip $ndkChecksumNightly1 $ndkOfficialUrlNightly1
Set-EnvironmentVariable "ANDROID_NDK_ROOT_NIGHTLY1" $ndkFolderNightly
Write-Output "Android NDK = $ndkVersionNightly1" >> ~/versions.txt
}
if ($ndkVersionNightly2 -ne $ndkVersionLatest) {
Write-Host "Installing Android NDK $ndkVersionNightly2"
$ndkFolderNightly = Install $ndkCachedUrlNightly2 $ndkZip $ndkChecksumNightly2 $ndkOfficialUrlNightly2
Set-EnvironmentVariable "ANDROID_NDK_ROOT_NIGHTLY2" $ndkFolderNightly
Write-Output "Android NDK = $ndkVersionNightly2" >> ~/versions.txt
}
$toolsFolder = Install $toolsCachedUrl $sdkZip $toolsChecksum $toolsOfficialUrl
@@ -103,4 +118,4 @@ cmd /c "dir C:\Utils\android"
Write-Output "Android SDK tools= $toolsVersion" >> ~/versions.txt
Write-Output "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/versions.txt
Write-Output "Android SDK Api Level = $sdkApiLevel" >> ~/versions.txt
Write-Output "Android NDK = $ndkVersionDefault" >> ~/versions.txt
Write-Output "Android NDK = $ndkVersionLatest" >> ~/versions.txt

View File

@@ -189,6 +189,8 @@ function Set-EnvironmentVariable
Write-Host "Setting environment variable `"$($Key)`" to `"$($Value)`""
[Environment]::SetEnvironmentVariable($Key, $Value, [EnvironmentVariableTarget]::Machine)
# Make the envvar immediately available to subsequent scripts run in the same session.
[Environment]::SetEnvironmentVariable($Key, $Value, [EnvironmentVariableTarget]::Process)
}
function Is64BitWinHost
@@ -380,3 +382,22 @@ function Invoke-MtCommand {
& $Env:SystemRoot\system32\cmd.exe /c $cmdLine | Write-Output
Remove-Item $tempFile
}
function Invoke-NMake {
param([string[]]$NmakeArgs)
# Temporarily remove MAKE flags for NMAKE process
$old = @{
MAKEFLAGS = (Get-Item Env:MAKEFLAGS -ErrorAction Ignore).Value
MFLAGS = (Get-Item Env:MFLAGS -ErrorAction Ignore).Value
MAKE = (Get-Item Env:MAKE -ErrorAction Ignore).Value
NMAKEFLAGS = (Get-Item Env:NMAKEFLAGS -ErrorAction Ignore).Value
}
foreach ($n in $old.Keys) {Remove-Item "Env:$n" -ErrorAction SilentlyContinue}
try {& nmake @NmakeArgs}
finally {
foreach ($n in $old.Keys) {
if ($old[$n]) {Set-EnvironmentVariable -Key "$n" -Value $old[$n]}
else {Remove-Item "Env:$n" -ErrorAction SilentlyContinue}
}
}
}

View File

@@ -2,6 +2,7 @@
# 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\zlib-helpers.ps1"
# This script will install FFmpeg
$msys = "C:\Utils\msys64\usr\bin\bash"
@@ -29,6 +30,52 @@ function GetFfmpegDefaultConfiguration {
return $defaultConfiguration
}
# Returns the absolute installation path of FFmpeg for this build
# variant.
function ResolveFFmpegInstallDir {
param(
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[string]$buildSystem,
[Parameter(Mandatory = $false)]
[ValidateNotNullOrEmpty()]
[string]$ndkVer
)
if ($ndkVer) {
$prefix = "installed-ndk-$ndkVer"
} else {
$prefix = "installed"
}
return "C:\$ffmpeg_name\build\$buildSystem\$prefix"
}
# Returns the absolute installation path of FFmpeg for this build
# variant. Returns a path that is compatible with MSYS.
#
# TODO: There is some code duplications here. Make a helper function
# that translates native Windows paths into MSYS compatible paths.
function ResolveFFmpegInstallDirMsys {
param(
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[string]$buildSystem,
[Parameter(Mandatory = $false)]
[ValidateNotNullOrEmpty()]
[string]$ndkVer
)
if ($ndkVer) {
$prefix = "installed-ndk-$ndkVer"
} else {
$prefix = "installed"
}
return "/c/$ffmpeg_name/build/$buildSystem/$prefix"
}
function InstallFfmpeg {
Param (
[string]$config,
@@ -37,7 +84,8 @@ function InstallFfmpeg {
[string]$additionalPath,
[string]$ffmpegDirEnvVar,
[string]$toolchain,
[bool]$shared
[bool]$shared,
[string]$ndk_ver # Optional param for installing each ffmpeg build with different Android NDK
)
Write-Host "Configure and compile FFmpeg for $buildSystem with configuration: $config"
@@ -50,9 +98,17 @@ function InstallFfmpeg {
$env:MSYS2_PATH_TYPE = "inherit"
$env:MSYSTEM = $msystem
if ($ndk_ver) {
$installDir = ResolveFFmpegInstallDir -buildSystem $buildSystem -ndkVer $ndk_ver
$installDirForMsys = ResolveFFmpegInstallDirMsys -buildSystem $buildSystem -ndkVer $ndk_ver
} else {
$installDir = ResolveFFmpegInstallDir -buildSystem $buildSystem
$installDirForMsys = ResolveFFmpegInstallDirMsys -buildSystem $buildSystem
}
$cmd = "cd /c/$ffmpeg_name"
$cmd += " && mkdir -p build/$buildSystem && cd build/$buildSystem"
$cmd += " && ../../configure --prefix=installed $config"
$cmd += " && ../../configure --prefix=$installDirForMsys $config"
if ($toolchain) {
$cmd += " --toolchain=$toolchain"
}
@@ -72,7 +128,7 @@ function InstallFfmpeg {
return $false
}
Set-EnvironmentVariable $ffmpegDirEnvVar "C:\$ffmpeg_name\build\$buildSystem\installed"
Set-EnvironmentVariable $ffmpegDirEnvVar $installDir
return $true
}
@@ -105,6 +161,13 @@ function InstallMsvcFfmpeg {
}
}
$zlibPath = GetZlibPathByString -TargetArchitecture $arch
$zlibPath = $zlibPath -replace '\\', '/'
$config += " --enable-zlib"
$config += " --extra-cflags=`"-I$zlibPath`""
$config += " --extra-ldflags=`"-LIBPATH:$zlibPath`""
$result = EnterVSDevShell -HostArch $hostArch -Arch $arch
if (-Not $result) {
return $false
@@ -138,16 +201,21 @@ function InstallLlvmMingwFfmpeg {
}
function InstallAndroidArmv7 {
param (
[string]$ndk_root,
[string]$ffmpeg_dir_android_envvar_name,
[string]$ndk_version,
[string]$android_openssl_path # OpenSSL is built for Android using NDK, NDK versions for OpenSSL+FFmpeg should match
)
$shared=$true
$target_toolchain_arch="armv7a-linux-androideabi"
$target_arch="armv7-a"
$target_cpu="armv7-a"
$api_version="24"
$ndkVersionLatest = "r27c"
$ndkFolderLatest = "/c/Utils/Android/android-ndk-$ndkVersionLatest"
$ndk_dir = $ndk_root -replace '\\', '/' -replace '^C:', '/c'
$toolchain="${ndkFolderLatest}/toolchains/llvm/prebuilt/windows-x86_64"
$toolchain="${ndk_dir}/toolchains/llvm/prebuilt/windows-x86_64"
$toolchain_bin="${toolchain}/bin"
$sysroot="${toolchain}/sysroot"
$cxx="${toolchain_bin}/${target_toolchain_arch}${api_version}-clang++"
@@ -157,8 +225,7 @@ function InstallAndroidArmv7 {
$ranlib="${toolchain_bin}/llvm-ranlib.exe"
$nm="${toolchain_bin}/llvm-nm.exe"
$strip="${toolchain_bin}/llvm-strip.exe"
$openssl_path = [System.Environment]::GetEnvironmentVariable("OPENSSL_ANDROID_HOME_DEFAULT", [System.EnvironmentVariableTarget]::Machine)
$openssl_path = $openssl_path.Replace("\", "/")
$openssl_path = $android_openssl_path.Replace("\", "/")
New-Item -ItemType SymbolicLink -Path ${openssl_path}/armeabi-v7a/libcrypto.so -Target ${openssl_path}/armeabi-v7a/libcrypto_3.so
New-Item -ItemType SymbolicLink -Path ${openssl_path}/armeabi-v7a/libssl.so -Target ${openssl_path}/armeabi-v7a/libssl_3.so
@@ -167,12 +234,12 @@ function InstallAndroidArmv7 {
$config += " --enable-cross-compile --target-os=android --enable-jni --enable-mediacodec --enable-openssl --enable-pthreads --enable-neon --disable-asm --disable-indev=android_camera"
$config += " --arch=$target_arch --cpu=${target_cpu} --sysroot=${sysroot} --sysinclude=${sysroot}/usr/include/"
$config += " --cc=${cc} --cxx=${cxx} --ar=${ar} --ranlib=${ranlib}"
$config += " --extra-cflags=-I$envOPENSSL_ANDROID_HOME_DEFAULT/include --extra-ldflags=-L$env:OPENSSL_ANDROID_HOME_DEFAULT/armeabi-v7a"
$config += " --extra-cflags=-I${android_openssl_path}/include --extra-ldflags=-L${android_openssl_path}/armeabi-v7a"
$config += " --extra-cflags=-I${openssl_path}/include --extra-ldflags=-L${openssl_path}/armeabi-v7a"
$config += " --strip=$strip"
$result= InstallFfmpeg -config $config -buildSystem "android-arm" -msystem "ANDROID_CLANG" -ffmpegDirEnvVar "FFMPEG_DIR_ANDROID_ARMV7" -shared $shared
$buildSystem = "android-arm"
$result= InstallFfmpeg -config $config -buildSystem $buildSystem -msystem "ANDROID_CLANG" -ffmpegDirEnvVar $ffmpeg_dir_android_envvar_name -shared $shared -ndk_ver $ndk_version
Remove-Item -Path ${openssl_path}/armeabi-v7a/libcrypto.so
Remove-Item -Path ${openssl_path}/armeabi-v7a/libssl.so
@@ -198,9 +265,14 @@ function InstallAndroidArmv7 {
Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath $msys -ArgumentList ("-lc", "`"cd C:/patchelf-0.17.2 && ./bootstrap.sh && ./configure && make install`"")
$command = "${PSScriptRoot}/../shared/fix_ffmpeg_dependencies.sh C:/${ffmpeg_name}/build/android-arm/installed/ _armeabi-v7a no"
$installDirForMsys = ResolveFFmpegInstallDirMsys -buildSystem $buildSystem -ndkVer $ndk_version
$command = "${PSScriptRoot}/../shared/fix_ffmpeg_dependencies.sh ${installDirForMsys} _armeabi-v7a no"
$command = $command.Replace("\", "/")
Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath $msys -ArgumentList ("-lc", "`"$command`"")
$patchResult = Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath $msys -ArgumentList ("-lc", "`"$command`"")
if ($patchResult.ExitCode) {
Write-Host "fix_ffmpeg_dependencies.sh did not finish successfully"
return $false
}
return $result
}
@@ -209,7 +281,20 @@ function InstallFfmpegsAMD64 {
$hostArch = "amd64"
$mingwRes = InstallMingwFfmpeg
$llvmMingwRes = InstallLlvmMingwFfmpeg
$androidArmV7Res = InstallAndroidArmv7
if ($env:ANDROID_NDK_ROOT_LATEST) {
Write-Host "Install ffmpeg using latest supported Android NDK"
$androidArmV7Res = InstallAndroidArmv7 -ndk_root $env:ANDROID_NDK_ROOT_LATEST -ffmpeg_dir_android_envvar_name "FFMPEG_DIR_ANDROID_ARMV7_NDK_LATEST" -ndk_version "latest" -android_openssl_path $env:OPENSSL_ANDROID_HOME_LATEST
} else {
throw "Error: env.var ANDROID_NDK_ROOT_LATEST is not set for FFmpeg"
}
if ($env:ANDROID_NDK_ROOT_NIGHTLY1) {
Write-Host "Install ffmpeg using older Android NDK for nightly1"
InstallAndroidArmv7 -ndk_root $env:ANDROID_NDK_ROOT_NIGHTLY1 -ffmpeg_dir_android_envvar_name "FFMPEG_DIR_ANDROID_ARMV7_NDK_NIGHTLY1" -ndk_version "nightly1" -android_openssl_path $env:OPENSSL_ANDROID_HOME_NIGHTLY1
}
if ($env:ANDROID_NDK_ROOT_NIGHTLY2) {
Write-Host "Install ffmpeg using older Android NDK for nightly2"
InstallAndroidArmv7 -ndk_root $env:ANDROID_NDK_ROOT_NIGHTLY2 -ffmpeg_dir_android_envvar_name "FFMPEG_DIR_ANDROID_ARMV7_NDK_NIGHTLY2" -ndk_version "nightly2" -android_openssl_path $env:OPENSSL_ANDROID_HOME_NIGHTLY2
}
$msvcRes = InstallMsvcFfmpeg -hostArch $hostArch -isArm64 $false
$msvcArm64Res = InstallMsvcFfmpeg -hostArch $hostArch -isArm64 $true

View File

@@ -55,11 +55,7 @@ if(![System.IO.File]::Exists("$vcpkgRoot\vcpkg.exe")){
# Disable telemetry
Set-Content -Value "" -Path "$vcpkgRoot\vcpkg.disable-metrics" -Force
# Setting VCPKG_ROOT using Set-EnvironmentVariable makes the variable only
# available during build time. In order to make it available during the
# provisioning, we need to directly set it via $env:VCPKG_ROOT as well.
Set-EnvironmentVariable "VCPKG_ROOT" "$vcpkgRoot"
$env:VCPKG_ROOT = "$vcpkgRoot"
# Set a source for vcpkg Binary and Asset Cache
# The `coin/provisioning/common/windows/mount-vcpkg-cache-drive.ps1` script is

View File

@@ -1,7 +1,8 @@
param(
[string]$archVer="32",
[string]$toolchain="vs2022",
[bool]$setDefault=$true
[bool]$setDefault=$true,
[bool]$useArchInToolchainSuffix=$false
)
. "$PSScriptRoot\helpers.ps1"
@@ -71,6 +72,9 @@ if ( $toolchain -eq "llvm-mingw" ) {
$toolchainSuffix = "llvm_mingw"
}
if ( $useArchInToolchainSuffix ) {
$toolchainSuffix += "_$archVer"
}
install $sha1 $baseDestination-$archVer

View File

@@ -42,8 +42,7 @@ function BuildZlib {
)
PrepareBuildEnvironment -HostArchitecture $HostArchitecture -TargetArchitecture $TargetArchitecture
nmake /f $MAKEFILE
Invoke-NMake -NmakeArgs @('/f', "$MAKEFILE")
}
function CopySource {

View File

@@ -249,6 +249,8 @@ installPackages+=(zlib1g-dev)
installPackages+=(libusb-1.0-0-dev)
# password management support for Qt Creator
installPackages+=(libsecret-1-dev)
installPackages+=(debian-archive-keyring)
echo "Running update for apt"
waitLoop

View File

@@ -183,6 +183,9 @@ sudo /usr/bin/pip3 install dataclasses
gccVersion="$(gcc --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "GCC = $gccVersion" >> versions.txt
glibcVersion="$(ldd --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "glibc = $glibcVersion" >> versions.txt
OpenSSLVersion="$(openssl3 version |cut -b 9-14)"
echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt

View File

@@ -145,5 +145,8 @@ sudo /usr/bin/pip3 install wheel
gccVersion="$(gcc --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "GCC = $gccVersion" >> versions.txt
glibcVersion="$(ldd --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "glibc = $glibcVersion" >> versions.txt
OpenSSLVersion="$(openssl version |cut -b 9-14)"
echo "OpenSSL = $OpenSSLVersion" >> ~/versions.txt

View File

@@ -157,5 +157,8 @@ sudo /usr/bin/pip3 install wheel
gccVersion="$(gcc --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "GCC = $gccVersion" >> versions.txt
glibcVersion="$(ldd --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "glibc = $glibcVersion" >> versions.txt
OpenSSLVersion="$(openssl3 version |cut -b 9-14)"
echo "OpenSSL = $OpenSSLVersion" >> ~/versions.txt

View File

@@ -167,5 +167,8 @@ sudo /usr/bin/pip3 install dataclasses
gccVersion="$(gcc --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "GCC = $gccVersion" >> versions.txt
glibcVersion="$(ldd --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "glibc = $glibcVersion" >> versions.txt
OpenSSLVersion="$(openssl3 version |cut -b 9-14)"
echo "OpenSSL = $OpenSSLVersion" >> ~/versions.txt

View File

@@ -183,6 +183,9 @@ sudo /usr/bin/pip3 install dataclasses
gccVersion="$(gcc --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "GCC = $gccVersion" >> versions.txt
glibcVersion="$(ldd --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "glibc = $glibcVersion" >> versions.txt
OpenSSLVersion="$(openssl3 version |cut -b 9-14)"
echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt

View File

@@ -171,5 +171,8 @@ sudo ln -s /usr/bin/python3 /usr/local/bin/python3
gccVersion="$(gcc --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "GCC = $gccVersion" >> versions.txt
glibcVersion="$(ldd --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "glibc = $glibcVersion" >> versions.txt
OpenSSLVersion="$(openssl version |cut -b 9-14)"
echo "OpenSSL = $OpenSSLVersion" >> ~/versions.txt

View File

@@ -4,4 +4,4 @@
set -ex
# shellcheck source=../common/unix/openssl_for_android.sh
source "${BASH_SOURCE%/*}/../common/unix/openssl_3_for_android.sh"
source "${BASH_SOURCE%/*}/../common/unix/openssl_for_android.sh"

View File

@@ -204,6 +204,9 @@ sudo ln -s /usr/bin/python3 /usr/local/bin/python3
gccVersion="$(gcc --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "GCC = $gccVersion" >> versions.txt
glibcVersion="$(ldd --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "glibc = $glibcVersion" >> versions.txt
OpenSSLVersion="$(openssl version |cut -b 9-14)"
echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt

View File

@@ -4,4 +4,4 @@
set -ex
# shellcheck source=../common/unix/openssl_for_android.sh
source "${BASH_SOURCE%/*}/../common/unix/openssl_3_for_android.sh"
source "${BASH_SOURCE%/*}/../common/unix/openssl_for_android.sh"

View File

@@ -207,6 +207,9 @@ sudo ln -s /usr/bin/python3 /usr/local/bin/python3
gccVersion="$(gcc --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "GCC = $gccVersion" >> versions.txt
glibcVersion="$(ldd --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "glibc = $glibcVersion" >> versions.txt
OpenSSLVersion="$(openssl version |cut -b 9-14)"
echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt

View File

@@ -4,4 +4,4 @@
set -ex
# shellcheck source=../common/unix/openssl_for_android.sh
source "${BASH_SOURCE%/*}/../common/unix/openssl_3_for_android.sh"
source "${BASH_SOURCE%/*}/../common/unix/openssl_for_android.sh"

View File

@@ -101,3 +101,6 @@ sudo zypper -nq install openssl-3
gccVersion="$(gcc --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "GCC = $gccVersion" >> versions.txt
glibcVersion="$(ldd --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "glibc = $glibcVersion" >> versions.txt

View File

@@ -116,5 +116,8 @@ sudo zypper -nq install perl-JSON
gccVersion="$(gcc --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "GCC = $gccVersion" >> versions.txt
glibcVersion="$(ldd --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "glibc = $glibcVersion" >> versions.txt
OpenSSLVersion="$(openssl-3 version |cut -b 9-14)"
echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt

View File

@@ -119,5 +119,8 @@ sudo zypper -nq install perl-JSON
gccVersion="$(gcc --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "GCC = $gccVersion" >> versions.txt
glibcVersion="$(ldd --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "glibc = $glibcVersion" >> versions.txt
OpenSSLVersion="$(openssl version |cut -b 9-14)"
echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt

View File

@@ -66,6 +66,9 @@ source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
gccVersion="$(gcc --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "GCC = $gccVersion" >> versions.txt
glibcVersion="$(ldd --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "glibc = $glibcVersion" >> versions.txt
OpenSSLVersion="$(openssl version |cut -b 9-14)"
echo "OpenSSL = $OpenSSLVersion" >> ~/versions.txt

View File

@@ -268,5 +268,8 @@ SetEnvVar "SBOM_PYTHON_APPS_PATH" "/home/qt/.local/bin"
gccVersion="$(gcc --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "GCC = $gccVersion" >> versions.txt
glibcVersion="$(ldd --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "glibc = $glibcVersion" >> versions.txt
OpenSSLVersion="$(openssl version |cut -b 9-14)"
echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt

View File

@@ -39,8 +39,13 @@ EOF
sudo sbuild-adduser "$LOGNAME"
newgrp sbuild
# For debian repo we need to update the bookworm release pgp key
mkdir -p /home/qt/.debian_key_ring
wget https://ftp-master.debian.org/keys/archive-key-12.asc -O /home/qt/.debian_key_ring/archive-key-12.asc
gpg --no-default-keyring --keyring=/home/qt/.debian_key_ring/debian_chroot.gpg --import /home/qt/.debian_key_ring/archive-key-12.asc
# Create chroot
sudo sbuild-createchroot --include=eatmydata,ccache,gnupg,ca-certificates stable /srv/chroot/stable-amd64
sudo sbuild-createchroot --include=eatmydata,ccache,gnupg,ca-certificates bookworm /srv/chroot/stable-amd64 http://deb.debian.org/debian --keyring=/home/qt/.debian_key_ring/debian_chroot.gpg
# For ubuntu 22.04
echo "Create chroot for Ubuntu Jammy"
@@ -49,7 +54,7 @@ sudo sbuild-createchroot --include=eatmydata,gnupg,ca-certificates jammy /srv/ch
echo "Done creating chroot for Ubuntu Jammy"
# Update chroot.
sudo sbuild-update -udcar stable
sudo sbuild-update -udcar bookworm

View File

@@ -1,5 +1,5 @@
#!/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
# Install required packages with APT
@@ -20,15 +20,14 @@ function set_internal_repo {
sudo mv /etc/apt/apt.conf.d/50appstream{,.disabled}
sudo tee "/etc/apt/sources.list.d/ubuntu.list" > /dev/null <<-EOC
deb [arch=aarch64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble main restricted universe multiverse
deb [arch=aarch64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-updates main restricted universe multiverse
deb [arch=aarch64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-backports main restricted universe
deb [arch=aarch64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-security main restricted universe multiverse
deb [trusted=yes] http://repo-clones-apt.ci.qt.io:8080 noble-arm64 main restricted universe multiverse
deb [trusted=yes] http://repo-clones-apt.ci.qt.io:8080 noble-updates-arm64 main restricted universe multiverse
deb [trusted=yes] http://repo-clones-apt.ci.qt.io:8080 noble-backports-arm64 main restricted universe
deb [trusted=yes] http://repo-clones-apt.ci.qt.io:8080 noble-security-arm64 main restricted universe multiverse
EOC
}
#(ping -c 3 repo-clones.ci.qt.io && set_internal_repo) || echo "Internal package repository not found. Using public repositories."
echo "Internal package repository not loading Translation en package (QTQAINFRA-6297). Using public repositories."
(ping -c 3 repo-clones-apt.ci.qt.io && set_internal_repo) || echo "Internal package repository not found. Using public repositories."
# Make sure needed ca-certificates are available
sudo apt-get install --reinstall ca-certificates
@@ -264,5 +263,8 @@ SetEnvVar "SBOM_PYTHON_APPS_PATH" "/home/qt/.local/bin"
gccVersion="$(gcc --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "GCC = $gccVersion" >> versions.txt
glibcVersion="$(ldd --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "glibc = $glibcVersion" >> versions.txt
OpenSSLVersion="$(openssl version |cut -b 9-14)"
echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt

View File

@@ -1,5 +1,5 @@
#!/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
# Install required packages with APT
@@ -20,18 +20,16 @@ function set_internal_repo {
sudo mv /etc/apt/apt.conf.d/50appstream{,.disabled}
sudo tee "/etc/apt/sources.list.d/ubuntu.list" > /dev/null <<-EOC
deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble main restricted universe multiverse
deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-updates main restricted universe multiverse
deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-backports main restricted universe
deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-security main restricted universe multiverse
deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble main restricted
deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-updates main restricted
deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble universe
deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 noble-amd64 main restricted universe multiverse
deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 noble-updates-amd64 main restricted universe multiverse
deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 noble-backports-amd64 main restricted universe
deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 noble-security-amd64 main restricted universe multiverse
deb [arch=i386 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 noble-i386 main restricted universe multiverse
deb [arch=i386 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 noble-updates-i386 main restricted universe multiverse
EOC
}
#(ping -c 3 repo-clones.ci.qt.io && set_internal_repo) || echo "Internal package repository not found. Using public repositories."
echo "Internal package repository not loading Translation en package (QTQAINFRA-6297). Using public repositories."
(ping -c 3 repo-clones-apt.ci.qt.io && set_internal_repo) || echo "Internal package repository not found. Using public repositories."
# Make sure needed ca-certificates are available
sudo apt-get install --reinstall ca-certificates
@@ -275,5 +273,8 @@ SetEnvVar "SBOM_PYTHON_APPS_PATH" "/home/qt/.local/bin"
gccVersion="$(gcc --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "GCC = $gccVersion" >> versions.txt
glibcVersion="$(ldd --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "glibc = $glibcVersion" >> versions.txt
OpenSSLVersion="$(openssl version |cut -b 9-14)"
echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt

View File

@@ -72,5 +72,8 @@ sudo zypper -nq install java-17-openjdk
gccVersion="$(gcc --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "GCC = $gccVersion" >> versions.txt
glibcVersion="$(ldd --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "glibc = $glibcVersion" >> versions.txt
OpenSSLVersion="$(openssl version |cut -b 9-14)"
echo "OpenSSL = $OpenSSLVersion" >> ~/versions.txt

View File

@@ -78,5 +78,8 @@ sudo zypper -nq install java-17-openjdk
gccVersion="$(gcc --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "GCC = $gccVersion" >> versions.txt
glibcVersion="$(ldd --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "glibc = $glibcVersion" >> versions.txt
OpenSSLVersion="$(openssl-3 version |cut -b 9-14)"
echo "OpenSSL = $OpenSSLVersion" >> ~/versions.txt

View File

@@ -94,5 +94,8 @@ sudo zypper -nq install java-17-openjdk
gccVersion="$(gcc --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "GCC = $gccVersion" >> versions.txt
glibcVersion="$(ldd --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "glibc = $glibcVersion" >> versions.txt
OpenSSLVersion="$(openssl-3 version |cut -b 9-14)"
echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt

View File

@@ -8,5 +8,6 @@ sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/dis
sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/distribution/leap/15.6/repo/non-oss/#g" /etc/zypp/repos.d/repo-non-oss.repo
sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/update/leap/15.6/oss/#g" /etc/zypp/repos.d/repo-update.repo
sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/update/leap/15.6/non-oss/#g" /etc/zypp/repos.d/repo-update-non-oss.repo
sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/codecs.opensuse.org/openh264/openSUSE_Leap/#g" /etc/zypp/repos.d/repo-openh264.repo
sudo zypper lr -u

View File

@@ -52,7 +52,7 @@ sudo zypper -nq install libxml2-devel libxslt-devel
sudo zypper -nq install yasm
# GStreamer (qtwebkit and qtmultimedia), pulseaudio (qtmultimedia)
sudo zypper -nq install gstreamer-devel gstreamer-plugins-base-devel libpulse-devel pipewire-devel gstreamer-1.20-plugin-openh264
sudo zypper -nq install gstreamer-devel gstreamer-plugins-base-devel libpulse-devel pipewire-devel gstreamer-plugin-openh264
# cups
sudo zypper -nq install cups-devel
@@ -93,5 +93,8 @@ sudo zypper -nq install perl-JSON
gccVersion="$(gcc --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "GCC = $gccVersion" >> versions.txt
glibcVersion="$(ldd --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "glibc = $glibcVersion" >> versions.txt
OpenSSLVersion="$(openssl version |cut -b 9-14)"
echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt

View File

@@ -1,64 +1,8 @@
#!/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
# This script install Android sdk and ndk.
# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version
#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
set -ex
# shellcheck source=../common/unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
targetFolder="/opt/android"
sdkTargetFolder="$targetFolder/sdk"
basePath="/net/ci-files01-hki.ci.qt.io/hdd/www/input/android"
toolsVersion="2.1"
# toolsFile dertermines tools version
toolsFile="commandlinetools-mac-6609375_latest.zip"
ndkVersion="r27c"
ndkFile="android-ndk-$ndkVersion-darwin.zip"
sdkBuildToolsVersion="35.0.1"
# this is compile sdk version
sdkApiLevel="android-35"
toolsSourceFile="$basePath/$toolsFile"
ndkSourceFile="$basePath/$ndkFile"
echo "Unzipping Android NDK to '$targetFolder'"
sudo unzip -q "$ndkSourceFile" -d "$targetFolder"
echo "Unzipping Android Tools to '$sdkTargetFolder'"
sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder"
echo "Changing ownership of Android files."
sudo chown -R qt:wheel "$targetFolder"
# Run the following command under `eval` or `sh -c` so that the shell properly splits it
sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'"
sudo mkdir "$sdkTargetFolder/cmdline-tools"
sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools"
echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion."
(echo "y"; echo "y") | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" "--sdk_root=$sdkTargetFolder" \
"platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
| eval "$sdkmanager_no_progress_bar_cmd"
echo "Checking the contents of Android SDK..."
ls -l "$sdkTargetFolder"
SetEnvVar "ANDROID_SDK_ROOT" "$sdkTargetFolder"
SetEnvVar "ANDROID_NDK_ROOT" "$targetFolder/android-ndk-$ndkVersion"
SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64"
SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel"
cat << EOB >> ~/versions.txt
Android SDK tools = $toolsVersion
Android SDK Build Tools = $sdkBuildToolsVersion
Android SDK API level = $sdkApiLevel
Android NDK = $ndkVersion
EOB
# shellcheck source=../common/macos/android.sh
source "${BASH_SOURCE%/*}/../common/macos/android.sh"

View File

@@ -1,64 +1,8 @@
#!/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
# This script install Android sdk and ndk.
# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version
#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
set -ex
# shellcheck source=../common/unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
targetFolder="/opt/android"
sdkTargetFolder="$targetFolder/sdk"
basePath="/net/ci-files01-hki.ci.qt.io/hdd/www/input/android"
toolsVersion="2.1"
# toolsFile dertermines tools version
toolsFile="commandlinetools-mac-6609375_latest.zip"
ndkVersion="r27c"
ndkFile="android-ndk-$ndkVersion-darwin.zip"
sdkBuildToolsVersion="35.0.1"
# this is compile sdk version
sdkApiLevel="android-35"
toolsSourceFile="$basePath/$toolsFile"
ndkSourceFile="$basePath/$ndkFile"
echo "Unzipping Android NDK to '$targetFolder'"
sudo unzip -q "$ndkSourceFile" -d "$targetFolder"
echo "Unzipping Android Tools to '$sdkTargetFolder'"
sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder"
echo "Changing ownership of Android files."
sudo chown -R qt:wheel "$targetFolder"
# Run the following command under `eval` or `sh -c` so that the shell properly splits it
sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'"
sudo mkdir "$sdkTargetFolder/cmdline-tools"
sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools"
echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion."
(echo "y"; echo "y") | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" "--sdk_root=$sdkTargetFolder" \
"platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
| eval "$sdkmanager_no_progress_bar_cmd"
echo "Checking the contents of Android SDK..."
ls -l "$sdkTargetFolder"
SetEnvVar "ANDROID_SDK_ROOT" "$sdkTargetFolder"
SetEnvVar "ANDROID_NDK_ROOT" "$targetFolder/android-ndk-$ndkVersion"
SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64"
SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel"
cat << EOB >> ~/versions.txt
Android SDK tools = $toolsVersion
Android SDK Build Tools = $sdkBuildToolsVersion
Android SDK API level = $sdkApiLevel
Android NDK = $ndkVersion
EOB
# shellcheck source=../common/macos/android.sh
source "${BASH_SOURCE%/*}/../common/macos/android.sh"

View File

@@ -4,4 +4,4 @@
set -ex
brew install patchelf
source "${BASH_SOURCE%/*}/../common/unix/install-patchelf.sh"

View File

@@ -1,4 +1,5 @@
# Do not set the default LLVM_INSTALL_DIR for mingw, leave it with msvc for compat
. "$PSScriptRoot\..\common\windows\libclang.ps1" 64 mingw $False
. "$PSScriptRoot\..\common\windows\libclang.ps1" 64 llvm-mingw $False
. "$PSScriptRoot\..\common\windows\libclang.ps1" arm64 vs2022 $False $True
. "$PSScriptRoot\..\common\windows\libclang.ps1" 64 vs2022

2
qt3d

Submodule qt3d updated: 86f4616dd1...cb3a834c13

2
qtbase

Submodule qtbase updated: 6f0d27d2e4...3beff27402

2
qtcoap

Submodule qtcoap updated: 68a25c0fcc...b3b54d8e03

2
qtdoc

Submodule qtdoc updated: 924db889ca...ea19548fb2

2
qtgrpc

Submodule qtgrpc updated: 2d421fe447...ce77d0f2bb

2
qtmqtt

Submodule qtmqtt updated: 3bbef1d764...2d89f5687f

Submodule qtopcua updated: 2956ec8738...ead72b7606

Submodule qtscxml updated: dc7bdbd8a7...0c51964520

2
qtsvg

Submodule qtsvg updated: 56928697e4...da99c2b9d3

Submodule qttools updated: f117f860ed...dd8ee454c4

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