mirror of
git://code.qt.io/qt/qt5.git
synced 2026-03-01 10:16:16 +08:00
Compare commits
226 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
88f3bba9fe | ||
|
|
8985014695 | ||
|
|
f8d3ecc8c5 | ||
|
|
b373a99c84 | ||
|
|
c72791643a | ||
|
|
72df905ad0 | ||
|
|
c46968cf02 | ||
|
|
f39ba1a737 | ||
|
|
762ae0c4f1 | ||
|
|
e41fdd0e35 | ||
|
|
e9e8d7965f | ||
|
|
e52d4450e6 | ||
|
|
421e047560 | ||
|
|
a18bf49a08 | ||
|
|
6151c89412 | ||
|
|
1a28d5735a | ||
|
|
888f401dda | ||
|
|
ce84790549 | ||
|
|
b878ae8e16 | ||
|
|
3c9ac3eb94 | ||
|
|
bfe5afdd0b | ||
|
|
0abfaee87f | ||
|
|
4f808ebcff | ||
|
|
2f8949ba66 | ||
|
|
f504f67bfe | ||
|
|
b03ea64e41 | ||
|
|
1c15c2b44e | ||
|
|
72865b0d10 | ||
|
|
5f3a292308 | ||
|
|
bd457e9a9d | ||
|
|
b4cbb683b7 | ||
|
|
f34a3c1ef9 | ||
|
|
331417d39f | ||
|
|
858db09c08 | ||
|
|
b4f330ea06 | ||
|
|
6ff8b4ecdb | ||
|
|
92dd9a8f0e | ||
|
|
f082a74f99 | ||
|
|
fc05039ef2 | ||
|
|
1fce08961a | ||
|
|
7547bafd1e | ||
|
|
2bbce2662f | ||
|
|
5f12548fb2 | ||
|
|
97d78ea40a | ||
|
|
9260fd33e8 | ||
|
|
2e7fc85baf | ||
|
|
2747adefe5 | ||
|
|
92c3e02c5f | ||
|
|
e06032d5fd | ||
|
|
9053f6d65c | ||
|
|
b038b16d27 | ||
|
|
bc7a96b955 | ||
|
|
3f94a4775b | ||
|
|
8cfbb3a8ce | ||
|
|
ca679e98de | ||
|
|
30ee3ee4b2 | ||
|
|
5da5123c58 | ||
|
|
f4184f1888 | ||
|
|
65c4187e6e | ||
|
|
c7ce79946a | ||
|
|
5f7dbc28d3 | ||
|
|
4cac599ed2 | ||
|
|
285e7741cc | ||
|
|
91ef9fed9f | ||
|
|
905c3daac7 | ||
|
|
0741ab2895 | ||
|
|
b210a2bf9a | ||
|
|
de1524f320 | ||
|
|
a705215d0a | ||
|
|
8371d14e9d | ||
|
|
971f164d80 | ||
|
|
75ccca3662 | ||
|
|
925db9e3a3 | ||
|
|
d587092f57 | ||
|
|
f7a9d1d907 | ||
|
|
883d4c2c62 | ||
|
|
22960e9c23 | ||
|
|
9f81c8022d | ||
|
|
5d37695091 | ||
|
|
3b502d8073 | ||
|
|
f841bcf220 | ||
|
|
701af5adba | ||
|
|
8884317031 | ||
|
|
7515ceea5b | ||
|
|
20bdec9719 | ||
|
|
d94cefd9de | ||
|
|
adb56a0462 | ||
|
|
a0696f3513 | ||
|
|
76ff4d7046 | ||
|
|
88843f5d8b | ||
|
|
e1261d44d1 | ||
|
|
a4d15afd8e | ||
|
|
75e83cd398 | ||
|
|
70450e5953 | ||
|
|
23f4a0a3bf | ||
|
|
b36caafbb0 | ||
|
|
d14b139aae | ||
|
|
30a99aabd3 | ||
|
|
75948e5de6 | ||
|
|
979b19c8b5 | ||
|
|
97e9150dbe | ||
|
|
7aea7dfbc5 | ||
|
|
b77dae62d5 | ||
|
|
d5be221d9f | ||
|
|
7f7a702ea9 | ||
|
|
1695377527 | ||
|
|
d6a6f98789 | ||
|
|
6ae4ca39cd | ||
|
|
18adb02915 | ||
|
|
0d6a9c09ce | ||
|
|
8a4def3f83 | ||
|
|
0e6aa7277b | ||
|
|
09622b6cca | ||
|
|
332b8beb7d | ||
|
|
26fe4e642e | ||
|
|
775fff4d4a | ||
|
|
331f753f6f | ||
|
|
1e9ca6fdf2 | ||
|
|
0fd9e9f0b6 | ||
|
|
156b753fc5 | ||
|
|
d7a082f08d | ||
|
|
513af7962d | ||
|
|
b8441b17f9 | ||
|
|
033ea9e0d5 | ||
|
|
c86052205a | ||
|
|
d7818854a3 | ||
|
|
27181052ec | ||
|
|
4953664b49 | ||
|
|
e6eaa4f3ef | ||
|
|
cbbba28284 | ||
|
|
9f42f33194 | ||
|
|
4bb846dd6d | ||
|
|
19b819ebf3 | ||
|
|
dd4278ddc1 | ||
|
|
c25feffb9b | ||
|
|
7394584ab5 | ||
|
|
a64f150422 | ||
|
|
18a08f7eb6 | ||
|
|
14dcdd32d7 | ||
|
|
c1798a5ea8 | ||
|
|
b00e1853b4 | ||
|
|
582a05fab0 | ||
|
|
eb22c91aa5 | ||
|
|
84833b070d | ||
|
|
014d327331 | ||
|
|
ff0c5876af | ||
|
|
d37592b726 | ||
|
|
3d536d157d | ||
|
|
ca83c9896a | ||
|
|
68425f29bb | ||
|
|
feabc0fdcf | ||
|
|
91627c3294 | ||
|
|
cbc5c3405b | ||
|
|
4403eaf71c | ||
|
|
763fb46b70 | ||
|
|
8b54ca691c | ||
|
|
86b4f465d6 | ||
|
|
707546820e | ||
|
|
b04f1bb9fa | ||
|
|
2b1b4fdb37 | ||
|
|
e871bdae27 | ||
|
|
db339574e2 | ||
|
|
8f03c4d6cd | ||
|
|
804108b9e3 | ||
|
|
8a76f815cc | ||
|
|
c30b5db118 | ||
|
|
7eb22d00df | ||
|
|
55932dc895 | ||
|
|
959753d250 | ||
|
|
ab6e833690 | ||
|
|
93301056cc | ||
|
|
837922faee | ||
|
|
f91eb1e821 | ||
|
|
bef4eabb8c | ||
|
|
19a1082df7 | ||
|
|
8d22b36de0 | ||
|
|
ad7ab32f44 | ||
|
|
ef1949eb4d | ||
|
|
1733243a47 | ||
|
|
42cef5cdd8 | ||
|
|
24053c7dce | ||
|
|
e89a978ef6 | ||
|
|
4b0354d4f4 | ||
|
|
10faee473f | ||
|
|
8734d6ee50 | ||
|
|
37880472c7 | ||
|
|
13864a8f2c | ||
|
|
cbcc230702 | ||
|
|
6dc02c60f3 | ||
|
|
d3dcf8a993 | ||
|
|
ac00c9bfc4 | ||
|
|
2aa711175c | ||
|
|
8f40282cb7 | ||
|
|
8fb747f92e | ||
|
|
0a2446205f | ||
|
|
2f2c8bf347 | ||
|
|
298d280d64 | ||
|
|
00d2f82e35 | ||
|
|
2fe0aec0da | ||
|
|
62fed89867 | ||
|
|
b7ee424962 | ||
|
|
980cd3659a | ||
|
|
03f8208be9 | ||
|
|
09ea302a62 | ||
|
|
ac22ffaf57 | ||
|
|
30a92ce1f2 | ||
|
|
4aff1dbe9a | ||
|
|
67721e94a3 | ||
|
|
d3a73458b6 | ||
|
|
aa988a044e | ||
|
|
a4ed8c5c71 | ||
|
|
9fa7dcf07e | ||
|
|
64ee2cb321 | ||
|
|
532005d760 | ||
|
|
c80fdde69b | ||
|
|
e4cc5bd5c1 | ||
|
|
28335a188b | ||
|
|
ef73e7eaa6 | ||
|
|
9c6e9e26c4 | ||
|
|
2e280013ee | ||
|
|
0ced62772a | ||
|
|
6952228e8b | ||
|
|
194091ba5d | ||
|
|
fc4ab56529 | ||
|
|
24009d854a | ||
|
|
a5cdc5128d |
86
.gitmodules
vendored
86
.gitmodules
vendored
@@ -1,40 +1,40 @@
|
||||
[submodule "qtbase"]
|
||||
path = qtbase
|
||||
url = ../qtbase.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = essential
|
||||
[submodule "qtsvg"]
|
||||
depends = qtbase
|
||||
path = qtsvg
|
||||
url = ../qtsvg.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = addon
|
||||
[submodule "qtdeclarative"]
|
||||
depends = qtbase
|
||||
recommends = qtimageformats qtshadertools qtsvg qtlanguageserver
|
||||
path = qtdeclarative
|
||||
url = ../qtdeclarative.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = essential
|
||||
[submodule "qtactiveqt"]
|
||||
depends = qtbase
|
||||
path = qtactiveqt
|
||||
url = ../qtactiveqt.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = addon
|
||||
[submodule "qtmultimedia"]
|
||||
depends = qtbase qtshadertools
|
||||
recommends = qtdeclarative qtquick3d
|
||||
path = qtmultimedia
|
||||
url = ../qtmultimedia.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = addon
|
||||
[submodule "qttools"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtactiveqt
|
||||
path = qttools
|
||||
url = ../qttools.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = essential
|
||||
[submodule "qtxmlpatterns"]
|
||||
depends = qtbase
|
||||
@@ -47,7 +47,7 @@
|
||||
depends = qttools
|
||||
path = qttranslations
|
||||
url = ../qttranslations.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = essential
|
||||
priority = 30
|
||||
[submodule "qtdoc"]
|
||||
@@ -55,7 +55,7 @@
|
||||
recommends = qtmultimedia qtshadertools qtwebengine
|
||||
path = qtdoc
|
||||
url = ../qtdoc.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = essential
|
||||
priority = 40
|
||||
[submodule "qtrepotools"]
|
||||
@@ -68,7 +68,7 @@
|
||||
depends = qtbase
|
||||
path = qtqa
|
||||
url = ../qtqa.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = essential
|
||||
priority = 50
|
||||
[submodule "qtlocation"]
|
||||
@@ -76,21 +76,21 @@
|
||||
recommends = qtdeclarative
|
||||
path = qtlocation
|
||||
url = ../qtlocation.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = preview
|
||||
[submodule "qtpositioning"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtserialport
|
||||
path = qtpositioning
|
||||
url = ../qtpositioning.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = addon
|
||||
[submodule "qtsensors"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtsensors
|
||||
url = ../qtsensors.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = addon
|
||||
[submodule "qtsystems"]
|
||||
depends = qtbase
|
||||
@@ -117,61 +117,61 @@
|
||||
recommends = qtdeclarative
|
||||
path = qtconnectivity
|
||||
url = ../qtconnectivity.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = addon
|
||||
[submodule "qtwayland"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtwayland
|
||||
url = ../qtwayland.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = addon
|
||||
[submodule "qt3d"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtshadertools qtmultimedia
|
||||
path = qt3d
|
||||
url = ../qt3d.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = deprecated
|
||||
[submodule "qtimageformats"]
|
||||
depends = qtbase
|
||||
path = qtimageformats
|
||||
url = ../qtimageformats.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = addon
|
||||
[submodule "qtserialbus"]
|
||||
depends = qtbase
|
||||
recommends = qtserialport
|
||||
path = qtserialbus
|
||||
url = ../qtserialbus.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = addon
|
||||
[submodule "qtserialport"]
|
||||
depends = qtbase
|
||||
path = qtserialport
|
||||
url = ../qtserialport.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = addon
|
||||
[submodule "qtwebsockets"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtwebsockets
|
||||
url = ../qtwebsockets.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = addon
|
||||
[submodule "qtwebchannel"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtwebsockets
|
||||
path = qtwebchannel
|
||||
url = ../qtwebchannel.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = addon
|
||||
[submodule "qtwebengine"]
|
||||
depends = qtdeclarative
|
||||
recommends = qtwebchannel qttools qtpositioning
|
||||
path = qtwebengine
|
||||
url = ../qtwebengine.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = addon
|
||||
priority = 10
|
||||
[submodule "qtcanvas3d"]
|
||||
@@ -185,28 +185,28 @@
|
||||
recommends = qtwebengine
|
||||
path = qtwebview
|
||||
url = ../qtwebview.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = addon
|
||||
[submodule "qtcharts"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtmultimedia
|
||||
path = qtcharts
|
||||
url = ../qtcharts.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = deprecated
|
||||
[submodule "qtdatavis3d"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtmultimedia
|
||||
path = qtdatavis3d
|
||||
url = ../qtdatavis3d.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = deprecated
|
||||
[submodule "qtvirtualkeyboard"]
|
||||
depends = qtbase qtdeclarative qtsvg
|
||||
recommends = qtmultimedia
|
||||
path = qtvirtualkeyboard
|
||||
url = ../qtvirtualkeyboard.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = addon
|
||||
[submodule "qtgamepad"]
|
||||
depends = qtbase
|
||||
@@ -219,27 +219,27 @@
|
||||
depends = qtbase qtdeclarative
|
||||
path = qtscxml
|
||||
url = ../qtscxml.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = addon
|
||||
[submodule "qtspeech"]
|
||||
depends = qtbase qtmultimedia
|
||||
recommends = qtdeclarative
|
||||
path = qtspeech
|
||||
url = ../qtspeech.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = addon
|
||||
[submodule "qtnetworkauth"]
|
||||
depends = qtbase
|
||||
path = qtnetworkauth
|
||||
url = ../qtnetworkauth.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = addon
|
||||
[submodule "qtremoteobjects"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtremoteobjects
|
||||
url = ../qtremoteobjects.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = addon
|
||||
[submodule "qtwebglplugin"]
|
||||
depends = qtbase qtwebsockets
|
||||
@@ -252,88 +252,88 @@
|
||||
depends = qtbase qtdeclarative
|
||||
path = qtlottie
|
||||
url = ../qtlottie.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = addon
|
||||
[submodule "qtquicktimeline"]
|
||||
depends = qtbase qtdeclarative
|
||||
path = qtquicktimeline
|
||||
url = ../qtquicktimeline
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = addon
|
||||
[submodule "qtquick3d"]
|
||||
depends = qtbase qtdeclarative qtshadertools
|
||||
recommends = qtquicktimeline
|
||||
path = qtquick3d
|
||||
url = ../qtquick3d.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = addon
|
||||
[submodule "qtshadertools"]
|
||||
depends = qtbase
|
||||
path = qtshadertools
|
||||
url = ../qtshadertools.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = addon
|
||||
[submodule "qt5compat"]
|
||||
depends = qtbase qtdeclarative
|
||||
path = qt5compat
|
||||
url = ../qt5compat.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = deprecated
|
||||
[submodule "qtcoap"]
|
||||
depends = qtbase
|
||||
path = qtcoap
|
||||
url = ../qtcoap.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = addon
|
||||
[submodule "qtmqtt"]
|
||||
depends = qtbase qtdeclarative
|
||||
recommends = qtwebsockets
|
||||
path = qtmqtt
|
||||
url = ../qtmqtt.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = addon
|
||||
[submodule "qtopcua"]
|
||||
depends = qtbase qtdeclarative
|
||||
path = qtopcua
|
||||
url = ../qtopcua.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = addon
|
||||
[submodule "qtlanguageserver"]
|
||||
depends = qtbase
|
||||
path = qtlanguageserver
|
||||
url = ../qtlanguageserver.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = preview
|
||||
[submodule "qthttpserver"]
|
||||
depends = qtbase
|
||||
recommends = qtwebsockets
|
||||
path = qthttpserver
|
||||
url = ../qthttpserver.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = addon
|
||||
[submodule "qtquick3dphysics"]
|
||||
depends = qtbase qtdeclarative qtquick3d qtshadertools
|
||||
path = qtquick3dphysics
|
||||
url = ../qtquick3dphysics.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = addon
|
||||
[submodule "qtgrpc"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtgrpc
|
||||
url = ../qtgrpc.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = addon
|
||||
[submodule "qtquickeffectmaker"]
|
||||
depends = qtbase qtdeclarative qtshadertools
|
||||
recommends = qtquick3d
|
||||
path = qtquickeffectmaker
|
||||
url = ../qtquickeffectmaker.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = addon
|
||||
[submodule "qtgraphs"]
|
||||
depends = qtbase qtdeclarative qtquick3d
|
||||
path = qtgraphs
|
||||
url = ../qtgraphs.git
|
||||
branch = dev
|
||||
branch = 6.10
|
||||
status = addon
|
||||
|
||||
@@ -104,6 +104,9 @@ AlignEscapedNewlines: Left
|
||||
# initializer list in list-initialization.
|
||||
SpaceBeforeCpp11BracedList: false
|
||||
|
||||
# Do not reflow any comment
|
||||
ReflowComments: false
|
||||
|
||||
---
|
||||
# Use the Google-based style for .proto files.
|
||||
Language: Proto
|
||||
|
||||
@@ -178,7 +178,6 @@ function(qt_ir_command_line_set_input name val)
|
||||
endfunction()
|
||||
|
||||
# Appends a value of a command line option into a global property.
|
||||
# Currently unused
|
||||
function(qt_ir_command_line_append_input name val)
|
||||
if(NOT "${commandline_option_${name}_alias}" STREQUAL "")
|
||||
set(name "${commandline_option_${name}_alias}")
|
||||
@@ -240,6 +239,22 @@ function(qt_ir_commandline_string arg val nextok)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
# Like string, but appends to the existing value instead of overwriting.
|
||||
# Allows repeated flags like: -skip qtwebengine -skip qtwebview
|
||||
function(qt_ir_commandline_addString arg val nextok)
|
||||
if(nextok)
|
||||
qt_ir_args_get_next_command_line_arg(val)
|
||||
|
||||
if("${val}" MATCHES "^-")
|
||||
qt_ir_add_error("No value supplied to command line options '${arg}'.")
|
||||
endif()
|
||||
endif()
|
||||
qt_ir_validate_value("${arg}" "${val}" success)
|
||||
if(success)
|
||||
qt_ir_command_line_append_input("${arg}" "${val}")
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
# Sets / handles the value of a command line void option.
|
||||
# This is an option like --force, which doesn't take any arguments.
|
||||
# Currently unused
|
||||
@@ -279,6 +294,7 @@ endfunction()
|
||||
#
|
||||
# Currently handles the following types of CLI arguments:
|
||||
# string
|
||||
# addString (like string, but accumulates values from repeated flags)
|
||||
# boolean
|
||||
# void
|
||||
#
|
||||
@@ -421,3 +437,19 @@ function(qt_ir_get_option_as_cmake_flag_option cli_name cmake_option_name out_va
|
||||
endif()
|
||||
set(${out_var} "${cmake_option}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
# Get the value of a command line option as existing absolute path.
|
||||
# Yield error if the path does not exist.
|
||||
# Convert to absolute path if necessary.
|
||||
function(qt_ir_get_option_as_existing_absolute_path name value)
|
||||
qt_ir_get_option_value("${name}" path)
|
||||
if(NOT "${path}" STREQUAL "")
|
||||
if(NOT EXISTS "${path}")
|
||||
qt_ir_add_error("The path '${path}' passed with -${name} does not exist.")
|
||||
endif()
|
||||
if(NOT IS_ABSOLUTE "${path}")
|
||||
get_filename_component(path "${path}" ABSOLUTE)
|
||||
endif()
|
||||
endif()
|
||||
set("${value}" "${path}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
@@ -89,6 +89,26 @@ function(qt_ir_handle_called_from_configure top_level_src_path out_var_exit_reas
|
||||
|
||||
qt_ir_validate_options_for_configure()
|
||||
|
||||
# Convert -skip values to module-subset exclusions so init-repository respects them.
|
||||
qt_ir_get_option_value(skip skip_modules)
|
||||
if(skip_modules)
|
||||
string(REPLACE "," ";" skip_modules "${skip_modules}")
|
||||
list(TRANSFORM skip_modules STRIP)
|
||||
list(TRANSFORM skip_modules PREPEND "-")
|
||||
|
||||
qt_ir_get_option_value(module-subset existing_subset)
|
||||
if(NOT existing_subset)
|
||||
set(existing_subset "default")
|
||||
endif()
|
||||
|
||||
list(APPEND skip_modules "${existing_subset}")
|
||||
list(REMOVE_DUPLICATES skip_modules)
|
||||
list(JOIN skip_modules "," merged_subset)
|
||||
|
||||
qt_ir_set_option_value(module-subset "${merged_subset}")
|
||||
message(DEBUG "Preprocessed -skip option: module-subset is now: ${merged_subset}")
|
||||
endif()
|
||||
|
||||
# -init_submodules implies --force
|
||||
qt_ir_set_option_value(force TRUE)
|
||||
|
||||
@@ -110,6 +130,11 @@ function(qt_ir_get_args_from_optfile_configure_filtered optfile_path out_var)
|
||||
set(extra_configure_args "")
|
||||
set(extra_cmake_args "")
|
||||
|
||||
# Collect modules to skip. These may come from:
|
||||
# 1. The -skip option (consumed by init-repository's option parser)
|
||||
# 2. Exclusion entries in -submodules/--module-subset (e.g. -qtfoo)
|
||||
qt_ir_get_option_value(skip skip_modules)
|
||||
|
||||
# If the -submodules or --module-subset options were specified, transform
|
||||
# the values into something configure understands and pass them to configure.
|
||||
qt_ir_get_option_value(module-subset submodules)
|
||||
@@ -133,25 +158,10 @@ function(qt_ir_get_args_from_optfile_configure_filtered optfile_path out_var)
|
||||
endif()
|
||||
|
||||
list(JOIN include_submodules "," include_submodules)
|
||||
list(JOIN exclude_submodules "," exclude_submodules)
|
||||
|
||||
# Handle case when the -skip argument is already passed.
|
||||
# In that case read the passed values, merge with new ones,
|
||||
# remove both the -skip and its values, and re-add it later.
|
||||
list(FIND filtered_args "-skip" skip_index)
|
||||
if(exclude_submodules AND skip_index GREATER -1)
|
||||
list(LENGTH filtered_args filtered_args_length)
|
||||
math(EXPR skip_args_index "${skip_index} + 1")
|
||||
|
||||
if(skip_args_index LESS filtered_args_length)
|
||||
list(GET filtered_args "${skip_args_index}" skip_args)
|
||||
string(REPLACE "," ";" skip_args "${skip_args}")
|
||||
list(APPEND skip_args ${exclude_submodules})
|
||||
list(REMOVE_DUPLICATES skip_args)
|
||||
list(JOIN skip_args "," exclude_submodules)
|
||||
list(REMOVE_AT filtered_args "${skip_args_index}")
|
||||
list(REMOVE_AT filtered_args "${skip_index}")
|
||||
endif()
|
||||
# Merge exclusions from module-subset into the skip list.
|
||||
if(exclude_submodules)
|
||||
list(APPEND skip_modules ${exclude_submodules})
|
||||
endif()
|
||||
|
||||
# Handle case when only '-submodules existing' is passed and the
|
||||
@@ -159,9 +169,13 @@ function(qt_ir_get_args_from_optfile_configure_filtered optfile_path out_var)
|
||||
if(include_submodules)
|
||||
list(APPEND extra_configure_args "-submodules" "${include_submodules}")
|
||||
endif()
|
||||
if(exclude_submodules)
|
||||
list(APPEND extra_configure_args "-skip" "${exclude_submodules}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Forward all collected skip modules to configure.
|
||||
if(skip_modules)
|
||||
list(REMOVE_DUPLICATES skip_modules)
|
||||
list(JOIN skip_modules "," skip_csv)
|
||||
list(APPEND extra_configure_args "-skip" "${skip_csv}")
|
||||
endif()
|
||||
|
||||
# Insert the extra arguments into the proper positions before and after '--'.
|
||||
@@ -295,7 +309,7 @@ function(qt_ir_run_after_args_parsed top_level_src_path out_var_exit_reason)
|
||||
"${working_directory}")
|
||||
|
||||
# Get some additional options to pass down.
|
||||
qt_ir_get_option_value(alternates alternates)
|
||||
qt_ir_get_option_as_existing_absolute_path(alternates alternates)
|
||||
qt_ir_get_option_as_cmake_flag_option(branch "CHECKOUT_BRANCH" checkout_branch_option)
|
||||
|
||||
# The prefix for the cmake-style 'dictionary' that will be used by various functions.
|
||||
|
||||
@@ -37,6 +37,7 @@ macro(qt_ir_set_known_command_line_options)
|
||||
qt_ir_commandline_option(init-submodules TYPE boolean)
|
||||
# We alias qtbase's submodules option to init-repository module-subset.
|
||||
qt_ir_commandline_option(submodules ALIAS module-subset TYPE string)
|
||||
qt_ir_commandline_option(skip TYPE addString)
|
||||
|
||||
set_property(GLOBAL PROPERTY _qt_ir_known_command_line_options "${commandline_known_options}")
|
||||
endmacro()
|
||||
|
||||
@@ -41,7 +41,7 @@ Configurations:
|
||||
# Build on Ubuntu 24.04 ARM64 Wayland and test on offscreen and Wayland later
|
||||
-
|
||||
Id: 'ubuntu-24.04-arm64-developer-build'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-aarch64-52'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests', 'StandaloneExamples']
|
||||
Configure arguments: '-make examples -developer-build -c++std c++20 -linker lld -qtlibinfix TestInfix -qtnamespace TestNamespace -qpa offscreen\;xcb'
|
||||
@@ -51,7 +51,7 @@ Configurations:
|
||||
]
|
||||
-
|
||||
Id: 'ubuntu-24.04-arm64'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-aarch64-52'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'Packaging', 'UseConfigure', 'DoNotRunTests', 'GenerateSBOM', 'VerifySBOM']
|
||||
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput -qpa offscreen\;xcb'
|
||||
@@ -60,10 +60,23 @@ Configurations:
|
||||
'COMMON_TEST_CMAKE_ARGS=-DQT_SKIP_DOCKER_COMPOSE=ON',
|
||||
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON'
|
||||
]
|
||||
# Test on Ubuntu 24.04 ARM64 Wayland
|
||||
-
|
||||
Id: 'ubuntu-24.04-arm64-developer-build-wayland-tests'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-aarch64-52'
|
||||
Compiler: 'GCC'
|
||||
Features: ['TestOnly', 'InsignificantTests', 'VerboseCTestOutput']
|
||||
Platform dependency: 'ubuntu-24.04-arm64-developer-build'
|
||||
-
|
||||
Id: 'ubuntu-24.04-arm64-wayland-tests'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-aarch64-52'
|
||||
Compiler: 'GCC'
|
||||
Features: ['TestOnly', 'InsignificantTests', 'VerboseCTestOutput']
|
||||
Platform dependency: 'ubuntu-24.04-arm64'
|
||||
# Test on Ubuntu 24.04 ARM64 offscreen
|
||||
-
|
||||
Id: 'ubuntu-24.04-arm64-offscreen-tests'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-aarch64-52'
|
||||
Compiler: 'GCC'
|
||||
Features: ['TestOnly']
|
||||
Environment variables: [
|
||||
@@ -87,7 +100,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',
|
||||
@@ -97,13 +110,13 @@ Configurations:
|
||||
# Test on Ubuntu 24.04 x64 X11
|
||||
-
|
||||
Id: 'ubuntu-24.04-x64-developer-build-x11-tests'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'TestOnly']
|
||||
Platform dependency: 'ubuntu-24.04-x64-developer-build'
|
||||
-
|
||||
Id: 'ubuntu-24.04-x64-x11-tests'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'TestOnly']
|
||||
Platform dependency: 'ubuntu-24.04-x64'
|
||||
@@ -118,19 +131,9 @@ Configurations:
|
||||
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}',
|
||||
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE'
|
||||
]
|
||||
-
|
||||
Id: 'sles-15_sp5-static'
|
||||
Template: 'qtci-linux-SLES-15_SP5-x86_64-51'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
||||
Configure arguments: '-nomake examples -static -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer'
|
||||
Environment variables: [
|
||||
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}',
|
||||
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}'
|
||||
]
|
||||
-
|
||||
Id: 'sles-15_sp6-static'
|
||||
Template: 'qtci-linux-SLES-15_SP6-x86_64-51'
|
||||
Template: 'qtci-linux-SLES-15_SP6-x86_64-52'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
||||
Configure arguments: '-nomake examples -static -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer'
|
||||
@@ -149,99 +152,64 @@ Configurations:
|
||||
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_clangcpp=OFF -DINPUT_headersclean=ON',
|
||||
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
|
||||
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
|
||||
]
|
||||
-
|
||||
Id: 'windows-11_23H2-msvc2022'
|
||||
Template: 'qtci-windows-11_23H2-x86_64-55'
|
||||
Compiler: 'MSVC2022'
|
||||
Features: ['Sccache', "DebugAndRelease", 'UseConfigure', 'Packaging', 'GenerateSBOM', 'VerifySBOM']
|
||||
Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib'
|
||||
Environment variables: [
|
||||
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\..',
|
||||
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_clangcpp=OFF -DINPUT_headersclean=ON',
|
||||
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
|
||||
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
|
||||
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
|
||||
]
|
||||
-
|
||||
Id: 'windows-11_24H2-msvc2022'
|
||||
Template: 'qtci-windows-11_24H2-x86_64-71'
|
||||
Compiler: 'MSVC2022'
|
||||
Features: ['Sccache', "DebugAndRelease", 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests']
|
||||
Features: ['Sccache', 'Packaging', "DebugAndRelease", 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
||||
Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib'
|
||||
Environment variables: [
|
||||
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\..',
|
||||
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_clangcpp=OFF -DINPUT_headersclean=ON',
|
||||
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
|
||||
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
|
||||
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
|
||||
]
|
||||
-
|
||||
Id: 'windows-11_22h2-arm64-msvc2022'
|
||||
Template: 'qtci-windows-11_22H2-aarch64-55'
|
||||
Id: 'windows-11_23h2-arm64-msvc2022'
|
||||
Template: 'qtci-windows-11_23H2-aarch64-53'
|
||||
Compiler: 'MSVC2022'
|
||||
Features: ['Packaging', 'DebugAndRelease', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
||||
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: ['Sccache', 'Packaging', 'DebugAndRelease', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
||||
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',
|
||||
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
|
||||
]
|
||||
-
|
||||
Id: 'windows-11_23H2-msvc2022-arm64'
|
||||
Template: 'qtci-windows-11_23H2-x86_64-55'
|
||||
Compiler: 'MSVC2022'
|
||||
Target arch: 'arm64'
|
||||
Features: ['Sccache', 'DoNotRunTests', 'TargetBuildOnly', 'Packaging', '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-opengl -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}}',
|
||||
'OPENSSL_INCLUDE_x64={{.Env.OPENSSL_INCLUDE_x64_arm64}}',
|
||||
'OPENSSL_LIB_x64={{.Env.OPENSSL_LIB_x64_arm64}}',
|
||||
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
|
||||
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
|
||||
]
|
||||
-
|
||||
Id: 'windows-11_24H2-msvc2022-arm64'
|
||||
Template: 'qtci-windows-11_24H2-x86_64-71'
|
||||
Compiler: 'MSVC2022'
|
||||
Target arch: 'arm64'
|
||||
Features: ['Sccache', 'DisableTests', 'TargetBuildOnly', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests']
|
||||
Platform dependency: 'windows-11_24H2-msvc2022'
|
||||
Features: ['Sccache', 'Packaging', 'DoNotRunTests', 'TargetBuildOnly', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
||||
Platform dependency: 'windows-11_24h2-mingw13'
|
||||
Environment variables: [
|
||||
'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}}',
|
||||
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
|
||||
'TARGET_CONFIGURE_ARGS=-debug-and-release -force-debug-info -platform win32-arm64-msvc -qt-zlib -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer',
|
||||
'TARGET_CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ROOT_DIR_x64_arm64}} -DQT_FORCE_BUILD_TOOLS=ON',
|
||||
'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}}',
|
||||
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
|
||||
]
|
||||
-
|
||||
Id: 'windows-11-x86_64-arm64-tests'
|
||||
Template: 'qtci-windows-11_22H2-aarch64-55'
|
||||
Template: 'qtci-windows-11_23H2-aarch64-53'
|
||||
Compiler: 'MSVC2022'
|
||||
Features: ['TestOnly']
|
||||
Configure arguments: '-no-opengl -cross-compiled'
|
||||
Platform dependency: 'windows-11_23H2-msvc2022-arm64'
|
||||
-
|
||||
Id: 'windows-11_23H2-msvc2022-developer-build'
|
||||
Template: 'qtci-windows-11_23H2-x86_64-55'
|
||||
Compiler: 'MSVC2022'
|
||||
Features: ['Sccache', 'DebugAndRelease', 'WarningsAreErrors', 'UseConfigure', 'StandaloneExamples']
|
||||
Configure arguments: '-debug-and-release -force-asserts -make examples -developer-build -force-debug-info -qt-zlib -c++std c++20'
|
||||
Environment variables: [
|
||||
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DMySQL_ROOT={{.Env.ENV_MySQL_ROOT}} -DMySQL_LIBRARY_DIR={{.Env.ENV_MySQL_LIBRARY_DIR}}',
|
||||
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE',
|
||||
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
|
||||
'gRPC_ROOT={{.Env.gRPC_ROOT_msvc}}',
|
||||
]
|
||||
Configure arguments: '-cross-compiled'
|
||||
Platform dependency: 'windows-11_24H2-msvc2022-arm64'
|
||||
-
|
||||
Id: 'windows-11_24H2-msvc2022-developer-build'
|
||||
Template: 'qtci-windows-11_24H2-x86_64-71'
|
||||
Compiler: 'MSVC2022'
|
||||
Features: ['Sccache', 'DebugAndRelease', 'WarningsAreErrors', 'UseConfigure', 'StandaloneExamples', 'InsignificantTests']
|
||||
Features: ['Sccache', 'DebugAndRelease', 'WarningsAreErrors', 'UseConfigure', 'StandaloneExamples']
|
||||
Configure arguments: '-debug-and-release -force-asserts -make examples -developer-build -force-debug-info -qt-zlib -c++std c++20'
|
||||
Environment variables: [
|
||||
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DMySQL_ROOT={{.Env.ENV_MySQL_ROOT}} -DMySQL_LIBRARY_DIR={{.Env.ENV_MySQL_LIBRARY_DIR}}',
|
||||
@@ -269,6 +237,16 @@ Configurations:
|
||||
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
|
||||
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON'
|
||||
]
|
||||
-
|
||||
Id: 'rhel-9.6'
|
||||
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'UseConfigure', 'InstallQt5Dependencies', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
|
||||
Configure arguments: '-nomake examples -release -force-debug-info -headersclean -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
|
||||
Environment variables: [
|
||||
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
|
||||
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON'
|
||||
]
|
||||
-
|
||||
Id: 'ios-universal'
|
||||
Template: 'qtci-macos-14-arm-106'
|
||||
@@ -295,8 +273,8 @@ Configurations:
|
||||
'TARGET_CONFIGURE_ARGS=-developer-build -no-warnings-are-errors -nomake examples -nomake tests -platform macx-visionos-clang',
|
||||
]
|
||||
-
|
||||
Id: 'windows-10_22h2-mingw13'
|
||||
Template: 'qtci-windows-10_22H2-x86_64-53'
|
||||
Id: 'windows-11_24h2-mingw13'
|
||||
Template: 'qtci-windows-11_24H2-x86_64-71'
|
||||
Compiler: 'Mingw'
|
||||
Features: ['Packaging', 'Sccache', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
||||
Configure arguments: '-release -force-debug-info -separate-debug-info -nomake examples'
|
||||
@@ -307,24 +285,11 @@ Configurations:
|
||||
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_mingw}}',
|
||||
'Protobuf_ROOT={{.Env.Protobuf_ROOT_mingw}}',
|
||||
]
|
||||
-
|
||||
Id: 'windows-11_23H2-llvm'
|
||||
Template: 'qtci-windows-11_23H2-x86_64-55'
|
||||
Compiler: 'Clang'
|
||||
Features: ['Packaging','Sccache', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
||||
Configure arguments: '-release -force-debug-info -separate-debug-info -nomake examples'
|
||||
Environment variables: [
|
||||
'Path=C:\llvm-mingw\bin;{{.Env.Path}}',
|
||||
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\.. -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
|
||||
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_LLVM_MINGW}} -DQT_DEPLOY_FFMPEG=TRUE -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
|
||||
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_llvm_mingw}}',
|
||||
'Protobuf_ROOT={{.Env.Protobuf_ROOT_llvm_mingw}}',
|
||||
]
|
||||
-
|
||||
Id: 'windows-11_24H2-llvm'
|
||||
Template: 'qtci-windows-11_24H2-x86_64-71'
|
||||
Compiler: 'Clang'
|
||||
Features: ['Sccache', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests']
|
||||
Features: ['Sccache', 'Packaging', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
||||
Configure arguments: '-release -force-debug-info -separate-debug-info -nomake examples'
|
||||
Environment variables: [
|
||||
'Path=C:\llvm-mingw\bin;{{.Env.Path}}',
|
||||
@@ -333,24 +298,11 @@ Configurations:
|
||||
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_llvm_mingw}}',
|
||||
'Protobuf_ROOT={{.Env.Protobuf_ROOT_llvm_mingw}}',
|
||||
]
|
||||
-
|
||||
Id: 'windows-11_23H2-mingw13-developer-build'
|
||||
Template: 'qtci-windows-11_23H2-x86_64-55'
|
||||
Compiler: 'Mingw'
|
||||
Features: ['Sccache', 'WarningsAreErrors', 'UseConfigure', 'StandaloneExamples']
|
||||
Configure arguments: '-developer-build -release -force-asserts -force-debug-info -separate-debug-info -make examples'
|
||||
Environment variables: [
|
||||
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
|
||||
'CMAKE_ARGS=-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c -DMySQL_ROOT={{.Env.ENV_MySQL_ROOT}} -DMySQL_LIBRARY_DIR={{.Env.ENV_MySQL_LIBRARY_DIR}}',
|
||||
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MINGW}} -DQT_DEPLOY_FFMPEG=TRUE -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
|
||||
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_mingw}}',
|
||||
'Protobuf_ROOT={{.Env.Protobuf_ROOT_mingw}}',
|
||||
]
|
||||
-
|
||||
Id: 'windows-11_24H2-mingw13-developer-build'
|
||||
Template: 'qtci-windows-11_24H2-x86_64-71'
|
||||
Compiler: 'Mingw'
|
||||
Features: ['Sccache', 'WarningsAreErrors', 'UseConfigure', 'StandaloneExamples', 'InsignificantTests']
|
||||
Features: ['Sccache', 'WarningsAreErrors', 'UseConfigure', 'StandaloneExamples']
|
||||
Configure arguments: '-developer-build -release -force-asserts -force-debug-info -separate-debug-info -make examples'
|
||||
Environment variables: [
|
||||
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
|
||||
@@ -365,7 +317,7 @@ Configurations:
|
||||
Compiler: 'GCC'
|
||||
Features: ['Packaging','DebianPackaging','DisableTests', 'Insignificant']
|
||||
Environment variables: [
|
||||
'DEBIAN_RULES_REF=6.9_dev',
|
||||
'DEBIAN_RULES_REF=6.10_dev',
|
||||
'COIN_TARGET_DIST=tqtc-jammy',
|
||||
'COIN_EXTRA_DEBIAN_PACKAGES={{.Env.HOME}}/debian_packages/',
|
||||
'COIN_SBUILD_CHROOT=jammy-arm64-sbuild',
|
||||
@@ -378,7 +330,7 @@ Configurations:
|
||||
Compiler: 'GCC'
|
||||
Features: ['Packaging','DebianPackaging','DisableTests', 'Insignificant']
|
||||
Environment variables: [
|
||||
'DEBIAN_RULES_REF=6.9_dev',
|
||||
'DEBIAN_RULES_REF=6.10_dev',
|
||||
'COIN_TARGET_DIST=tqtc-jammy',
|
||||
'COIN_EXTRA_DEBIAN_PACKAGES={{.Env.HOME}}/debian_packages/',
|
||||
'COIN_SBUILD_CHROOT=jammy-amd64-sbuild',
|
||||
@@ -391,10 +343,10 @@ Configurations:
|
||||
Compiler: 'GCC'
|
||||
Features: ['Packaging','DebianPackaging','DisableTests', 'Insignificant']
|
||||
Environment variables: [
|
||||
'DEBIAN_RULES_REF=6.9_gles',
|
||||
'DEBIAN_RULES_REF=6.10_gles',
|
||||
'COIN_TARGET_DIST=tqtc-bookworm',
|
||||
'COIN_EXTRA_DEBIAN_PACKAGES={{.Env.HOME}}/debian_packages/',
|
||||
'COIN_SBUILD_CHROOT=stable-arm64-sbuild',
|
||||
'COIN_SBUILD_CHROOT=bookworm-arm64-sbuild',
|
||||
'COIN_EXTRA_DEBIAN_REPO=deb http://deb.debian.org/debian/ bookworm main',
|
||||
'COIN_SKIP_DEBIAN_MODULES=qt5 qtqa qtactiveqt qtdoc qtwebengine qtwebview',
|
||||
]
|
||||
|
||||
@@ -24,7 +24,7 @@ Configurations:
|
||||
Platform dependency: 'ubuntu-22.04'
|
||||
Features: ['VMSize8', 'UseConfigure', 'DoNotRunTests', 'DoNotUploadTests']
|
||||
Environment variables: [
|
||||
'WIND_CC_SYSROOT=/opt/nxp_imx8_1_0_6_3_VSB',
|
||||
'WIND_CC_SYSROOT=/opt/nxp_imx8_1_0_7_0_VSB',
|
||||
'TARGET_CONFIGURE_ARGS=-release -force-debug-info -qpa offscreen -nomake examples',
|
||||
'TARGET_CMAKE_ARGS=-DBUILD_SHARED_LIBS=OFF -DWARNINGS_ARE_ERRORS=OFF -DCMAKE_TOOLCHAIN_FILE="{{.Env.WIND_CC_SYSROOT}}/mk/rtp.toolchain.cmake" -DFEATURE_vulkan=OFF -DQT_QMAKE_TARGET_MKSPEC=vxworks-clang -DQT_HOST_PATH=/home/qt/work/install -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_STAGING_PREFIX:PATH=/home/qt/work/install/target'
|
||||
]
|
||||
|
||||
@@ -1,23 +1,11 @@
|
||||
Version: 2
|
||||
Configurations:
|
||||
|
||||
-
|
||||
Id: 'windows-11_23H2-msvc2022-minimal-static-test'
|
||||
Template: 'qtci-windows-11_23H2-x86_64-55'
|
||||
Compiler: 'MSVC2022'
|
||||
Features: ['Sccache', 'UseConfigure', 'Packaging', 'MinimalStaticTests']
|
||||
Configure arguments: '-static -release -headersclean -nomake examples -qt-libjpeg -no-icu -qt-doubleconversion -qt-zlib -c++std c++20 -no-feature-sql-psql'
|
||||
Environment variables: [
|
||||
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\..',
|
||||
'NON_QTBASE_CMAKE_ARGS=-DCMAKE_BUILD_TYPE=Release -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_native_grpc=OFF -DFEATURE_clangcpp=OFF -DINPUT_headersclean=ON',
|
||||
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
|
||||
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
|
||||
]
|
||||
-
|
||||
Id: 'windows-11_24H2-msvc2022-minimal-static-test'
|
||||
Template: 'qtci-windows-11_24H2-x86_64-71'
|
||||
Compiler: 'MSVC2022'
|
||||
Features: ['Sccache', 'UseConfigure', 'MinimalStaticTests', 'InsignificantTests']
|
||||
Features: ['Sccache', 'Packaging', 'UseConfigure', 'MinimalStaticTests']
|
||||
Configure arguments: '-static -release -headersclean -nomake examples -qt-libjpeg -no-icu -qt-doubleconversion -qt-zlib -c++std c++20 -no-feature-sql-psql'
|
||||
Environment variables: [
|
||||
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\..',
|
||||
@@ -26,10 +14,10 @@ Configurations:
|
||||
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
|
||||
]
|
||||
-
|
||||
Id: 'windows-11_22h2-arm64-msvc2022-minimal-static-test'
|
||||
Template: 'qtci-windows-11_22H2-aarch64-55'
|
||||
Id: 'windows-11_23h2-arm64-msvc2022-minimal-static-test'
|
||||
Template: 'qtci-windows-11_23H2-aarch64-53'
|
||||
Compiler: 'MSVC2022'
|
||||
Features: ['UseConfigure', 'InsignificantTests', 'Packaging', 'MinimalStaticTests']
|
||||
Features: ['Sccache', '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}}\..',
|
||||
@@ -48,9 +36,9 @@ Configurations:
|
||||
]
|
||||
-
|
||||
Id: 'ubuntu-24.04-arm64'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-aarch64-52'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Packaging', 'UseConfigure', 'InstallQt5Dependencies', 'DoNotRunTests']
|
||||
Features: ['Sccache', 'Packaging', 'UseConfigure', 'InstallQt5Dependencies', 'DoNotRunTests']
|
||||
Configure arguments: '-static -nomake examples -release -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -no-libudev -bundled-xcb-xinput -no-icu -qt-doubleconversion'
|
||||
Environment variables: [
|
||||
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
|
||||
|
||||
@@ -1,40 +1,19 @@
|
||||
Version: 2
|
||||
Configurations:
|
||||
-
|
||||
Id: 'sles-15_sp5-minimal-static'
|
||||
Template: 'qtci-linux-SLES-15_SP5-x86_64-51'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'MinimalStaticTests', 'UseConfigure']
|
||||
Configure arguments: '-nomake examples -static -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer'
|
||||
Environment variables: [
|
||||
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
|
||||
]
|
||||
-
|
||||
Id: 'sles-15_sp6-minimal-static'
|
||||
Template: 'qtci-linux-SLES-15_SP6-x86_64-51'
|
||||
Template: 'qtci-linux-SLES-15_SP6-x86_64-52'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'MinimalStaticTests', 'UseConfigure', 'InsignificantTests']
|
||||
Features: ['Sccache', 'MinimalStaticTests', 'UseConfigure']
|
||||
Configure arguments: '-nomake examples -static -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer'
|
||||
Environment variables: [
|
||||
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
|
||||
]
|
||||
-
|
||||
Id: 'windows-11_23H2-minimal-static'
|
||||
Template: 'qtci-windows-11_23H2-x86_64-55'
|
||||
Compiler: 'MSVC2022'
|
||||
Features: ['Sccache', 'MinimalStaticTests', 'UseConfigure']
|
||||
Configure arguments: '-release -force-debug-info -static -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_x64}}\..',
|
||||
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
|
||||
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
|
||||
'gRPC_ROOT={{.Env.gRPC_ROOT_msvc}}',
|
||||
]
|
||||
-
|
||||
Id: 'windows-11_24H2-minimal-static'
|
||||
Template: 'qtci-windows-11_24H2-x86_64-71'
|
||||
Compiler: 'MSVC2022'
|
||||
Features: ['Sccache', 'MinimalStaticTests', 'UseConfigure', 'InsignificantTests']
|
||||
Features: ['Sccache', 'MinimalStaticTests', 'UseConfigure']
|
||||
Configure arguments: '-release -force-debug-info -static -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_x64}}\..',
|
||||
|
||||
@@ -10,72 +10,88 @@ Configurations:
|
||||
Platform dependency: 'macos-universal-on-arm64'
|
||||
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'
|
||||
Template: 'qtci-windows-10_22H2-x86_64-53'
|
||||
Template: 'qtci-windows-11_24H2-x86_64-71'
|
||||
Target os: 'Android_ANY'
|
||||
Target arch: 'armv7'
|
||||
Compiler: 'Mingw'
|
||||
Target compiler: 'Clang'
|
||||
Platform dependency: 'windows-10_22h2-mingw13'
|
||||
Platform dependency: 'windows-11_24h2-mingw13'
|
||||
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'
|
||||
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
|
||||
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
||||
Target os: 'Android_ANY'
|
||||
Target arch: 'x86'
|
||||
Compiler: 'GCC'
|
||||
Target compiler: 'Clang'
|
||||
Platform dependency: 'rhel-8.10'
|
||||
Platform dependency: 'rhel-9.4'
|
||||
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'
|
||||
]
|
||||
-
|
||||
Id: 'android-15-x86_64-on-linux'
|
||||
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
|
||||
Id: 'android-9-x86-on-linux-rhel_9_6'
|
||||
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
|
||||
Target os: 'Android_ANY'
|
||||
Target arch: 'x86_64'
|
||||
Target arch: 'x86'
|
||||
Compiler: 'GCC'
|
||||
Target compiler: 'Clang'
|
||||
Platform dependency: 'rhel-8.10'
|
||||
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
||||
Platform dependency: 'rhel-9.6'
|
||||
Features: ['Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
|
||||
Environment variables: [
|
||||
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
|
||||
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
|
||||
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
|
||||
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}',
|
||||
'ANDROID_EMULATOR=emulator_x86_64_api_35'
|
||||
'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'
|
||||
]
|
||||
-
|
||||
Id: 'android-16-x86_64-on-linux'
|
||||
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
|
||||
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
||||
Target os: 'Android_ANY'
|
||||
Target arch: 'x86_64'
|
||||
Compiler: 'GCC'
|
||||
Target compiler: 'Clang'
|
||||
Platform dependency: 'rhel-8.10'
|
||||
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests']
|
||||
Platform dependency: 'rhel-9.4'
|
||||
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_36'
|
||||
]
|
||||
-
|
||||
Id: 'android-16-x86_64-on-linux-rhel_9_6'
|
||||
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
|
||||
Target os: 'Android_ANY'
|
||||
Target arch: 'x86_64'
|
||||
Compiler: 'GCC'
|
||||
Target compiler: 'Clang'
|
||||
Platform dependency: 'rhel-9.6'
|
||||
Features: ['Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
|
||||
Environment variables: [
|
||||
'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'
|
||||
]
|
||||
|
||||
@@ -15,11 +15,11 @@ Configurations:
|
||||
]
|
||||
-
|
||||
Id: 'webassembly-windows'
|
||||
Template: 'qtci-windows-10_22H2-x86_64-53'
|
||||
Template: 'qtci-windows-11_24H2-x86_64-71'
|
||||
Target os: 'WebAssembly'
|
||||
Compiler: 'Mingw'
|
||||
Target compiler: 'Clang'
|
||||
Platform dependency: 'windows-10_22h2-mingw13'
|
||||
Platform dependency: 'windows-11_24h2-mingw13'
|
||||
Features: ['Packaging','DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
||||
Environment variables: [
|
||||
'Path={{.Env.EMSDK_PATH}};{{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
|
||||
|
||||
@@ -1,10 +1,5 @@
|
||||
Version: 2
|
||||
Configurations:
|
||||
-
|
||||
Id: 'ubuntu-22.04-license-check'
|
||||
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
|
||||
Compiler: 'GCC'
|
||||
Features: ['TestOnly', 'LicenseCheckV2']
|
||||
-
|
||||
Id: 'ubuntu-24.04-x64-license-check'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
|
||||
|
||||
@@ -2,16 +2,31 @@ Version: 2
|
||||
Configurations:
|
||||
-
|
||||
Id: 'android-x86-developer-build-testrun-on-linux'
|
||||
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
|
||||
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
||||
Target os: 'Android_ANY'
|
||||
Target arch: 'x86'
|
||||
Compiler: 'GCC'
|
||||
Target compiler: 'Clang'
|
||||
Platform dependency: 'rhel-8.10'
|
||||
Platform dependency: 'rhel-9.4'
|
||||
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']
|
||||
-
|
||||
Id: 'android-x86-developer-build-testrun-on-linux-rhel_9_6'
|
||||
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
|
||||
Target os: 'Android_ANY'
|
||||
Target arch: 'x86'
|
||||
Compiler: 'GCC'
|
||||
Target compiler: 'Clang'
|
||||
Platform dependency: 'rhel-9.6'
|
||||
Features: ['Sccache', 'AndroidTestRun', 'UseConfigure', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
|
||||
Environment variables: [
|
||||
'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']
|
||||
|
||||
@@ -2,15 +2,15 @@ Version: 2
|
||||
Configurations:
|
||||
-
|
||||
Id: 'android-9-multi-abi'
|
||||
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
|
||||
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
||||
Target os: 'Android_ANY'
|
||||
Target arch: 'multi'
|
||||
Compiler: 'GCC'
|
||||
Target compiler: 'Clang'
|
||||
Platform dependency: [
|
||||
'rhel-8.10',
|
||||
'rhel-9.4',
|
||||
'android-9-x86-on-linux',
|
||||
'android-15-x86_64-on-linux'
|
||||
'android-16-x86_64-on-linux'
|
||||
]
|
||||
Features: [
|
||||
'Sccache',
|
||||
@@ -20,9 +20,37 @@ Configurations:
|
||||
'InstallDepsPerPlatformSubdir'
|
||||
]
|
||||
Environment variables: [
|
||||
'QT_CI_ARTIFACT_ID_PATH_Android-host=QT_CI_ARTIFACT_ID_PATH_rhel-8.10',
|
||||
'QT_CI_ARTIFACT_ID_PATH_Android-host=QT_CI_ARTIFACT_ID_PATH_rhel-9.4',
|
||||
'QT_CI_ARTIFACT_ID_PATH_Android-x86=QT_CI_ARTIFACT_ID_PATH_android-9-x86-on-linux',
|
||||
'QT_CI_ARTIFACT_ID_PATH_Android-x86_64=QT_CI_ARTIFACT_ID_PATH_android-15-x86_64-on-linux',
|
||||
'QT_CI_ARTIFACT_ID_PATH_Android-x86_64=QT_CI_ARTIFACT_ID_PATH_android-16-x86_64-on-linux',
|
||||
'COMMON_TARGET_TEST_CMAKE_ARGS=-DQT_ANDROID_ABIS="x86;x86_64"',
|
||||
'ANDROID_EMULATOR=emulator_x86_api_28'
|
||||
]
|
||||
-
|
||||
Id: 'android-9-multi-abi-rhel_9_6'
|
||||
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
|
||||
Target os: 'Android_ANY'
|
||||
Target arch: 'multi'
|
||||
Compiler: 'GCC'
|
||||
Target compiler: 'Clang'
|
||||
Platform dependency: [
|
||||
'rhel-9.6',
|
||||
'android-9-x86-on-linux',
|
||||
'android-16-x86_64-on-linux'
|
||||
]
|
||||
Features: [
|
||||
'Sccache',
|
||||
'WarningsAreErrors',
|
||||
'AndroidTestRun',
|
||||
'MinimalAndroidMultiABITests',
|
||||
'InstallDepsPerPlatformSubdir',
|
||||
'InsignificantTests',
|
||||
'DoNotAbortTestingOnFirstFailure'
|
||||
]
|
||||
Environment variables: [
|
||||
'QT_CI_ARTIFACT_ID_PATH_Android-host=QT_CI_ARTIFACT_ID_PATH_rhel-9.6',
|
||||
'QT_CI_ARTIFACT_ID_PATH_Android-x86=QT_CI_ARTIFACT_ID_PATH_android-9-x86-on-linux',
|
||||
'QT_CI_ARTIFACT_ID_PATH_Android-x86_64=QT_CI_ARTIFACT_ID_PATH_android-16-x86_64-on-linux',
|
||||
'COMMON_TARGET_TEST_CMAKE_ARGS=-DQT_ANDROID_ABIS="x86;x86_64"',
|
||||
'ANDROID_EMULATOR=emulator_x86_api_28'
|
||||
]
|
||||
|
||||
@@ -12,7 +12,7 @@ Configurations:
|
||||
Template: 'qtci-macos-15-arm-104'
|
||||
Compiler: 'Clang'
|
||||
Target arch: 'x86_64-arm64'
|
||||
Features: ['Packaging', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
||||
Features: ['Sccache', 'Packaging', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
||||
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -framework'
|
||||
Environment variables: [
|
||||
'CMAKE_ARGS=-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
|
||||
@@ -48,19 +48,19 @@ Configurations:
|
||||
Id: 'macos-13-arm64-tests'
|
||||
Template: 'qtci-macos-13-arm-107'
|
||||
Compiler: 'Clang'
|
||||
Features: ['TestOnly', 'Packaging']
|
||||
Features: ['Sccache', 'TestOnly', 'Packaging']
|
||||
Platform dependency: 'macos-universal-on-arm64'
|
||||
-
|
||||
Id: 'macos-14-arm64-tests'
|
||||
Template: 'qtci-macos-14-arm-106'
|
||||
Compiler: 'Clang'
|
||||
Features: ['TestOnly', 'Packaging']
|
||||
Features: ['Sccache', 'TestOnly', 'Packaging']
|
||||
Platform dependency: 'macos-universal-on-arm64'
|
||||
-
|
||||
Id: 'macos-15-arm64-tests'
|
||||
Template: 'qtci-macos-15-arm-104'
|
||||
Compiler: 'Clang'
|
||||
Features: ['TestOnly', 'Packaging']
|
||||
Features: ['Sccache', 'TestOnly', 'Packaging']
|
||||
Platform dependency: 'macos-universal-on-arm64'
|
||||
|
||||
# =========================================================================
|
||||
@@ -83,7 +83,7 @@ Configurations:
|
||||
Id: 'macos-arm64-developer-build'
|
||||
Template: 'qtci-macos-15-arm-104'
|
||||
Compiler: 'Clang'
|
||||
Features: ['DoNotRunTests', 'WarningsAreErrors', 'UseConfigure']
|
||||
Features: ['Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure']
|
||||
Configure arguments: '-developer-build -nomake examples -debug -framework'
|
||||
Environment variables: [
|
||||
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
|
||||
|
||||
33
coin/platform_configs/nightly_android_namespace.yaml
Normal file
33
coin/platform_configs/nightly_android_namespace.yaml
Normal file
@@ -0,0 +1,33 @@
|
||||
Version: 2
|
||||
Include: [
|
||||
cmake_platforms.yaml: [
|
||||
'rhel-9.4'
|
||||
],
|
||||
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'
|
||||
]
|
||||
58
coin/platform_configs/nightly_android_ndk1.yaml
Normal file
58
coin/platform_configs/nightly_android_ndk1.yaml
Normal file
@@ -0,0 +1,58 @@
|
||||
Version: 2
|
||||
Include: [
|
||||
cmake_platforms.yaml: [
|
||||
'rhel-9.4',
|
||||
'windows-11_24h2-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}}'
|
||||
]
|
||||
58
coin/platform_configs/nightly_android_ndk2.yaml
Normal file
58
coin/platform_configs/nightly_android_ndk2.yaml
Normal file
@@ -0,0 +1,58 @@
|
||||
Version: 2
|
||||
Include: [
|
||||
cmake_platforms.yaml: [
|
||||
'rhel-9.4',
|
||||
'windows-11_24h2-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}}'
|
||||
]
|
||||
@@ -2,7 +2,7 @@ Version: 2
|
||||
Configurations:
|
||||
-
|
||||
Id: 'ubuntu-24.04-x64-examples-and-tests-build'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests', 'NoSubmoduleDependencies']
|
||||
Configure arguments: '-make examples -make tests'
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
Version: 2
|
||||
Include: [
|
||||
cmake_platforms.yaml: [
|
||||
windows-10_22h2-mingw13
|
||||
'windows-11_24h2-mingw13'
|
||||
]
|
||||
]
|
||||
Configurations:
|
||||
-
|
||||
Id: 'qnx-710-arm64-on-windows'
|
||||
Template: 'qtci-windows-10_22H2-x86_64-53'
|
||||
Template: 'qtci-windows-11_24H2-x86_64-71'
|
||||
Target os: 'QNX_710'
|
||||
Target arch: 'arm64'
|
||||
Compiler: 'Mingw'
|
||||
Target compiler: 'QCC'
|
||||
Platform dependency: 'windows-10_22h2-mingw13'
|
||||
Platform dependency: 'windows-11_24h2-mingw13'
|
||||
Features: ['DisableTests', 'UseConfigure']
|
||||
Environment variables: [
|
||||
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
|
||||
|
||||
@@ -2,7 +2,7 @@ Version: 2
|
||||
Configurations:
|
||||
-
|
||||
Id: 'ubuntu-24.04-x64-run-cmake-tests'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'NoSubmoduleDependencies', 'TopLevelRunCMakeTests', 'DisableTests', 'VMSize16']
|
||||
Configure arguments: ''
|
||||
|
||||
@@ -1,22 +1,10 @@
|
||||
Version: 2
|
||||
Configurations:
|
||||
-
|
||||
Id: 'windows-11_23H2-msvc2022-unity-build'
|
||||
Template: 'qtci-windows-11_23H2-x86_64-55'
|
||||
Compiler: 'MSVC2022'
|
||||
Features: ['Sccache', 'Debug', 'UseConfigure', 'DoNotRunTests']
|
||||
Configure arguments: '-debug -force-debug-info -headersclean -make examples -qt-zlib'
|
||||
Environment variables: [
|
||||
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\.. -DQT_UNITY_BUILD=ON',
|
||||
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_clangcpp=OFF -DINPUT_headersclean=ON',
|
||||
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
|
||||
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
|
||||
]
|
||||
-
|
||||
Id: 'windows-11_24H2-msvc2022-unity-build'
|
||||
Template: 'qtci-windows-11_24H2-x86_64-71'
|
||||
Compiler: 'MSVC2022'
|
||||
Features: ['Sccache', 'Debug', 'UseConfigure', 'DoNotRunTests', 'InsignificantTests']
|
||||
Features: ['Sccache', 'Debug', 'UseConfigure', 'DoNotRunTests']
|
||||
Configure arguments: '-debug -force-debug-info -headersclean -make examples -qt-zlib'
|
||||
Environment variables: [
|
||||
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\.. -DQT_UNITY_BUILD=ON',
|
||||
@@ -36,7 +24,7 @@ Configurations:
|
||||
]
|
||||
-
|
||||
Id: 'ubuntu-24.04-arm64-unity-build'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-aarch64-52'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests']
|
||||
Configure arguments: '-make examples -debug -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput -qpa offscreen\;xcb'
|
||||
|
||||
@@ -2,20 +2,20 @@ Version: 2
|
||||
Configurations: []
|
||||
Include: [
|
||||
cmake_platforms.yaml: [
|
||||
'windows-11_23H2-msvc2022-developer-build',
|
||||
'windows-11_23H2-mingw13-developer-build',
|
||||
'windows-11_23H2-llvm'
|
||||
'windows-11_24H2-msvc2022-developer-build',
|
||||
'windows-11_24H2-mingw13-developer-build',
|
||||
'windows-11_24H2-llvm'
|
||||
]
|
||||
]
|
||||
# Windows nightly to check for -qtnamespace errors/issues
|
||||
Overrides:
|
||||
-
|
||||
Id: 'windows-11_23H2-msvc2022-developer-build'
|
||||
Id: 'windows-11_24H2-msvc2022-developer-build'
|
||||
Configure arguments: '-qtnamespace TestNamespace -debug-and-release -force-asserts -make examples -developer-build -force-debug-info -qt-zlib -c++std c++20'
|
||||
-
|
||||
Id: 'windows-11_23H2-mingw13-developer-build'
|
||||
Id: 'windows-11_24H2-mingw13-developer-build'
|
||||
Configure arguments: '-qtnamespace TestNamespace -developer-build -release -force-asserts -force-debug-info -separate-debug-info -make examples'
|
||||
-
|
||||
Id: 'windows-11_23H2-llvm'
|
||||
Id: 'windows-11_24H2-llvm'
|
||||
Features: ['Sccache', 'UseConfigure']
|
||||
Configure arguments: '-qtnamespace TestNamespace -release -force-debug-info -separate-debug-info -nomake examples'
|
||||
|
||||
@@ -5,7 +5,6 @@ Include: [
|
||||
"ubuntu-22.04",
|
||||
"ubuntu-22.04-developer-build",
|
||||
"ubuntu-22.04-developer-build-x11-tests",
|
||||
"windows-11_23H2-msvc2022-developer-build",
|
||||
"windows-11_24H2-msvc2022-developer-build",
|
||||
"ios-universal"
|
||||
],
|
||||
|
||||
@@ -13,6 +13,10 @@ Configurations:
|
||||
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
||||
Compiler: 'GCC'
|
||||
Features: ['DisableTests']
|
||||
-
|
||||
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
|
||||
Compiler: 'GCC'
|
||||
Features: ['DisableTests']
|
||||
-
|
||||
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
|
||||
Compiler: 'GCC'
|
||||
|
||||
@@ -1,46 +1,32 @@
|
||||
Version: 2
|
||||
Module only: True
|
||||
Configurations:
|
||||
-
|
||||
Template: 'qtci-windows-11_23H2-x86_64-55'
|
||||
Compiler: 'MSVC2022'
|
||||
Features: ['Sccache', 'DebugAndRelease']
|
||||
Configure arguments: ''
|
||||
Environment variables: []
|
||||
Environment script: ['%ProgramFiles%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'amd64']
|
||||
-
|
||||
Template: 'qtci-windows-11_24H2-x86_64-71'
|
||||
Compiler: 'MSVC2022'
|
||||
Features: ['Sccache', 'DebugAndRelease', 'InsignificantTests']
|
||||
Features: ['Sccache', 'DebugAndRelease']
|
||||
Configure arguments: ''
|
||||
Environment variables: []
|
||||
Environment script: ['%ProgramFiles%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'amd64']
|
||||
-
|
||||
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
|
||||
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'DebugAndRelease']
|
||||
Configure arguments: ''
|
||||
Environment variables: []
|
||||
-
|
||||
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-aarch64-52'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'DebugAndRelease']
|
||||
Configure arguments: ''
|
||||
Environment variables: []
|
||||
-
|
||||
Template: 'qtci-macos-14-arm-106'
|
||||
Template: 'qtci-macos-15-arm-104'
|
||||
Compiler: 'Clang'
|
||||
Features: ['Sccache', 'DebugAndRelease']
|
||||
Configure arguments: ''
|
||||
Environment variables: []
|
||||
# without tests
|
||||
-
|
||||
Template: 'qtci-windows-11_23H2-x86_64-55'
|
||||
Compiler: 'MSVC2022'
|
||||
Features: ['Sccache', 'DebugAndRelease', 'DisableTests']
|
||||
Configure arguments: ''
|
||||
Environment variables: []
|
||||
Environment script: ['%ProgramFiles%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'amd64']
|
||||
-
|
||||
Template: 'qtci-windows-11_24H2-x86_64-71'
|
||||
Compiler: 'MSVC2022'
|
||||
@@ -50,31 +36,37 @@ Configurations:
|
||||
Environment script: ['%ProgramFiles%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'amd64']
|
||||
# oldest Qt version
|
||||
-
|
||||
Template: 'qtci-windows-11_23H2-x86_64-55'
|
||||
Template: 'qtci-windows-11_24H2-x86_64-71'
|
||||
Compiler: 'MSVC2022'
|
||||
Features: ['Sccache', 'DebugAndRelease', 'OldestQt']
|
||||
Configure arguments: ''
|
||||
Environment variables: []
|
||||
Environment script: ['%ProgramFiles%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'amd64']
|
||||
-
|
||||
Template: 'qtci-windows-11_24H2-x86_64-71'
|
||||
Compiler: 'MSVC2022'
|
||||
Features: ['Sccache', 'DebugAndRelease', 'OldestQt', 'InsignificantTests']
|
||||
Configure arguments: ''
|
||||
Environment variables: []
|
||||
Environment script: ['%ProgramFiles%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'amd64']
|
||||
-
|
||||
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
|
||||
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'DebugAndRelease', 'OldestQt']
|
||||
Configure arguments: ''
|
||||
Environment variables: []
|
||||
-
|
||||
Template: 'qtci-macos-14-arm-106'
|
||||
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'DebugAndRelease', 'OldestQt', 'QtC18AndEarlier']
|
||||
Configure arguments: ''
|
||||
Environment variables: []
|
||||
-
|
||||
Template: 'qtci-macos-15-arm-104'
|
||||
Compiler: 'Clang'
|
||||
Features: ['Sccache', 'DebugAndRelease', 'OldestQt']
|
||||
Configure arguments: ''
|
||||
Environment variables: []
|
||||
# Tests GCC 11
|
||||
-
|
||||
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'DebugAndRelease', 'OldestQt']
|
||||
Configure arguments: ''
|
||||
Environment variables: []
|
||||
# license check
|
||||
-
|
||||
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
|
||||
|
||||
@@ -15,7 +15,7 @@ Configurations:
|
||||
# Test gcc-14 on Ubuntu 24.04 ARM64 Wayland
|
||||
-
|
||||
Id: 'ubuntu-24.04-arm64-gcc14'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-aarch64-52'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests']
|
||||
Configure arguments: '-developer-build -nomake examples -release -force-debug-info -headersclean -separate-debug-info -qt-pcre -no-libudev -bundled-xcb-xinput'
|
||||
|
||||
@@ -10,7 +10,8 @@ Include: [
|
||||
cmake_platforms_qemu_vxworks_buildtest_static.yaml,
|
||||
cmake_platforms_qemu_vxworks_tests_static.yaml,
|
||||
qtlite.yaml,
|
||||
qtbase-new-compiler-testing.yaml
|
||||
qtbase-new-compiler-testing.yaml,
|
||||
quick-bridges.yaml
|
||||
]
|
||||
Configurations: []
|
||||
Overrides:
|
||||
|
||||
@@ -7,7 +7,8 @@ Include: [
|
||||
cmake_platforms_static_tests.yaml,
|
||||
cmake_platforms_qemu_vxworks_buildtest_static.yaml,
|
||||
cmake_platforms_qemu_vxworks_tests_static.yaml,
|
||||
qtlite.yaml
|
||||
qtlite.yaml,
|
||||
quick-bridges.yaml
|
||||
]
|
||||
Configurations: []
|
||||
Overrides:
|
||||
|
||||
@@ -6,18 +6,18 @@ Configurations:
|
||||
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
||||
Compiler: 'GCC'
|
||||
Features: ['TestOnly']
|
||||
-
|
||||
Id: 'qtgp-on-linux-rhel_9_6'
|
||||
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
|
||||
Compiler: 'GCC'
|
||||
Features: ['TestOnly', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
|
||||
-
|
||||
Id: 'qtgp-on-macos'
|
||||
Template: 'qtci-macos-14-arm-106'
|
||||
Compiler: 'Clang'
|
||||
Features: ['TestOnly']
|
||||
-
|
||||
Id: 'qtgp-on-windows'
|
||||
Template: 'qtci-windows-11_23H2-x86_64-55'
|
||||
Compiler: 'MSVC2022'
|
||||
Features: ['TestOnly']
|
||||
-
|
||||
Id: 'qtgp-on-windows-24h2'
|
||||
Template: 'qtci-windows-11_24H2-x86_64-71'
|
||||
Compiler: 'MSVC2022'
|
||||
Features: ['TestOnly', 'InsignificantTests']
|
||||
Features: ['TestOnly']
|
||||
|
||||
@@ -4,7 +4,8 @@ Include: [
|
||||
address_sanitizer_platforms.yaml,
|
||||
integrity.yaml,
|
||||
cmake_platforms_qemu_vxworks_buildtest_static.yaml,
|
||||
cmake_platforms_qemu_vxworks_tests_static.yaml
|
||||
cmake_platforms_qemu_vxworks_tests_static.yaml,
|
||||
quick-bridges.yaml
|
||||
]
|
||||
Configurations: []
|
||||
Overrides:
|
||||
|
||||
@@ -4,6 +4,7 @@ Include: [
|
||||
address_sanitizer_platforms.yaml,
|
||||
integrity.yaml,
|
||||
cmake_platforms_qemu_vxworks_buildtest_static.yaml,
|
||||
cmake_platforms_qemu_vxworks_tests_static.yaml
|
||||
cmake_platforms_qemu_vxworks_tests_static.yaml,
|
||||
quick-bridges.yaml
|
||||
]
|
||||
Configurations: []
|
||||
|
||||
@@ -2,7 +2,7 @@ Version: 2
|
||||
Configurations:
|
||||
-
|
||||
Id: 'ubuntu-24.04-x86-static-qtlite'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests', 'MinimalStaticTests']
|
||||
Configure arguments: >
|
||||
@@ -224,7 +224,7 @@ Configurations:
|
||||
]
|
||||
-
|
||||
Id: 'ubuntu-24.04-x86-static-qtlite-tests'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'TestOnly','InsignificantTests']
|
||||
Platform dependency: 'ubuntu-24.04-x86-static-qtlite'
|
||||
|
||||
@@ -9,18 +9,14 @@ Include: [
|
||||
"ubuntu-22.04-developer-build",
|
||||
"ubuntu-24.04-arm64",
|
||||
"opensuse-15.6-developer-build",
|
||||
"sles-15_sp5-static",
|
||||
"sles-15_sp6-static",
|
||||
"windows-10_22h2-msvc2022",
|
||||
"rhel-8.10",
|
||||
"windows-10_22h2-mingw13",
|
||||
"windows-11_23H2-mingw13-developer-build",
|
||||
"windows-11_23H2-llvm",
|
||||
"windows-11_23H2-msvc2022",
|
||||
"windows-11_24h2-mingw13",
|
||||
"windows-11_24H2-mingw13-developer-build",
|
||||
"windows-11_24H2-llvm",
|
||||
"windows-11_24H2-msvc2022",
|
||||
"windows-11_22h2-arm64-msvc2022"
|
||||
"windows-11_23h2-arm64-msvc2022"
|
||||
],
|
||||
cmake_platforms_qemu_qnx710.yaml: [
|
||||
"qnx-710-x86_64-developer-build-on-linux",
|
||||
|
||||
@@ -10,18 +10,14 @@ Include: [
|
||||
"ubuntu-22.04-developer-build",
|
||||
"ubuntu-24.04-arm64",
|
||||
"opensuse-15.6-developer-build",
|
||||
"sles-15_sp5-static",
|
||||
"sles-15_sp6-static",
|
||||
"windows-10_22h2-msvc2022",
|
||||
"rhel-8.10",
|
||||
"windows-10_22h2-mingw13",
|
||||
"windows-11_23H2-mingw13-developer-build",
|
||||
"windows-11_23H2-llvm",
|
||||
"windows-11_23H2-msvc2022",
|
||||
"windows-11_24h2-mingw13",
|
||||
"windows-11_24H2-mingw13-developer-build",
|
||||
"windows-11_24H2-llvm",
|
||||
"windows-11_24H2-msvc2022",
|
||||
"windows-11_22h2-arm64-msvc2022"
|
||||
"windows-11_23h2-arm64-msvc2022"
|
||||
],
|
||||
cmake_platforms_qemu_qnx710.yaml: [
|
||||
"qnx-710-x86_64-developer-build-on-linux",
|
||||
@@ -54,7 +50,7 @@ Configurations:
|
||||
]
|
||||
-
|
||||
Id: 'Ubuntu-24.04-arm64_Static'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-aarch64-52'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Packaging', 'Sccache', 'UseConfigure', 'MinimalStaticTests']
|
||||
Configure arguments: '-static -no-icu -nomake examples -release -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput -no-sql-mysql'
|
||||
@@ -65,7 +61,7 @@ Configurations:
|
||||
]
|
||||
-
|
||||
Id: 'Windows-MSVC2022-arm64_Static'
|
||||
Template: 'qtci-windows-11_22H2-aarch64-54'
|
||||
Template: 'qtci-windows-11_23H2-aarch64-53'
|
||||
Compiler: 'MSVC2022'
|
||||
Features: ['Packaging', 'UseConfigure', 'MinimalStaticTests']
|
||||
Configure arguments: '-release -headersclean -nomake examples -qt-zlib -static -no-icu -no-sql-psql -no-opengl'
|
||||
|
||||
@@ -4,6 +4,7 @@ Include: [
|
||||
address_sanitizer_platforms.yaml,
|
||||
integrity.yaml,
|
||||
cmake_platforms_qemu_vxworks_buildtest_static.yaml,
|
||||
cmake_platforms_qemu_vxworks_tests_static.yaml
|
||||
cmake_platforms_qemu_vxworks_tests_static.yaml,
|
||||
quick-bridges.yaml
|
||||
]
|
||||
Configurations: []
|
||||
|
||||
@@ -4,6 +4,7 @@ Include: [
|
||||
address_sanitizer_platforms.yaml,
|
||||
integrity.yaml,
|
||||
cmake_platforms_qemu_vxworks_buildtest_static.yaml,
|
||||
cmake_platforms_qemu_vxworks_tests_static.yaml
|
||||
cmake_platforms_qemu_vxworks_tests_static.yaml,
|
||||
quick-bridges.yaml
|
||||
]
|
||||
Configurations: []
|
||||
|
||||
@@ -3,18 +3,4 @@ Include: [
|
||||
cmake_platforms.yaml,
|
||||
address_sanitizer_platforms.yaml
|
||||
]
|
||||
Configurations:
|
||||
# Test on Ubuntu 24.04 ARM64 Wayland
|
||||
-
|
||||
Id: 'ubuntu-24.04-arm64-developer-build-wayland-tests'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
|
||||
Compiler: 'GCC'
|
||||
Features: ['TestOnly', 'RunDependencyTests', 'InsignificantTests']
|
||||
Platform dependency: 'ubuntu-24.04-arm64-developer-build'
|
||||
# Test on Ubuntu 24.04 x64 Wayland
|
||||
-
|
||||
Id: 'ubuntu-24.04-x64-wayland-tests'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
|
||||
Compiler: 'GCC'
|
||||
Features: ['TestOnly', 'RunDependencyTests', 'InsignificantTests']
|
||||
Platform dependency: 'ubuntu-24.04-x64'
|
||||
Configurations: []
|
||||
|
||||
70
coin/platform_configs/quick-bridges.yaml
Normal file
70
coin/platform_configs/quick-bridges.yaml
Normal file
@@ -0,0 +1,70 @@
|
||||
Version: 2
|
||||
Configurations:
|
||||
-
|
||||
Id: 'macos-quick-bridges'
|
||||
Template: 'qtci-macos-15-arm-104'
|
||||
Compiler: 'Clang'
|
||||
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'Insignificant']
|
||||
Configure arguments: >
|
||||
-nomake examples
|
||||
-nomake tests
|
||||
-release
|
||||
-force-debug-info
|
||||
-separate-debug-info
|
||||
-optimize-size
|
||||
-shared
|
||||
-disable-deprecated-up-to 0x070000
|
||||
-no-feature-widgets
|
||||
-no-feature-sql
|
||||
-no-feature-printsupport
|
||||
-no-feature-dbus
|
||||
-no-feature-vnc
|
||||
-no-feature-picture
|
||||
-no-feature-pdf
|
||||
-no-feature-network
|
||||
Environment variables: []
|
||||
-
|
||||
Id: 'linux-quick-bridges'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'Insignificant']
|
||||
Configure arguments: >
|
||||
-nomake examples
|
||||
-nomake tests
|
||||
-release
|
||||
-force-debug-info
|
||||
-separate-debug-info
|
||||
-optimize-size
|
||||
-shared
|
||||
-disable-deprecated-up-to 0x070000
|
||||
-no-feature-widgets
|
||||
-no-feature-sql
|
||||
-no-feature-printsupport
|
||||
-no-feature-dbus
|
||||
-no-feature-vnc
|
||||
-no-feature-picture
|
||||
-no-feature-pdf
|
||||
Environment variables: []
|
||||
-
|
||||
Id: 'windows-quick-bridges'
|
||||
Template: 'qtci-windows-11_24H2-x86_64-71'
|
||||
Compiler: 'MSVC2022'
|
||||
Features: ['Packaging', 'Sccache', "DebugAndRelease", 'UseConfigure', 'DisableTests', 'Insignificant']
|
||||
Configure arguments: >
|
||||
-nomake examples
|
||||
-nomake tests
|
||||
-debug-and-release
|
||||
-force-debug-info
|
||||
-optimize-size
|
||||
-shared
|
||||
-disable-deprecated-up-to 0x070000
|
||||
-no-feature-widgets
|
||||
-no-feature-sql
|
||||
-no-feature-printsupport
|
||||
-no-feature-dbus
|
||||
-no-feature-vnc
|
||||
-no-feature-picture
|
||||
-no-feature-pdf
|
||||
Environment variables: [
|
||||
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON',
|
||||
]
|
||||
@@ -2,10 +2,9 @@ Version: 2
|
||||
Include: [
|
||||
cmake_platforms.yaml: [
|
||||
"documentation-warnings",
|
||||
"rhel-8.10",
|
||||
'windows-10_22h2-mingw13',
|
||||
'ubuntu-22.04-developer-build',
|
||||
'ubuntu-22.04-developer-build-x11-tests'
|
||||
"rhel-9.4",
|
||||
"rhel-9.6",
|
||||
'windows-11_24h2-mingw13',
|
||||
],
|
||||
macos.yaml: [
|
||||
'macos-universal-on-arm64'
|
||||
@@ -14,39 +13,71 @@ Include: [
|
||||
'android-arm64-on-macos',
|
||||
'android-armv7-on-windows',
|
||||
'android-9-x86-on-linux',
|
||||
'android-15-x86_64-on-linux'
|
||||
'android-16-x86_64-on-linux'
|
||||
],
|
||||
offline_documentation.yaml
|
||||
]
|
||||
Configurations:
|
||||
-
|
||||
Id: "automotive-android-14-x86_64-on-linux"
|
||||
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
|
||||
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
||||
Target os: 'Android_ANY'
|
||||
Target arch: 'x86_64'
|
||||
Compiler: 'GCC'
|
||||
Target compiler: 'Clang'
|
||||
Platform dependency: 'rhel-8.10'
|
||||
Platform dependency: 'rhel-9.4'
|
||||
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'
|
||||
]
|
||||
-
|
||||
Id: "automotive-android-10-x86_64-on-linux"
|
||||
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
|
||||
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
||||
Target os: 'Android_ANY'
|
||||
Target arch: 'x86_64'
|
||||
Compiler: 'GCC'
|
||||
Target compiler: 'Clang'
|
||||
Platform dependency: 'rhel-8.10'
|
||||
Platform dependency: 'rhel-9.4'
|
||||
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'
|
||||
]
|
||||
-
|
||||
Id: "automotive-android-14-x86_64-on-linux-rhel_9_6"
|
||||
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
|
||||
Target os: 'Android_ANY'
|
||||
Target arch: 'x86_64'
|
||||
Compiler: 'GCC'
|
||||
Target compiler: 'Clang'
|
||||
Platform dependency: 'rhel-9.6'
|
||||
Features: ['Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
|
||||
Environment variables: [
|
||||
'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'
|
||||
]
|
||||
-
|
||||
Id: "automotive-android-10-x86_64-on-linux-rhel_9_6"
|
||||
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
|
||||
Target os: 'Android_ANY'
|
||||
Target arch: 'x86_64'
|
||||
Compiler: 'GCC'
|
||||
Target compiler: 'Clang'
|
||||
Platform dependency: 'rhel-9.6'
|
||||
Features: ['Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
|
||||
Environment variables: [
|
||||
'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'
|
||||
|
||||
64
coin/platform_configs/tqtc-qtbridges.yaml
Normal file
64
coin/platform_configs/tqtc-qtbridges.yaml
Normal file
@@ -0,0 +1,64 @@
|
||||
Version: 2
|
||||
Include: [
|
||||
quick-bridges.yaml: [
|
||||
"macos-quick-bridges",
|
||||
"linux-quick-bridges",
|
||||
"windows-quick-bridges"
|
||||
]
|
||||
]
|
||||
Configurations:
|
||||
-
|
||||
Id: 'windows-quick-bridges-dotnet'
|
||||
Template: 'qtci-windows-11_24H2-x86_64-71'
|
||||
Compiler: 'MSVC2022'
|
||||
Platform dependency: 'windows-quick-bridges'
|
||||
Features: ['Packaging', 'Sccache', "DebugAndRelease", 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesDotnet']
|
||||
|
||||
-
|
||||
Id: 'windows-quick-bridges-rust'
|
||||
Template: 'qtci-windows-11_24H2-x86_64-71'
|
||||
Compiler: 'MSVC2022'
|
||||
Platform dependency: 'windows-quick-bridges'
|
||||
Features: ['Packaging', 'Sccache', "DebugAndRelease", 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesRust']
|
||||
|
||||
-
|
||||
Id: 'linux-quick-bridges-python'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
||||
Compiler: 'GCC'
|
||||
Platform dependency: 'linux-quick-bridges'
|
||||
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesPython']
|
||||
|
||||
-
|
||||
Id: 'linux-quick-bridges-java'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
||||
Compiler: 'GCC'
|
||||
Platform dependency: 'linux-quick-bridges'
|
||||
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'RunAsPlatformDependency', 'QtBridgesJava']
|
||||
|
||||
-
|
||||
Id: 'linux-quick-bridges-rust'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
||||
Compiler: 'GCC'
|
||||
Platform dependency: 'linux-quick-bridges'
|
||||
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'RunAsPlatformDependency', 'QtBridgesRust']
|
||||
|
||||
-
|
||||
Id: 'macos-quick-bridges-java'
|
||||
Template: 'qtci-macos-15-arm-104'
|
||||
Compiler: 'Clang'
|
||||
Platform dependency: 'macos-quick-bridges'
|
||||
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesJava']
|
||||
|
||||
-
|
||||
Id: 'macos-quick-bridges-python'
|
||||
Template: 'qtci-macos-15-arm-104'
|
||||
Compiler: 'Clang'
|
||||
Platform dependency: 'macos-quick-bridges'
|
||||
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesPython']
|
||||
|
||||
-
|
||||
Id: 'macos-quick-bridges-swift'
|
||||
Template: 'qtci-macos-15-arm-104'
|
||||
Compiler: 'Clang'
|
||||
Platform dependency: 'macos-quick-bridges'
|
||||
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesSwift']
|
||||
0
coin/pre-provisioning/qtci-linux-RHEL-9.2-x86_64/01-disable-automounting.sh
Normal file → Executable file
0
coin/pre-provisioning/qtci-linux-RHEL-9.2-x86_64/01-disable-automounting.sh
Normal file → Executable file
0
coin/pre-provisioning/qtci-linux-RHEL-9.4-x86_64/01-disable-automounting.sh
Normal file → Executable file
0
coin/pre-provisioning/qtci-linux-RHEL-9.4-x86_64/01-disable-automounting.sh
Normal file → Executable file
13
coin/pre-provisioning/qtci-linux-RHEL-9.6-x86_64/01-disable-automounting.sh
Executable file
13
coin/pre-provisioning/qtci-linux-RHEL-9.6-x86_64/01-disable-automounting.sh
Executable file
@@ -0,0 +1,13 @@
|
||||
#!/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
|
||||
|
||||
set -ex
|
||||
|
||||
sudo tee -a /etc/dconf/db/local.d/00-media-automount <<"EOF"
|
||||
[org/gnome/desktop/media-handling]
|
||||
automount=false
|
||||
automount-open=false
|
||||
EOF
|
||||
|
||||
sudo dconf update
|
||||
@@ -0,0 +1,64 @@
|
||||
### RHEL 9.6 ###
|
||||
|
||||
Language: English (United States)
|
||||
|
||||
# Installation Summary #
|
||||
|
||||
Keyboard: English (US), Norwegian (Windows), Finnish (Windows)
|
||||
Language Support: English (United States)
|
||||
Time & Date: Etc/Coordinated Universal Time
|
||||
|
||||
Connect to Red Hat: Registered
|
||||
Installation Source: Local media
|
||||
Software Selection: Server with GUI
|
||||
|
||||
Installation Destination: Automatic partitioning selected
|
||||
KDUMP enabled: Memory Reservation: automatic
|
||||
Network & Host Name: Connected
|
||||
Security Profile: No profile selected
|
||||
|
||||
Root Password: set
|
||||
User Creation: set. Make this user administrator. Require password.
|
||||
|
||||
# Configure Settings
|
||||
Notifications:
|
||||
* Lock Screen Notifications: OFF
|
||||
* Applications: Set notification off
|
||||
* Do Not Disturb: on
|
||||
Applications:
|
||||
* Disable notifications from all applications
|
||||
Privacy:
|
||||
* Blank Screen Delay: Never
|
||||
* Screen Lock: OFF
|
||||
Power:
|
||||
* Blank screen: Never
|
||||
Displays:
|
||||
* Resolution: 1280 x 800
|
||||
Users:
|
||||
* Automatic login on
|
||||
# Add user to sudoers
|
||||
Add 'qt ALL=NOPASSWD: ALL' to /etc/sudoers.d/qt
|
||||
Add 'GRUB_GFXMODE=1280x800' to /etc/default/grub
|
||||
sudo grub2-mkconfig -o /etc/grub2.cfg
|
||||
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
|
||||
# Add support for virtio driver
|
||||
su
|
||||
echo "add_drivers+=\" virtio-blk \"" >> /etc/dracut.conf.d/virtio.conf
|
||||
dracut -f
|
||||
|
||||
yum -y install qemu-guest-agent
|
||||
|
||||
# Do these from Opennebula UI!
|
||||
|
||||
# Enable network connection from right upper corner
|
||||
This is done when the VM is launched as persistent in OpenNebula.
|
||||
# Fetch and run coin-setup
|
||||
Download http://coin/coin/binary/linux_amd64/coin-setup
|
||||
# run as qt user
|
||||
run './coin-setup'
|
||||
# Switch to use GNOME Classic user interface
|
||||
# GNOME Classic was selected because there's an issue with Starndard (wayland display server). Autotest start failing because terminal session remains in Activities Overview.
|
||||
# https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3854
|
||||
First execute script ./01-disable-automounting.sh (dconf update crash in GNOME Classic)
|
||||
logout -> Select user (without it the drop down menu won't appear) -> switch to 'GNOME Classic' from drop down menu in login screen
|
||||
Reboot
|
||||
@@ -80,3 +80,10 @@ chmod 755 ./coin-setup
|
||||
run ./coin-setup
|
||||
|
||||
sudo reboot now
|
||||
|
||||
# Select login session type
|
||||
After reboot into user qt:
|
||||
- log out
|
||||
- select session type "Gnome Classic" in session selector on the login sreen (gear wheel on bottom right)
|
||||
- reboot again with sudo reboot now
|
||||
- verify that auto login lands in normal desktop
|
||||
|
||||
@@ -36,6 +36,8 @@ Connect Your Online Accounts: Skip
|
||||
Software & Updates:
|
||||
* Updates:
|
||||
* Subscribed to: Security updates only
|
||||
* With 24.04.2:
|
||||
Security and recommended updates --> to pass provisioning
|
||||
* Automatically check for updates: Never
|
||||
* Notify me of a new Ubuntu version: Never
|
||||
|
||||
|
||||
@@ -53,6 +53,17 @@ run 'sudo ufw disable'
|
||||
|
||||
run 'sudo apt install qemu-guest-agent'
|
||||
|
||||
# Install no-overview gnome extension to prevent desktop overview at boot (QTBUG-132070)
|
||||
# - https://extensions.gnome.org/extension/4099/no-overview/
|
||||
# - Select GNOME Shell version 46 to download
|
||||
# - Unpack extension to (mkdir): /usr/share/gnome-shell/extensions/no-overview@fthx
|
||||
sudo chown -R root /usr/share/gnome-shell/extensions/no-overview@fthx
|
||||
sudo chmod 755 -R /usr/share/gnome-shell/extensions/no-overview@fthx
|
||||
sudo reboot
|
||||
gnome-extensions list
|
||||
gnome-extensions enable no-overview@fthx
|
||||
gnome-extensions info no-overview@fthx # Check for "Active"
|
||||
|
||||
# Fetch and run coin-setup (in Opennebula)
|
||||
Download http://coin/coin/binary/linux_amd64/coin-setup
|
||||
run 'chmod +x ./coin-setup' to make it executable
|
||||
|
||||
@@ -0,0 +1,90 @@
|
||||
# Follow manual pre-setup from intra to install Windows 11 ARM and virtio drivers:
|
||||
# "How to create a Windows 11 ARM tier1 image using Qemu"
|
||||
|
||||
# Configure Windows after pre-setup
|
||||
* Enable Remote Desktop:
|
||||
- Settings - System - Remote Desktop - On
|
||||
- Note: Display settings cannot be changed by remote
|
||||
* Resolution set to 1280x800
|
||||
- System > Display > Custom scaling > Advanced display
|
||||
- 1024 x 768 is unchangable by default
|
||||
* Coin-setup:
|
||||
- Download from https://[Coin_IP_from_build_logs]/coin/setup --> Windows Setup ARM64 .exe
|
||||
- Open PowerShell as Administrator
|
||||
- Run Windows Setup ARM64 .exe
|
||||
- Verify from output that all these are OK
|
||||
- Installing Boostrap agent
|
||||
- Disabling fast boot
|
||||
- Disabling firewall
|
||||
- Disabling UAC
|
||||
- Enabling autologin
|
||||
- Automatic login
|
||||
- Disabling windows updates
|
||||
* Turn off Windows defender:
|
||||
- Microsoft Defender Antivirus turned off: Open 'gpedit.msc': 'Computer Configuration' - 'Administrative Templates' - 'Windows Components' - 'Microsoft Defender Antivirus'
|
||||
- Edit 'Turn off Microsoft Defender Antivirus' > 'Enabled' > 'Apply'
|
||||
- Reboot on Safe mode:
|
||||
- Open msconfig - Boot tab - enable “Safe boot“ - apply - restart
|
||||
- In Safe mode:
|
||||
- Take Ownership of Defender:
|
||||
- Open properties - Right click "C:\Program Files\Windows Defender\Platform" and select 'Properties'
|
||||
- Open Security tab - Advanced - Owner: Change - Advanced - Find now - Select Administrators - Ok - Ok - Apply
|
||||
- Close 'Platform Properties' window for actions to take effect and open 'Properties' again
|
||||
- This should get 'Disable inheritance' available for the next step
|
||||
- Remove all Permissions: Permissions tab - Select 'Disable inheritance'
|
||||
- Remove all entries
|
||||
-Select 'Remove all inherited permissions from this object'
|
||||
-Select 'Replace all child object permi…' - Apply
|
||||
- Disable Windows defender also from RegEdit:
|
||||
- Open regedit - Navigate to 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services'
|
||||
- Change the following folders the key Start to 4
|
||||
- Sense (Windows defender advanced threat protection)
|
||||
- WdBoot (Windows defender boot)
|
||||
- WdFilter (Microsoft antimalware file system filter driver)
|
||||
- WdNisDrv (Windows Defender Network Inspection Driver)
|
||||
- WdNisSvc (Windows Defender Network Inspection Service)
|
||||
- WinDefend (Windows Defender Antivirus Service)
|
||||
- mpssvc (Windows Defender Firewall)
|
||||
- NOTE! Without these step windows defender can't be disabled!
|
||||
- Reboot back to normal mode
|
||||
* Background defrag disabled: 'Defragment And Optimize Drives' - 'change settings' - unchecked "run on a schedule"
|
||||
- Run in terminal: 'schtasks /Delete /TN "Microsoft\Windows\Defrag\ScheduledDefrag"'
|
||||
- (Running optimize drivers doesn't seem to fix the status, if there's a 10% space optimization recommended)
|
||||
* Time:
|
||||
- Settings - System - Date & time - Time zone: '(UTC) Coordinated Universal Time'
|
||||
- Settings - System - Date & time - "Set the time automatically: Off"
|
||||
* Regional format:
|
||||
- Settings - Time & language - Language and region - regional format - English (United States)
|
||||
* Power saver:
|
||||
- Settings - System - Power - Screen and sleep: set 'When plugged in, turn off my screen after' to 'never'
|
||||
* Windows search disabled:
|
||||
- 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\Services' - 'Windows search' - stop & disable
|
||||
* Sysmain disabled:
|
||||
- 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\Services' - 'SysMain' - stop & disable
|
||||
* Windows update:
|
||||
- Settings - Windows Update - run available updates
|
||||
- (Windows update2025-06 Cumulative Update for Windows 11 Version 23H2 for arm64-based Systems (KB5060999))
|
||||
- After reboot disable windows updates:
|
||||
- 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\Services' - 'Windows update' - stop & disable
|
||||
* Turn windows features on or off -> Check the "SMB 1.0/CIFS File Sharing Support"
|
||||
* Disable Windows Restore Points: Search 'Create a restore point' -> 'System Protection' tab -> Configure C: drive -> Disable & Delete restore points.
|
||||
* Disable widgets: Right click the task bar -> 'Taskbar settings' -> toggle off anything related to widgets.
|
||||
* (Restart Windows: shutdown /r)
|
||||
* Google Chrome installed for RTA
|
||||
* Virus & threat protection settings:
|
||||
* Check that there's no active antivirus providers
|
||||
* Run .NET runtime optimization service: open terminal and run:
|
||||
Start-Process -NoNewWindow -FilePath "C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\ngen.exe" -ArgumentList ExecuteQueuedItems -Wait
|
||||
- It may be needed to rerun after installing Visual Studio. Just run it until it prints:
|
||||
"All compilation targets are up to date."
|
||||
* Activate Windows
|
||||
|
||||
# Next
|
||||
Install Visual Studio 2022 by following msvc2022.txt
|
||||
|
||||
Proceed to install pre-provisioning scripts manually to Tier1 image
|
||||
* Copying scripts happens easiest via Remote Desktop
|
||||
* Ensure to have sourced scripts e.g. helpers.ps1 included
|
||||
* If running scripts is restricted: Use these to allow scripts in Tier1
|
||||
* Get-ExecutionPolicy -List # To check the status
|
||||
* Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
|
||||
@@ -0,0 +1,8 @@
|
||||
# This script will disable automatic disk cleanup
|
||||
|
||||
. "$PSScriptRoot\..\..\provisioning\common\windows\helpers.ps1"
|
||||
|
||||
Run-Executable "reg.exe" "ADD `"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy`" /V 04 /T REG_dWORD /D 0 /F"
|
||||
|
||||
# Maintenance task used by the system to launch a silent auto disk cleanup when running low on free disk space.
|
||||
DisableSchedulerTask "DiskCleanup\SilentCleanup"
|
||||
@@ -0,0 +1,42 @@
|
||||
# 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
|
||||
|
||||
# Windows 7 does not have Get-ScheduledTask and Unregister-ScheduledTask
|
||||
# thus needing its own version.
|
||||
Write-Host "Disabling defragmentation"
|
||||
$version = Get-CimInstance Win32_OperatingSystem | Select-Object -ExpandProperty Caption
|
||||
if ($version -like '*Windows 7*'){
|
||||
$pi = New-Object System.Diagnostics.ProcessStartInfo
|
||||
$pi.FileName = "C:\Windows\System32\schtasks.exe"
|
||||
$pi.RedirectStandardError = $true
|
||||
$pi.UseShellExecute = $false
|
||||
$pi.Arguments = "/Delete /TN `"\Microsoft\Windows\Defrag\ScheduledDefrag`" /F"
|
||||
$prog = New-Object System.Diagnostics.Process
|
||||
$prog.StartInfo = $pi
|
||||
$prog.Start() | Out-Null
|
||||
$err = $prog.StandardError.ReadToEnd()
|
||||
$prog.WaitForExit()
|
||||
if ($prog.ExitCode -eq 0){
|
||||
Write-Host "Scheduled defragmentation removed"
|
||||
} else {
|
||||
if ($err -like '*cannot find the file*'){
|
||||
Write-Host "No scheduled defragmentation task found"
|
||||
exit 0
|
||||
} else {
|
||||
Write-Host "Error while deleting scheduled defragmentation task: $err"
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
try {
|
||||
$state = (Get-ScheduledTask -ErrorAction Stop -TaskName "ScheduledDefrag").State
|
||||
Write-Host "Scheduled defragmentation task found in state: $state"
|
||||
}
|
||||
catch {
|
||||
Write-Host "No scheduled defragmentation task found"
|
||||
exit 0
|
||||
}
|
||||
Write-Host "Unregistering scheduled defragmentation task"
|
||||
Unregister-ScheduledTask -ErrorAction Stop -Confirm:$false -TaskName ScheduledDefrag
|
||||
Write-Host "Scheduled Defragmentation task was cancelled"
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
. "$PSScriptRoot\..\..\provisioning\common\windows\helpers.ps1"
|
||||
|
||||
# Disable the NTP from syncing
|
||||
Run-Executable "w32tm.exe" "/config /syncfromflags:NO"
|
||||
@@ -0,0 +1,72 @@
|
||||
. "$PSScriptRoot\..\..\provisioning\common\windows\helpers.ps1"
|
||||
|
||||
# This script will remove unneeded Tasks from Task Scheduler
|
||||
|
||||
# Application Experience 'Microsoft Compatibility Appraiser' - "Collects program telemetry information if opted-in to the Microsoft Customer Experience Improvement Program."
|
||||
DisableSchedulerTask "Application Experience\Microsoft Compatibility Appraiser"
|
||||
|
||||
# Application Experience 'ProgramDataUpdater' - "Collects program telemetry information if opted-in to the Microsoft Customer Experience Improvement Program"
|
||||
DisableSchedulerTask "Application Experience\ProgramDataUpdater"
|
||||
|
||||
# Autochk 'Proxy' - "This task collects and uploads autochk SQM data if opted-in to the Microsoft Customer Experience Improvement Program."
|
||||
DisableSchedulerTask "Autochk\Proxy"
|
||||
|
||||
# Chkdsk 'ProactiveScan' - "NTFS Volume Health Scan"
|
||||
DisableSchedulerTask "Chkdsk\ProactiveScan"
|
||||
|
||||
# Chkdsk 'SyspartRepair'
|
||||
DeleteSchedulerTask "Chkdsk\SyspartRepair"
|
||||
|
||||
# Customer Experience Improvement Program 'Consolidator' - "If the user has consented to participate in the Windows Customer Experience Improvement Program, this job collects and sends usage data to Microsoft."
|
||||
DisableSchedulerTask "Customer Experience Improvement Program\Consolidator"
|
||||
|
||||
# Customer Experience Improvement Program 'sbCeip' - "The USB CEIP (Customer Experience Improvement Program) task collects Universal Serial Bus related statistics and information about your machine and sends it to the Windows Device Connectivity engineering group at Microsoft. The information received is used to help improve the reliability, stability, and overall functionality of USB in Windows. If the user has not consented to participate in Windows CEIP, this task does not do anything."
|
||||
DisableSchedulerTask "Customer Experience Improvement Program\UsbCeip"
|
||||
|
||||
# Device Information 'Device'
|
||||
DisableSchedulerTask "Device Information\Device"
|
||||
|
||||
# Diagnosis 'Scheduled' - "The Windows Scheduled Maintenance Task performs periodic maintenance of the computer system by fixing problems automatically or reporting them through Security and Maintenance."
|
||||
DisableSchedulerTask "Diagnosis\Scheduled"
|
||||
|
||||
# DiskDiagnostic 'Microsoft-Windows-DiskDiagnosticDataCollector' - "The Windows Disk Diagnostic reports general disk and system information to Microsoft for users participating in the Customer Experience Program."
|
||||
DisableSchedulerTask "DiskDiagnostic\Microsoft-Windows-DiskDiagnosticDataCollector"
|
||||
|
||||
# ExploitGuard 'ExploitGuard MDM policy Refresh' - "Task for applying changes to the machine's Exploit Protection settings."
|
||||
DisableSchedulerTask "ExploitGuard\ExploitGuard MDM policy Refresh"
|
||||
|
||||
# Feedback/Siuf 'DmClient'
|
||||
DisableSchedulerTask "Feedback\Siuf\DmClient"
|
||||
|
||||
# Feedback/Siuf 'DmClient'OnScenarioDownload'
|
||||
DisableSchedulerTask "Feedback\Siuf\DmClientOnScenarioDownload"
|
||||
|
||||
# File Classification Infrastructure 'Property Definition Sync'
|
||||
DisableSchedulerTask "File Classification Infrastructure\Property Definition Sync"
|
||||
|
||||
# InstallService 'ScanForUpdates'
|
||||
DisableSchedulerTask "InstallService\ScanForUpdates"
|
||||
|
||||
# InstallService 'ScanForUpdatesAsUser'
|
||||
DisableSchedulerTask "InstallService\ScanForUpdatesAsUser"
|
||||
|
||||
# LanguageComponentsInstaller 'Installation' - "Install language components that match the user's language list."
|
||||
DisableSchedulerTask "LanguageComponentsInstaller\Installation"
|
||||
|
||||
# LanguageComponentsInstaller 'ReconcileLanguageResources' - "Install language components that match the user's language list."
|
||||
DisableSchedulerTask "LanguageComponentsInstaller\ReconcileLanguageResources"
|
||||
|
||||
# PI 'Secure-Boot-Update' - "This task updates the Secure Boot variables."
|
||||
DisableSchedulerTask "PI\Secure-Boot-Update"
|
||||
|
||||
# PI 'Sqm-Tasks' - "This task gathers information about the Trusted Platform Module (TPM), Secure Boot, and Measured Boot."
|
||||
DisableSchedulerTask "PI\Sqm-Tasks"
|
||||
|
||||
# Power Efficiency Diagnotics 'AnalyzeSystem' - "This task analyzes the system looking for conditions that may cause high energy use."
|
||||
DisableSchedulerTask "PushToInstall\Registration"
|
||||
|
||||
# Servicing 'StartComponentCleanup'
|
||||
DisableSchedulerTask "Servicing\StartComponentCleanup"
|
||||
|
||||
# SoftwareProtectionPlatform 'SvcRestartTaskNetwork' - "This task restarts the Software Protection Platform service when a new network is detected"
|
||||
DisableSchedulerTask "SoftwareProtectionPlatform\SvcRestartTaskNetwork"
|
||||
@@ -0,0 +1,4 @@
|
||||
# Disable Smart app control
|
||||
# Smart app control makes installations extremely slow after defender is disabled.
|
||||
reg.exe ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CI\Policy" /V VerifiedAndReputablePolicyState /T REG_dWORD /D 0 /F
|
||||
# Verify: Settings -> Privacy & security -> Windows security -> App & browser control -> Smart App Control settings -> Off
|
||||
@@ -0,0 +1,13 @@
|
||||
# Disable UpdateOrchestrator
|
||||
|
||||
$name = "UpdateOrchestrator"
|
||||
$path = "C:\Windows\System32\Tasks\Microsoft\Windows\$name"
|
||||
|
||||
takeown /F $path /A /R
|
||||
icacls $path /grant Administrators:F /T
|
||||
del "$path\Schedule Scan"
|
||||
del "$path\Schedule Scan Static Task"
|
||||
del "$path\USO_UxBroker"
|
||||
|
||||
# Disable Update orchestrator service
|
||||
reg.exe ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsoSvc" /V Start /T REG_dWORD /D 4 /F
|
||||
@@ -0,0 +1,21 @@
|
||||
# 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
|
||||
|
||||
# Turning off win defender.
|
||||
#
|
||||
# If disabled manually, windows will automatically enable it after
|
||||
# some period of time. Disabling it speeds up the builds.
|
||||
# NOTE! Windows Defender Antivirus needs to be turned off!
|
||||
# Open 'gpedit.msc': 'Computer Configuration' - 'Administrative Templates' - 'Windows Components' - 'Windows Defender Antivirus'
|
||||
# Edit 'Turn off Windows Defender Antivirus' > 'Enabled' > 'Apply'
|
||||
|
||||
. "$PSScriptRoot\..\..\provisioning\common\windows\helpers.ps1"
|
||||
|
||||
Run-Executable "reg.exe" "ADD `"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender`" /V DisableAntiSpyware /T REG_dWORD /D 1 /F"
|
||||
Run-Executable "reg.exe" "ADD `"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender`" /V DisableRoutinelyTakingAction /T REG_dWORD /D 1 /F"
|
||||
|
||||
# Disable 'QueueReporting' - "Windows Error Reporting task to process queued reports."
|
||||
DisableSchedulerTask "Windows Error Reporting\QueueReporting"
|
||||
|
||||
# Disable WindowsUpdate from Task Scheduler
|
||||
DisableSchedulerTask "WindowsUpdate\Scheduled Start"
|
||||
@@ -0,0 +1,4 @@
|
||||
# Disable Windows File Protection
|
||||
# Windows File Protection feature in Microsoft Windows prevents programs from replacing critical Windows system files.
|
||||
|
||||
reg.exe ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /V SFCDisable /T REG_dWORD /D 0xffffff9d /F
|
||||
@@ -0,0 +1,25 @@
|
||||
# Windows Update Medic Service (WaaSMedicSvc)'PerformRemediation' helps recover update-related services to the supported configuration.
|
||||
# WaasMedicSvc keeps re-starting Windows Update, even if it disabled manually.
|
||||
# Even Admin user don't have privileged to disable PerformRemediation from Task Scheduler which means that WaaSMedicSvc.dll need's to be removed from the system
|
||||
|
||||
$limit = (Get-Date).AddMinutes(20)
|
||||
$path = "C:\Windows\System32\WaaSMedicSvc.dll"
|
||||
|
||||
DO {
|
||||
takeown /F $path
|
||||
icacls $path /grant Administrators:f
|
||||
Write-host "Deleting $path"
|
||||
|
||||
Try {
|
||||
del $path
|
||||
}
|
||||
Catch [System.UnauthorizedAccessException] {
|
||||
Write-host "Access to the path '$path' is denied."
|
||||
Continue
|
||||
}
|
||||
|
||||
if ((Get-Date) -gt $limit) {
|
||||
exit 1
|
||||
}
|
||||
|
||||
}while (Test-Path -Path "$path")
|
||||
@@ -0,0 +1,24 @@
|
||||
# Copyright (C) 2017 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 disables the automatic Windows updates
|
||||
|
||||
$service = get-service wuauserv
|
||||
if (-not $service) {
|
||||
Write-Host "Windows Update service not found."
|
||||
exit 0
|
||||
}
|
||||
|
||||
if ($service.Status -eq "Stopped") {
|
||||
Write-Host "Windows Update service already stopped."
|
||||
} else {
|
||||
Write-Host "Stopping Windows Update service."
|
||||
Stop-Service -Name "wuauserv" -Force
|
||||
}
|
||||
|
||||
$startup = Get-WmiObject Win32_Service | Where-Object {$_.Name -eq "wuauserv"} | Select -ExpandProperty "StartMode"
|
||||
if ($startup -ne "Disabled") {
|
||||
set-service wuauserv -startup disabled
|
||||
} else {
|
||||
Write-Host "Windows Update service startup already disabled."
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
### Visual Studio Professional 2022 Official release ###
|
||||
Visual Studio Professional 2022 version 17.14.7 was installed manually using installer: http://ci-files01-hki.ci.qt.io/input/windows/vs_professional__msvc2022_1339502178.1525841376.exe
|
||||
This VS installer 17.14.7 version sets (Latest) MSVC version as: 14.44.35207
|
||||
|
||||
Installed MSVC-2022 Components:
|
||||
|
||||
.NET Framework 4.8.1 targeting pack
|
||||
.NET Framework 4.8.1 SDK
|
||||
.NET Framework 4.8 targeting pack
|
||||
.NET Framework 4.8 SDK
|
||||
.NET Native
|
||||
.NET Portable Library targeting pack
|
||||
CLR data types for SQL Server
|
||||
Data sources for SQL Server support
|
||||
SQL Server Command Linne Utilities
|
||||
SQL Server Data Tools
|
||||
SQL Server Express 2019 LocalDB
|
||||
SQL Server ODBC Driver
|
||||
ClickOnce Publishing
|
||||
Developer Analytics tools
|
||||
NuGet package manager
|
||||
Text Template Transformation
|
||||
C# and Visual Basic Roslyn compilers
|
||||
C++ 2022 Redistributable Update
|
||||
C++ Cmake tools for Windows
|
||||
C++/CLI support for v143 build tools (14.44-17.14)
|
||||
C++/CLI support for v143 build tools (Latest)
|
||||
MSBuild
|
||||
MSVC v143 - VS 2022 C++ ARM64/ARM64EC build tools (Latest)
|
||||
MSVC v143 - VS 2022 C++ ARM64/ARM64EC build tools (v14.44-17.14)
|
||||
.NET profiling tools
|
||||
C++ profiling tools
|
||||
JavaScript diagnostics
|
||||
Just-In-Time debugger
|
||||
C# and Visual Basic
|
||||
C++ core features
|
||||
JavaScript and TypeScript language support
|
||||
Razor Language Services
|
||||
Image and 3D model editors
|
||||
C++ ATL for latest v143 build tools (ARM)
|
||||
C++ ATL for latest v143 build tools (ARM64/ARM64EC)
|
||||
TypeScript Server
|
||||
Windows 10 SDK (10.0.18362.0)
|
||||
Windows 10 SDK (10.0.19041.0)
|
||||
Windows 10 SDK (10.0.20348.0)
|
||||
Windows 11 SDK (10.0.22000.0)
|
||||
Windows 11 SDK (10.0.22621.0)
|
||||
Windows 11 SDK (10.0.26100.3916) # This was available --> installed for COIN-1206 (see later comment)
|
||||
Windows Universal C Runtime
|
||||
|
||||
Windows SDK (10.0.26100.1742) has been earlier downloaded for WoA 22h2 and installed from:
|
||||
https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/
|
||||
# COIN-1206
|
||||
|
||||
These Components were not found for WoA:
|
||||
|
||||
Connectivity and publishing tools
|
||||
Graphics debugger and GPU profiler for DirectX
|
||||
TypeScript 4.7 SDK
|
||||
|
||||
# NOTE! Workloads were added during installation!
|
||||
|
||||
############################################################
|
||||
### Visual Studio 2022 build tools ###
|
||||
|
||||
Visual studio 2022 build tools version 17.14.7 was installed manually using installer: "http://ci-files01-hki.ci.qt.io/input/windows/vs_BuildTools_msvc2022.exe"
|
||||
* Only default installation, no additional selections
|
||||
|
||||
# NOTE! Installing Visual Studio on ARM-powered device is not supported
|
||||
* Otherwise Visual Studio might be slow or unusable
|
||||
* Installer recommends "remote targeting" which is suitable for cross-platform development
|
||||
* VS 2022 build tools has been installed as it is - VS has ARM support since 17.4, but not full support with some workloads
|
||||
* https://learn.microsoft.com/en-us/visualstudio/install/visual-studio-on-arm-devices?view=vs-2022#supported-workloads
|
||||
|
||||
############################################################
|
||||
### Debugging tools ###
|
||||
|
||||
* Check that debugging tools are installed in all installed Windows SDK versions
|
||||
* Modify 'Windows Software Development Kit - Windows <version number>' from 'Add or remove programs'
|
||||
- Add feature 'Debugging Tools for Windows'
|
||||
############################################################
|
||||
@@ -4,12 +4,12 @@ plugins {
|
||||
|
||||
android {
|
||||
namespace 'com.example.gradle_project'
|
||||
compileSdk 35
|
||||
compileSdk 36
|
||||
|
||||
defaultConfig {
|
||||
applicationId "com.example.gradle_project"
|
||||
minSdk 28
|
||||
targetSdk 35
|
||||
targetSdk 36
|
||||
versionCode 1
|
||||
versionName "1.0"
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
android:allowBackup="true"
|
||||
android:label="gradle_project"
|
||||
android:supportsRtl="true"
|
||||
tools:targetApi="34">
|
||||
tools:targetApi="35">
|
||||
<activity
|
||||
android:name=".MainActivity"
|
||||
android:exported="true">
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
[versions]
|
||||
agp = "8.8.0"
|
||||
core = "1.13.1"
|
||||
appcompat = "1.6.1"
|
||||
material = "1.11.0"
|
||||
constraintlayout = "2.1.4"
|
||||
agp = "8.10.1"
|
||||
core = "1.16.0"
|
||||
appcompat = "1.7.1"
|
||||
material = "1.12.0"
|
||||
constraintlayout = "2.2.1"
|
||||
|
||||
[libraries]
|
||||
core = { group = 'androidx.core', name = "core", version.ref = "core" }
|
||||
|
||||
@@ -7,15 +7,65 @@
|
||||
|
||||
set -e
|
||||
|
||||
function print_help {
|
||||
echo "Usage: [ANDROID_EMULATOR=<name>] $0 [--avd <name>] [--window] [--help]"
|
||||
echo ""
|
||||
echo "This script launches the Android emulator on Qt CI."
|
||||
echo ""
|
||||
echo "Options:"
|
||||
echo " --avd <name> Set the AVD name to launch (overrides ANDROID_EMULATOR env var)"
|
||||
echo " --window Show the emulator window (default is headless via -no-window)"
|
||||
echo " --help Show this help message"
|
||||
echo ""
|
||||
}
|
||||
|
||||
WINDOW_ARG="-no-window"
|
||||
AVD_NAME_ARG=""
|
||||
while [ $# -gt 0 ]; do
|
||||
arg="$1"
|
||||
case "$arg" in
|
||||
--help)
|
||||
print_help
|
||||
exit 0
|
||||
;;
|
||||
--window)
|
||||
WINDOW_ARG=""
|
||||
shift
|
||||
;;
|
||||
--avd)
|
||||
if [ -n "$2" ]; then
|
||||
AVD_NAME_ARG="$2"
|
||||
shift 2
|
||||
else
|
||||
echo "Error: --avd requires an argument"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
EMULATOR_MAX_RETRIES=3
|
||||
ADB_MAX_TIMEOUT=180
|
||||
EMULATOR_EXEC="$ANDROID_SDK_ROOT/emulator/emulator"
|
||||
ADB_EXEC="$ANDROID_SDK_ROOT/platform-tools/adb"
|
||||
|
||||
if [ -z "$COIN_CTEST_RESULTSDIR" ]; then
|
||||
COIN_CTEST_RESULTSDIR="$(pwd)"
|
||||
fi
|
||||
|
||||
LOGCAT_PATH="$COIN_CTEST_RESULTSDIR/emulator_logcat_%iter.txt"
|
||||
EMULATOR_RUN_LOG_PATH="$COIN_CTEST_RESULTSDIR/emulator_run_log_%iter.txt"
|
||||
|
||||
if [ -z "${ANDROID_EMULATOR}" ]; then
|
||||
echo "No AVD name provided via ANDROID_EMULATOR env variable. Aborting!"
|
||||
if [ -n "$AVD_NAME_ARG" ]; then
|
||||
AVD_NAME="$AVD_NAME_ARG"
|
||||
else
|
||||
AVD_NAME="$ANDROID_EMULATOR"
|
||||
fi
|
||||
|
||||
if [ -z "${AVD_NAME}" ]; then
|
||||
echo "No AVD name provided via --avd option or ANDROID_EMULATOR env variable. Aborting!"
|
||||
echo "Available AVDs names:"
|
||||
$EMULATOR_EXEC -list-avds | sed 's/^/ /'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -25,13 +75,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 +88,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})
|
||||
@@ -61,10 +109,10 @@ do
|
||||
LOGCAT_PATH=${LOGCAT_PATH//%iter/${counter}}
|
||||
EMULATOR_RUN_LOG_PATH=${EMULATOR_RUN_LOG_PATH//%iter/${counter}}
|
||||
|
||||
echo "Starting emulator ${ANDROID_EMULATOR}, try ${counter}/${EMULATOR_MAX_RETRIES}" \
|
||||
echo "Starting emulator ${AVD_NAME}, try ${counter}/${EMULATOR_MAX_RETRIES}" \
|
||||
| tee "${EMULATOR_RUN_LOG_PATH}"
|
||||
$EMULATOR_EXEC -avd "$ANDROID_EMULATOR" \
|
||||
-gpu swiftshader_indirect -no-audio -no-window -no-boot-anim \
|
||||
$EMULATOR_EXEC -avd "$AVD_NAME" \
|
||||
-gpu swiftshader_indirect -no-audio $WINDOW_ARG -no-boot-anim \
|
||||
-cores 4 -memory 16000 -partition-size 4096 \
|
||||
-detect-image-hang -restart-when-stalled -no-snapshot-save \
|
||||
-no-nested-warnings -logcat '*:v' -logcat-output "${LOGCAT_PATH}" \
|
||||
@@ -72,7 +120,7 @@ do
|
||||
emulator_pid=$!
|
||||
disown $emulator_pid
|
||||
|
||||
echo "Waiting ${ADB_MAX_TIMEOUT} seconds for emulated device to appear..."
|
||||
echo "Waiting ${ADB_MAX_TIMEOUT} seconds for emulated device to start..."
|
||||
timeout ${ADB_MAX_TIMEOUT} "$ADB_EXEC" wait-for-device
|
||||
|
||||
# Due to some bug in Coin/Go, we can't have the emulator command stream
|
||||
|
||||
@@ -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"
|
||||
|
||||
sdkBuildToolsVersion="36.0.0"
|
||||
sdkApiLevel="android-36"
|
||||
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
|
||||
@@ -146,7 +158,7 @@ echo "Download and unzip Android 9 System Image"
|
||||
minVersionFileName="x86-28_r08.zip"
|
||||
minVersionDestination="$sdkTargetFolder/system-images/android-28/google_apis/"
|
||||
minVersionFilePath="$minVersionDestination/$minVersionFileName"
|
||||
minVersionCiUrl="$basePath/system-images/google_apis/$minVersionFileName"
|
||||
minVersionCiUrl="$basePath/system_images/google_apis/$minVersionFileName"
|
||||
minVersionUrl="https://dl.google.com/android/repository/sys-img/google_apis/$minVersionFileName"
|
||||
minVersionSha1="41e3b854d7987a3d8b7500631dae1f1d32d3db4e"
|
||||
|
||||
@@ -157,45 +169,27 @@ echo "Unzipping the Android 9 to $minVersionDestination"
|
||||
sudo unzip -o -q "$minVersionFilePath" -d "$minVersionDestination"
|
||||
rm "$minVersionFilePath"
|
||||
|
||||
echo "Download and unzip Android 15 System Image"
|
||||
maxVersionFileName="x86_64-35_r08.zip"
|
||||
maxVersionDestination="$sdkTargetFolder/system-images/android-35/google_apis/"
|
||||
echo "Download and unzip Android 16 System Image"
|
||||
maxVersionFileName="x86_64-36_r07.zip"
|
||||
maxVersionDestination="$sdkTargetFolder/system-images/android-36/google_apis/"
|
||||
maxVersionFilePath="$maxVersionDestination/$maxVersionFileName"
|
||||
maxVersionCiUrl="$basePath/system-images/google_apis/$maxVersionFileName"
|
||||
maxVersionCiUrl="$basePath/system_images/google_apis/$maxVersionFileName"
|
||||
maxVersionUrl="https://dl.google.com/android/repository/sys-img/google_apis/$maxVersionFileName"
|
||||
maxVersionSha1="d79169884cabc6680cb29d32c2112ad46c858c1b"
|
||||
maxVersionSha1="c6bf44bdcd885bb902b4ba752d111a073ad7a817"
|
||||
|
||||
mkdir -p "$maxVersionDestination"
|
||||
DownloadURL "$maxVersionCiUrl" "$maxVersionUrl" "$maxVersionSha1" "$maxVersionFilePath"
|
||||
|
||||
echo "Unzipping the Android 15 to $maxVersionDestination"
|
||||
echo "Unzipping the Android 16 to $maxVersionDestination"
|
||||
sudo unzip -o -q "$maxVersionFilePath" -d "$maxVersionDestination"
|
||||
rm "$maxVersionFilePath"
|
||||
|
||||
echo "Download and unzip Android 16 System Image for insignificant"
|
||||
insignificantMaxVersionFileName="x86_64-36_r06.zip"
|
||||
insignificantMaxVersionDestination="$sdkTargetFolder/system-images/android-36/google_apis/"
|
||||
insignificantMaxVersionFilePath="$insignificantMaxVersionDestination/$insignificantMaxVersionFileName"
|
||||
insignificantMaxVersionCiUrl="$basePath/system-images/google_apis/$insignificantMaxVersionFileName"
|
||||
insignificantMaxVersionUrl="https://dl.google.com/android/repository/sys-img/google_apis/$insignificantMaxVersionFileName"
|
||||
insignificantMaxVersionSha1="a9b0b4a0488e0c6c380f5485507950f011388511"
|
||||
|
||||
mkdir -p "$insignificantMaxVersionDestination"
|
||||
DownloadURL "$insignificantMaxVersionCiUrl" "$insignificantMaxVersionUrl" "$insignificantMaxVersionSha1" "$insignificantMaxVersionFilePath"
|
||||
|
||||
echo "Unzipping the Android 16 insignicant to $insignificantMaxVersionDestination"
|
||||
sudo unzip -o -q "$insignificantMaxVersionFilePath" -d "$insignificantMaxVersionDestination"
|
||||
rm "$insignificantMaxVersionFilePath"
|
||||
|
||||
echo "Checking the contents of Android SDK again..."
|
||||
ls -l "$sdkTargetFolder"
|
||||
|
||||
echo "no" | ./avdmanager create avd -n emulator_x86_api_28 -c 2048M -f \
|
||||
-k "system-images;android-28;google_apis;x86"
|
||||
|
||||
echo "no" | ./avdmanager create avd -n emulator_x86_64_api_35 -c 2048M -f \
|
||||
-k "system-images;android-35;google_apis;x86_64"
|
||||
|
||||
echo "no" | ./avdmanager create avd -n emulator_x86_64_api_36 -c 2048M -f \
|
||||
-k "system-images;android-36;google_apis;x86_64"
|
||||
|
||||
@@ -223,12 +217,16 @@ cp "${scripts_dir_name}/${emulator_script_filename}" "${HOME}"
|
||||
ANDROID_EMULATOR_RUNNER="${HOME}/${emulator_script_filename}"
|
||||
SetEnvVar "ANDROID_EMULATOR_RUNNER" "$ANDROID_EMULATOR_RUNNER"
|
||||
|
||||
SetEnvVar "PATH" "\$PATH:$sdkTargetFolder/emulator"
|
||||
SetEnvVar "PATH" "\$PATH:$sdkTargetFolder/platform-tools"
|
||||
SetEnvVar "PATH" "\$PATH:$sdkTargetFolder/cmdline-tools/latest/bin"
|
||||
|
||||
# Gradle Caching
|
||||
cp -r "${scripts_dir_name}/android/gradle_project" /tmp/gradle_project
|
||||
cd /tmp/gradle_project
|
||||
# Get Gradle files from qtbase
|
||||
qtbaseGradleUrl="https://code.qt.io/cgit/qt/qtbase.git/plain/src/3rdparty/gradle"
|
||||
commit_sha="e5f79573fe2f21cf7bea8f63386f39bb18b351f0"
|
||||
commit_sha="5bc160bc8385f6a2e590ffb964d1d390c1ab4ce6"
|
||||
curl "$qtbaseGradleUrl/gradle.properties?h=$commit_sha" > gradle.properties
|
||||
curl "$qtbaseGradleUrl/gradlew?h=$commit_sha" > gradlew
|
||||
curl "$qtbaseGradleUrl/gradlew.bat?h=$commit_sha" > gradlew.bat
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
"Project": {
|
||||
"Git": {
|
||||
"_active": true,
|
||||
"author_line": "author-mail",
|
||||
"sourceserver_gitdir": "/data/axivion/databases/$(env:TESTED_MODULE_COIN).git",
|
||||
"sourceserver_remote_url": "ssh://codereview.qt-project.org:29418/qt/$(env:TESTED_MODULE_COIN)"
|
||||
},
|
||||
@@ -11,7 +12,12 @@
|
||||
},
|
||||
"directory": "../work/qt/$(env:TESTED_MODULE_COIN)",
|
||||
"ir": "$(env:IRNAME)",
|
||||
"name": "qt_$(env:PACKAGE)_$(env:MODULE)_dev_$(env:TARGET_OS_COIN)"
|
||||
"name": "qt_$(env:PACKAGE)_$(env:MODULE)_$(env:TESTED_MODULE_BRANCH_COIN)_$(env:TARGET_OS_COIN)"
|
||||
},
|
||||
"VCSIntegration": {
|
||||
"vcs_mapping": {
|
||||
"vcs_account_callback": "dsquery * forestroot -filter \"(&(objectCategory=Person)(mail=%1)) -attr sAMAccountName -l"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Results": {
|
||||
|
||||
@@ -1,5 +1,23 @@
|
||||
{
|
||||
"Analysis": {
|
||||
"CWE-119": {
|
||||
"_active": true
|
||||
},
|
||||
"CWE-125": {
|
||||
"_active": true
|
||||
},
|
||||
"CWE-190": {
|
||||
"_active": true
|
||||
},
|
||||
"CWE-416": {
|
||||
"_active": true
|
||||
},
|
||||
"CWE-476": {
|
||||
"_active": true
|
||||
},
|
||||
"CWE-787": {
|
||||
"_active": true
|
||||
},
|
||||
"CloneDetection": {
|
||||
"_active": true,
|
||||
"excludes": [
|
||||
@@ -203,8 +221,8 @@
|
||||
"_Format": "1.0",
|
||||
"_VersionNum": [
|
||||
7,
|
||||
8,
|
||||
0,
|
||||
15004
|
||||
10,
|
||||
4,
|
||||
17655
|
||||
]
|
||||
}
|
||||
|
||||
0
coin/provisioning/common/linux/fix-bwrap-apparmor.sh
Normal file → Executable file
0
coin/provisioning/common/linux/fix-bwrap-apparmor.sh
Normal file → Executable file
0
coin/provisioning/common/linux/install-dummy-alsa-device.sh
Normal file → Executable file
0
coin/provisioning/common/linux/install-dummy-alsa-device.sh
Normal file → Executable file
@@ -15,18 +15,20 @@ case "$uname_m" in
|
||||
x86_64|amd64)
|
||||
sha256="6f98805688d19672bd699fbbfa2c2cf0fc054ac3df1f0e6a47664d963d530255"
|
||||
pkgname="ninja-$version-linux-x64.zip"
|
||||
pkgnameExt="ninja-linux.zip"
|
||||
dirname="ninja-$version-linux-x64"
|
||||
;;
|
||||
arm64|aarch64)
|
||||
sha256="5c25c6570b0155e95fce5918cb95f1ad9870df5768653afe128db822301a05a1"
|
||||
pkgname="ninja-$version-linux-arm64.zip"
|
||||
pkgnameExt="ninja-linux-aarch64.zip"
|
||||
dirname="ninja-$version-linux-arm64"
|
||||
;;
|
||||
*) fatal "Unknown architecture in uname: $uname_m" 43 ;;
|
||||
esac
|
||||
|
||||
internalUrl="http://ci-files01-hki.ci.qt.io/input/ninja/$pkgname"
|
||||
externalUrl="https://github.com/ninja-build/ninja/releases/download/v$version/$pkgname"
|
||||
externalUrl="https://github.com/ninja-build/ninja/releases/download/v$version/$pkgnameExt"
|
||||
|
||||
targetFile="$HOME/$pkgname"
|
||||
DownloadURL "$internalUrl" "$externalUrl" "$sha256" "$targetFile"
|
||||
|
||||
@@ -8,17 +8,17 @@ source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
|
||||
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
|
||||
|
||||
# This script will install node.js 18.16.0
|
||||
version="18.16.0"
|
||||
version="22.21.1"
|
||||
|
||||
uname_m="$(uname -m)"
|
||||
case "$uname_m" in
|
||||
x86_64|amd64)
|
||||
sha256="44d93d9b4627fe5ae343012d855491d62c7381b236c347f7666a7ad070f26548"
|
||||
sha256="680d3f30b24a7ff24b98db5e96f294c0070f8f9078df658da1bce1b9c9873c88"
|
||||
pkgname="node-v$version-linux-x64.tar.xz"
|
||||
dirname="node-v$version-linux-x64"
|
||||
;;
|
||||
arm64|aarch64)
|
||||
sha256="c81dfa0bada232cb4583c44d171ea207934f7356f85f9184b32d0dde69e2e0ea"
|
||||
sha256="e660365729b434af422bcd2e8e14228637ecf24a1de2cd7c916ad48f2a0521e1"
|
||||
pkgname="node-v$version-linux-arm64.tar.xz"
|
||||
dirname="node-v$version-linux-arm64"
|
||||
;;
|
||||
|
||||
@@ -13,7 +13,7 @@ QEMU_VER="8.2.3"
|
||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/qemu/qemu-$QEMU_VER.tar.xz"
|
||||
AltUrl="https://download.qemu.org/qemu-$QEMU_VER.tar.xz"
|
||||
SHA1="1b29c8105cf8d15b9e7fb6f8e85170b6c54a1788"
|
||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "/tmp" "$appPrefix"
|
||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "/tmp" ""
|
||||
|
||||
targetFolder=/tmp/qemu-${QEMU_VER}
|
||||
mkdir -p "$targetFolder/build"
|
||||
|
||||
@@ -6,14 +6,13 @@ set -ex
|
||||
|
||||
source "${BASH_SOURCE%/*}/../unix/sccache.sh"
|
||||
|
||||
targetVersion=0.2.14
|
||||
|
||||
targetVersion=v0.11.0
|
||||
if [[ $(uname -m) == 'aarch64' ]]; then
|
||||
targetArch=aarch64-unknown-linux-musl
|
||||
sha1=0f9b57c423d77f7aa89bb642864ac7689d84d6a0
|
||||
sha1=b7606d0fb461c0aa7351f511d9223416a322d52a
|
||||
else
|
||||
targetArch=x86_64-unknown-linux-musl
|
||||
sha1=281680c0fc2c09173e94d12ba45d9f1b8e62e5b3
|
||||
sha1=ef389a20c85b732cccd48436a5e28ed40bed2806
|
||||
fi
|
||||
|
||||
installSccache "$targetArch" "$targetVersion" "$sha1"
|
||||
|
||||
@@ -13,21 +13,21 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
|
||||
|
||||
######### VXworks libs #########
|
||||
# Installs to /opt/vxworks
|
||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_libs_2403.tar.gz"
|
||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_libs_2503.tar.gz"
|
||||
AltUrl=""
|
||||
sha1="8152c527ca489b1e51f2954e6e88c6daa22d88f6"
|
||||
sha1="96db52d86c2138a1ca31212372f48838ec08013e"
|
||||
targetFolder="/opt"
|
||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
||||
SetEnvVar "VXWORKS_HOME" "/opt/vxworks"
|
||||
SetEnvVar "VXWORKS_SSH" "WindRiver@172.31.1.10"
|
||||
|
||||
# IMX 6
|
||||
VXWORKS_BUILD_VER="07-11-2024"
|
||||
VXWORKS_BUILD_VER="16-04-2025"
|
||||
######### VXworks toolchain #########
|
||||
# Installs to /opt/fsl_imx6_2_0_6_2_VSB
|
||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_arm_vsb_${VXWORKS_BUILD_VER}.tar.gz"
|
||||
AltUrl=""
|
||||
sha1="f4745e9b84a781fe2c0a44abee189fcdf1c2c100"
|
||||
sha1="88f0f139ac62e8c0a4c5477d880a1ff345826479"
|
||||
targetFolder="/opt/"
|
||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
||||
SetEnvVar "WIND_CC_SYSROOT" "/opt/fsl_imx6_2_0_6_2_VSB"
|
||||
@@ -36,30 +36,28 @@ SetEnvVar "WIND_CC_SYSROOT" "/opt/fsl_imx6_2_0_6_2_VSB"
|
||||
# Installs to /opt/fsl_imx6_2_0_6_2_VIP_QEMU
|
||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_arm_vip_${VXWORKS_BUILD_VER}.tar.gz"
|
||||
AltUrl=""
|
||||
sha1="186d7da071005d67d898a56cf57b7bec664bb89e"
|
||||
sha1="96056c0f9b1234160db2d9038a9e6fc24a2bbbd7"
|
||||
targetFolder="/opt/"
|
||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
||||
|
||||
# IMX 8
|
||||
VXWORKS_BUILD_VER="03-03-2025"
|
||||
# Installs to /opt/nxp_imx8_1_0_6_3_VSB
|
||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_arm_imx8_vsb_${VXWORKS_BUILD_VER}.tar.gz"
|
||||
AltUrl=""
|
||||
sha1="d7afe3f57748b87f6ea8932f079c18e67a58f30e"
|
||||
sha1="cf6194b78bf08b894397fd5ce2a57abd25cf497b"
|
||||
targetFolder="/opt/"
|
||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
||||
|
||||
VXWORKS_BUILD_VER="18-12-2024"
|
||||
# Installs to /opt/itl_generic_skylake_VSB
|
||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_intel_vsb_${VXWORKS_BUILD_VER}.tar.gz"
|
||||
AltUrl=""
|
||||
sha1="c1b2f2e2903540e8005237ce3641fc043ced0ddf"
|
||||
sha1="4c75222364d3907db9fb1605cabe0c92616d9ec9"
|
||||
targetFolder="/opt/"
|
||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
||||
# Installs to /opt/itl_generic_skylake_VIP_QEMU
|
||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_intel_vip_${VXWORKS_BUILD_VER}.tar.gz"
|
||||
AltUrl=""
|
||||
sha1="2fa12dac1f1460019a418da49b095c743a9fe282"
|
||||
sha1="c3af7da92832ea71201dcf1022d7404966291f5c"
|
||||
targetFolder="/opt/"
|
||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
||||
|
||||
|
||||
@@ -35,6 +35,7 @@ elif [ "$TYPE" = "intel" ]; then
|
||||
-smp 8 \
|
||||
-m 16G \
|
||||
-cpu "Skylake-Client" \
|
||||
-enable-kvm \
|
||||
-monitor none \
|
||||
-nographic \
|
||||
-serial null \
|
||||
|
||||
@@ -20,11 +20,16 @@ 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"
|
||||
sdkBuildToolsVersion="35.0.1"
|
||||
ndkVersionNightly1="$ndkVersionLatest" # If same version as latest = skip NDK install for nightly
|
||||
ndkVersionNightly2="$ndkVersionLatest"
|
||||
|
||||
sdkBuildToolsVersion="36.0.0"
|
||||
# this is compile sdk version
|
||||
sdkApiLevel="android-35"
|
||||
sdkApiLevel="android-36"
|
||||
|
||||
toolsSourceFile="$basePath/$toolsFile"
|
||||
|
||||
@@ -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
|
||||
|
||||
9
coin/provisioning/common/macos/clean_gca_keys.sh
Executable file
9
coin/provisioning/common/macos/clean_gca_keys.sh
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
# 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
|
||||
|
||||
# Delete GCA plists and leases plist to force their regeneration after next reboot
|
||||
# This avoids IPv6 link-local address collision that would happen with
|
||||
# multiple VMs from same image.
|
||||
|
||||
sudo rm -rf /var/db/dhcpclient
|
||||
@@ -15,6 +15,13 @@ disableSpotlight() {
|
||||
sudo mdutil -E / || return 1
|
||||
}
|
||||
|
||||
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
|
||||
@@ -25,7 +32,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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
283
coin/provisioning/common/macos/install-ffmpeg-ios.sh
Executable file
283
coin/provisioning/common/macos/install-ffmpeg-ios.sh
Executable file
@@ -0,0 +1,283 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
# This script will build and install FFmpeg static libs
|
||||
# Can take an optional final parameter to control installation directory
|
||||
set -eoux pipefail
|
||||
|
||||
# Must match or be lower than the minimum iOS version supported by the version of Qt that is
|
||||
# is currently being built.
|
||||
readonly MINIMUM_IOS_VERSION="16.0"
|
||||
|
||||
source "${BASH_SOURCE%/*}/../unix/ffmpeg-installation-utils.sh"
|
||||
|
||||
ffmpeg_version=$(ffmpeg_version_default)
|
||||
ffmpeg_source_dir=$(download_ffmpeg)
|
||||
ffmpeg_config_options=$(get_ffmpeg_config_options "shared")
|
||||
default_prefix="/usr/local/ios/ffmpeg"
|
||||
prefix="${1:-$default_prefix}"
|
||||
|
||||
# Qt doesn't utilize all FFmpeg components. This is a list of the ones
|
||||
# we care about
|
||||
ffmpeg_components="libavcodec libavformat libavutil libswresample libswscale"
|
||||
|
||||
target_platform_to_sdk() {
|
||||
local target_platform="$1"
|
||||
if [[ "$target_platform" == "arm64-simulator" ]] \
|
||||
|| [[ "$target_platform" == "x86_64-simulator" ]]; then
|
||||
echo "iphonesimulator"
|
||||
elif [ "$target_platform" == "arm64-iphoneos" ]; then
|
||||
echo "iphoneos"
|
||||
else
|
||||
echo "Error finding corresponding iOS SDK for target platform: ${target_platform}"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
build_ffmpeg_ios() {
|
||||
local target_platform="$1"
|
||||
local target_cpu_arch=""
|
||||
local target_sdk;
|
||||
target_sdk="$(target_platform_to_sdk "${target_platform}")"
|
||||
|
||||
if [ "$target_platform" == "arm64-simulator" ]; then
|
||||
target_cpu_arch="arm64"
|
||||
minos="-mios-simulator-version-min=$MINIMUM_IOS_VERSION"
|
||||
elif [ "$target_platform" == "x86_64-simulator" ]; then
|
||||
target_cpu_arch="x86_64"
|
||||
minos="-mios-simulator-version-min=$MINIMUM_IOS_VERSION"
|
||||
elif [ "$target_platform" == "arm64-iphoneos" ]; then
|
||||
target_cpu_arch="arm64"
|
||||
minos="-miphoneos-version-min=$MINIMUM_IOS_VERSION"
|
||||
else
|
||||
echo "Error when building FFmpeg for iOS. Unknown parameter given for target_platform: '${target_platform}'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
local build_dir="$ffmpeg_source_dir/build_ios/$target_platform"
|
||||
sudo mkdir -p "$build_dir"
|
||||
pushd "$build_dir"
|
||||
|
||||
local sysroot;
|
||||
sysroot="$(xcrun --sdk "${target_sdk}" --show-sdk-path)"
|
||||
local cc;
|
||||
cc="$(xcrun -f --sdk ${target_sdk} clang)"
|
||||
local cxx;
|
||||
cxx="$(xcrun -f --sdk ${target_sdk} clang++)"
|
||||
|
||||
# We add -g so we get debug symbols.
|
||||
local common_arch_flags="${minos} -arch ${target_cpu_arch} -g"
|
||||
|
||||
local config_parameters=(
|
||||
$ffmpeg_config_options
|
||||
--sysroot="${sysroot}"
|
||||
--enable-cross-compile
|
||||
--enable-optimizations
|
||||
--prefix="$prefix"
|
||||
--arch="$target_cpu_arch"
|
||||
--cc="$cc"
|
||||
--cxx="$cxx"
|
||||
--extra-cflags="${common_arch_flags}"
|
||||
--extra-cxxflags="${common_arch_flags}"
|
||||
--extra-ldflags="${common_arch_flags}"
|
||||
--target-os=darwin
|
||||
--enable-shared
|
||||
--disable-static
|
||||
--install-name-dir="@rpath"
|
||||
--disable-audiotoolbox
|
||||
|
||||
# We perform manual stripping after generating dSYMs.
|
||||
# Make sure to skip it during FFmpeg compilation.
|
||||
--disable-stripping
|
||||
)
|
||||
sudo "$ffmpeg_source_dir/configure" "${config_parameters[@]}"
|
||||
|
||||
sudo make install DESTDIR="$build_dir/installed" -j4
|
||||
popd
|
||||
}
|
||||
|
||||
build_info_plist() {
|
||||
local file_path="$1"
|
||||
local framework_name="$2"
|
||||
local framework_id="$3"
|
||||
|
||||
# Apple plist format has a strict requirement that the version string
|
||||
# contains up to 3 numerics separated by a dot. Meanwhile, FFmpeg versioning
|
||||
# tends to use an 'n' prefix in their versioning. We use a regex to convert
|
||||
# and verify the version string.
|
||||
#
|
||||
# https://developer.apple.com/documentation/bundleresources/information-property-list/cfbundleversion
|
||||
local formatted_ffmpeg_version
|
||||
if [[ $ffmpeg_version =~ ([0-9]+(\.[0-9]+){0,2}) ]]; then
|
||||
formatted_ffmpeg_version="${BASH_REMATCH[1]}"
|
||||
else
|
||||
echo "Unable to format FFmpeg version string '$ffmpeg_version' into corresponding Apple Info.plist format"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
local minimum_version_key="MinimumOSVersion"
|
||||
local supported_platforms="iPhoneOS"
|
||||
|
||||
info_plist="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
|
||||
<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
|
||||
<plist version=\"1.0\">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${framework_name}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>${framework_id}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${framework_name}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>${formatted_ffmpeg_version}</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>${formatted_ffmpeg_version}</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>${minimum_version_key}</key>
|
||||
<string>${MINIMUM_IOS_VERSION}</string>
|
||||
<key>CFBundleSupportedPlatforms</key>
|
||||
<array>
|
||||
<string>${supported_platforms}</string>
|
||||
</array>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</plist>"
|
||||
echo $info_plist | sudo tee ${file_path} 1>/dev/null
|
||||
}
|
||||
|
||||
# Create a 'traditional' framework from the corresponding dylib.
|
||||
# This includes creating a folder for it, and inserting Info.plist
|
||||
# and dylib. We also patch runpaths in the dylib to match the
|
||||
# frameworks directory structure.
|
||||
create_framework() {
|
||||
local ffmpeg_component_name="$1"
|
||||
local platform="$2"
|
||||
|
||||
local ffmpeg_build_path="${ffmpeg_source_dir}/build_ios/${platform}/installed/${prefix}"
|
||||
local ffmpeg_component_src_dylib="${ffmpeg_build_path}/lib/${ffmpeg_component_name}.dylib"
|
||||
local ffmpeg_component_framework="${ffmpeg_build_path}/framework/${ffmpeg_component_name}.framework"
|
||||
local ffmpeg_component_target_dylib="${ffmpeg_component_framework}/${ffmpeg_component_name}"
|
||||
|
||||
# Make directory for the .framework
|
||||
sudo mkdir -p "${ffmpeg_component_framework}"
|
||||
|
||||
# Inser the Info.plist
|
||||
build_info_plist \
|
||||
"${ffmpeg_component_framework}/Info.plist" \
|
||||
"${ffmpeg_component_name}" \
|
||||
"io.qt.ffmpegkit.${ffmpeg_component_name}"
|
||||
|
||||
# Copy in the dylib
|
||||
sudo cp \
|
||||
"${ffmpeg_component_src_dylib}" \
|
||||
"${ffmpeg_component_target_dylib}"
|
||||
|
||||
# By default, runpaths will look for FFmpeg dependencies in
|
||||
# '@rpath/libavcodec.xx.yy.dylib'. We want this path to be in the form
|
||||
# '@rpath/libavcodec.framework/libavcodec.dylib'.
|
||||
|
||||
# Set the dylibs self-identity
|
||||
sudo install_name_tool \
|
||||
-id "@rpath/${ffmpeg_component_name}.framework/${ffmpeg_component_name}" \
|
||||
"${ffmpeg_component_target_dylib}"
|
||||
|
||||
# Update the runpaths for each FFmpeg dependency entry
|
||||
otool -L "$ffmpeg_component_target_dylib" \
|
||||
| tail -n +2 \
|
||||
| awk '{print $1}' \
|
||||
| while read -r dep; do
|
||||
# Go through all dependency entries of this .dylib,
|
||||
# see if they point to a FFmpeg component. If it does,
|
||||
# modify the entry to match the final
|
||||
# directory structure.
|
||||
for ffdep in $ffmpeg_components; do
|
||||
if [[ "$dep" == */${ffdep}.* ]]; then
|
||||
echo "Rewriting dependency: $dep -> @rpath/${ffdep}.framework/${ffdep}"
|
||||
sudo install_name_tool -change \
|
||||
"$dep" \
|
||||
"@rpath/${ffdep}.framework/${ffdep}" \
|
||||
"$ffmpeg_component_target_dylib"
|
||||
fi
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
# dSYM symbols must be generated manually, these are required for
|
||||
# App Store deployment. We generate them from the .dylibs inside
|
||||
# our .frameworks. This has to be done after patching the runpaths.
|
||||
# At the end, we strip the dylib.
|
||||
create_dsym() {
|
||||
local ffmpeg_component_name="$1"
|
||||
local platform="$2"
|
||||
|
||||
local ffmpeg_build_path="${ffmpeg_source_dir}/build_ios/${platform}/installed/${prefix}"
|
||||
local target_dylib="${ffmpeg_build_path}/framework/${ffmpeg_component_name}.framework/${ffmpeg_component_name}"
|
||||
|
||||
sudo dsymutil "${target_dylib}" \
|
||||
-o "${ffmpeg_build_path}/framework/${ffmpeg_component_name}.framework.dSYM"
|
||||
|
||||
local target_sdk;
|
||||
target_sdk=$(target_platform_to_sdk "${platform}")
|
||||
|
||||
local strip;
|
||||
strip="$(xcrun -f --sdk ${target_sdk} strip)"
|
||||
sudo ${strip} -x "${target_dylib}"
|
||||
}
|
||||
|
||||
create_xcframework() {
|
||||
# Create 'traditional' framework from the corresponding dylib,
|
||||
# also creating
|
||||
local framework_name="$1"
|
||||
local target_platform_a="$2"
|
||||
local target_platform_b="$3"
|
||||
|
||||
local platform_a_build="${ffmpeg_source_dir}/build_ios/${target_platform_a}/installed/${prefix}"
|
||||
local fw_a="${platform_a_build}/framework/${framework_name}.framework"
|
||||
local dsym_a="${fw_a}.dSYM"
|
||||
|
||||
local platform_b_build="${ffmpeg_source_dir}/build_ios/${target_platform_b}/installed/${prefix}"
|
||||
local fw_b="${platform_b_build}/framework/${framework_name}.framework"
|
||||
local dsym_b="${fw_b}.dSYM"
|
||||
|
||||
sudo mkdir -p "$prefix/framework/"
|
||||
sudo xcodebuild -create-xcframework \
|
||||
-framework "$fw_a" -debug-symbols "$dsym_a" \
|
||||
-framework $fw_b -debug-symbols "$dsym_b" \
|
||||
-output "${prefix}/lib/${framework_name}.xcframework"
|
||||
}
|
||||
|
||||
build_ffmpeg_ios "arm64-iphoneos"
|
||||
build_ffmpeg_ios "x86_64-simulator"
|
||||
|
||||
for name in $ffmpeg_components; do
|
||||
create_framework "$name" "arm64-iphoneos"
|
||||
create_framework "$name" "x86_64-simulator"
|
||||
|
||||
create_dsym "$name" "arm64-iphoneos"
|
||||
create_dsym "$name" "x86_64-simulator"
|
||||
done
|
||||
|
||||
# Create corresponding xcframeworks containing both arm64 and x86_64-simulator frameworks:
|
||||
for name in $ffmpeg_components; do
|
||||
create_xcframework "$name" "arm64-iphoneos" "x86_64-simulator"
|
||||
done
|
||||
|
||||
# xcframeworks are already installed directly into the target output directory.
|
||||
# We need to install headers
|
||||
sudo cp -r "${ffmpeg_source_dir}/build_ios/arm64-iphoneos/installed/${prefix}/include" "$prefix"
|
||||
|
||||
# The set_ffmpeg_dir_env_var requires the presence of the "lib" subfolder in order to validate
|
||||
# our FFmpeg install. On iOS we don't use this subfolder, we only rely on the "framework" subfolder.
|
||||
# So we create a dummy "lib" folder to pass the check.
|
||||
sudo mkdir -p "${prefix}/lib"
|
||||
|
||||
set_ffmpeg_dir_env_var "FFMPEG_DIR_IOS" "$prefix"
|
||||
@@ -3,6 +3,7 @@
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
# This script builds and installs FFmpeg shared libs
|
||||
# Can take an optional final parameter to control installation directory
|
||||
|
||||
set -ex
|
||||
|
||||
@@ -18,7 +19,8 @@ source "${BASH_SOURCE%/*}/../unix/ffmpeg-installation-utils.sh"
|
||||
ffmpeg_source_dir=$(download_ffmpeg)
|
||||
ffmpeg_name=$(basename "$ffmpeg_source_dir")
|
||||
ffmpeg_config_options=$(get_ffmpeg_config_options "shared")
|
||||
prefix="/usr/local/$ffmpeg_name"
|
||||
default_prefix="/usr/local/$ffmpeg_name"
|
||||
prefix="${2:-$default_prefix}"
|
||||
|
||||
build_ffmpeg() {
|
||||
local arch="$1"
|
||||
|
||||
23
coin/provisioning/common/macos/install-pyenv.sh
Executable file
23
coin/provisioning/common/macos/install-pyenv.sh
Executable file
@@ -0,0 +1,23 @@
|
||||
#!/usr/bin/env bash
|
||||
#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%/*}/../unix/SetEnvVar.sh"
|
||||
|
||||
# shellcheck source=./DownloadURL.sh
|
||||
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
|
||||
|
||||
installerFile="pyenv-installer"
|
||||
sha="1c2f20c26dc8bb7409a6031e8777c0c1b2aae9da"
|
||||
cacheUrl="https://ci-files01-hki.ci.qt.io/input/python/pyenv/${installerFile}"
|
||||
target="${installerFile}"
|
||||
|
||||
DownloadURL "$cacheUrl" "" "$sha" "$target"
|
||||
chmod +x "$target"
|
||||
"./$target"
|
||||
SetEnvVar "PYENV_ROOT" "/Users/qt/.pyenv"
|
||||
SetEnvVar "PATH" "\$PYENV_ROOT/bin:\$PATH"
|
||||
rm -f "$target"
|
||||
@@ -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]}
|
||||
|
||||
@@ -7,10 +7,10 @@ source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
|
||||
|
||||
# This script will install Nodejs
|
||||
|
||||
version="18.16.0"
|
||||
version="22.21.1"
|
||||
urlCache="http://ci-files01-hki.ci.qt.io/input/nodejs/node-v$version.pkg"
|
||||
urlOffcial="https://nodejs.org/dist/v$version/node-v$version.pkg"
|
||||
sha256="156aa5b9580288fb0b3c6134eb8fac64e50745d78d33eebe9e29eb7ff87b8e1e"
|
||||
sha256="182ad62634eabbb11497c2284a3172771944f1cd17e23b143e778bd189af6d65"
|
||||
|
||||
DownloadURL $urlCache $urlOffcial $sha256 "/tmp/node-v$version.pkg"
|
||||
sudo installer -pkg "/tmp/node-v$version.pkg" -target /
|
||||
|
||||
8
coin/provisioning/common/macos/p7zip.sh
Executable file
8
coin/provisioning/common/macos/p7zip.sh
Executable file
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
#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 7z to be used from command line
|
||||
|
||||
set -ex
|
||||
|
||||
brew install p7zip
|
||||
@@ -6,12 +6,12 @@ set -ex
|
||||
|
||||
source "${BASH_SOURCE%/*}/../unix/sccache.sh"
|
||||
|
||||
targetVersion=0.2.14
|
||||
targetVersion=v0.11.0
|
||||
if [[ `arch` == arm* ]]; then
|
||||
targetArch=aarch64-apple-darwin
|
||||
sha1=ad10cd4b8889fa08e193a4165ac664876a27c0dc
|
||||
sha1=3261ab99e5bb1f9f36eafa597d11491bd85da5ec
|
||||
else
|
||||
targetArch=x86_64-apple-darwin
|
||||
sha1=764bc1664c0ff616d9980a6d127175d0a2041781
|
||||
sha1=57810789bf2813dfa9bf5da26a712dc30b56ce16
|
||||
fi
|
||||
installSccache "$targetArch" "$targetVersion" "$sha1"
|
||||
|
||||
@@ -41,6 +41,9 @@ SERVICES+=("kTCCServiceBluetoothAlways|$HOME")
|
||||
# a test fails.
|
||||
SERVICES+=("kTCCServiceScreenCapture|/")
|
||||
|
||||
# Squish requires kTCCServiceAccessibility
|
||||
SERVICES+=("kTCCServiceAccessibility|/")
|
||||
|
||||
# ------ Implementation ------
|
||||
|
||||
function add_permission_for_client() {
|
||||
|
||||
@@ -2,16 +2,40 @@
|
||||
# Copyright (C) 2024 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
set -x
|
||||
set -euox pipefail
|
||||
|
||||
lib_dir="$1/lib"
|
||||
additional_suffix="${2:-}"
|
||||
set_rpath="${3:-yes}"
|
||||
page_size="${4:-}"
|
||||
|
||||
# readelf and patchelf are prerequisite tools for this script. Check
|
||||
# that they are available.
|
||||
if [ "$(uname -s)" = "Darwin" ]; then
|
||||
# Under Homebrew, binutils package is not symlinked into PATH.
|
||||
# This lets us use readelf provided by Homebrew.
|
||||
readelf() { "$(brew --prefix binutils)/bin/readelf" "$@"; }
|
||||
readelf_homebrew_path="$(brew --prefix binutils)/bin/readelf"
|
||||
if [[ ! -x "$readelf_homebrew_path" ]]; then
|
||||
echo "Found no valid readelf executable. It is possible it was not correctly installed through Homebrew."
|
||||
exit 1
|
||||
fi
|
||||
readelf() { "$readelf_homebrew_path" "$@"; }
|
||||
fi
|
||||
|
||||
if ! command -v readelf; then
|
||||
echo "Found no valid readelf command. It is possible it was not correctly installed."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v patchelf; then
|
||||
echo "Found no valid patchelf command. It is possible it was not correctly installed."
|
||||
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")
|
||||
@@ -58,7 +82,12 @@ for lib_name in "${ffmpeg_libs[@]}"; do
|
||||
stub_name="${stub_name%%.*}${additional_suffix}.${stub_name#*.}" # Add additional_suffix
|
||||
fi
|
||||
|
||||
patchelf --replace-needed "${BASH_REMATCH[1]}" "${stub_name}" "$lib_path"
|
||||
additional_command_args=""
|
||||
if [ -n "$page_size" ]; then
|
||||
additional_command_args+="--page-size ${page_size}"
|
||||
fi
|
||||
|
||||
patchelf ${additional_command_args} --replace-needed "${BASH_REMATCH[1]}" "${stub_name}" "$lib_path"
|
||||
fi
|
||||
done <<< "$(read_needed_deps)"
|
||||
|
||||
|
||||
@@ -3,4 +3,5 @@ spdx-tools>=0.8.0 ; python_version >= '3.9'
|
||||
ntia-conformance-checker ; python_version >= '3.9'
|
||||
sbomaudit ; python_version >= '3.9'
|
||||
sbom2doc ; python_version >= '3.9'
|
||||
reuse ; python_version >= '3.9'
|
||||
reuse<=5.1.1 ; python_version >= '3.9'
|
||||
cyclonedx-python-lib==11.0.0 ; python_version >= '3.9'
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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...'
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
FROM ubuntu:16.04
|
||||
ARG COIN_RUNS_IN_QT_COMPANY
|
||||
RUN test x"$COIN_RUNS_IN_QT_COMPANY" = xtrue \
|
||||
&& sed -i 's;\(archive\|security\)\.ubuntu\.com;repo-clones.ci.qt.io/apt-mirror/mirror;' /etc/apt/sources.list \
|
||||
|| echo "Internal package repository not found. Using public repositories."
|
||||
RUN test x"$COIN_RUNS_IN_QT_COMPANY" = xtrue \
|
||||
&& { printf '%s\n' \
|
||||
'deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 xenial-amd64 main restricted universe multiverse' \
|
||||
'deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 xenial-updates-amd64 main restricted universe multiverse' \
|
||||
'deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 xenial-backports-amd64 main restricted universe' \
|
||||
'deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 xenial-security-amd64 main restricted universe multiverse' \
|
||||
> /etc/apt/sources.list; \
|
||||
} \
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
FROM ubuntu:18.04
|
||||
ARG COIN_RUNS_IN_QT_COMPANY
|
||||
RUN test x"$COIN_RUNS_IN_QT_COMPANY" = xtrue \
|
||||
&& sed -i 's;\(archive\|security\)\.ubuntu\.com;repo-clones.ci.qt.io/apt-mirror/mirror;' /etc/apt/sources.list \
|
||||
|| echo "Internal package repository not found. Using public repositories."
|
||||
RUN test x"$COIN_RUNS_IN_QT_COMPANY" = xtrue \
|
||||
&& { printf '%s\n' \
|
||||
'deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 bionic-amd64 main restricted universe multiverse' \
|
||||
'deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 bionic-updates-amd64 main restricted universe multiverse' \
|
||||
'deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 bionic-backports-amd64 main restricted universe' \
|
||||
'deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 bionic-security-amd64 main restricted universe multiverse' \
|
||||
> /etc/apt/sources.list; \
|
||||
} \
|
||||
|
||||
@@ -116,7 +116,7 @@ set_common_environment () {
|
||||
CMD_INSTALL="sudo install"
|
||||
|
||||
COIN_RUNS_IN_QT_COMPANY=false
|
||||
if ping -c1 repo-clones.ci.qt.io >/dev/null 2>&1
|
||||
if ping -c1 repo-clones-apt.ci.qt.io >/dev/null 2>&1
|
||||
then
|
||||
COIN_RUNS_IN_QT_COMPANY=true
|
||||
fi
|
||||
|
||||
@@ -8,15 +8,15 @@ source "${BASH_SOURCE%/*}/SetEnvVar.sh"
|
||||
# shellcheck source=./DownloadURL.sh
|
||||
source "${BASH_SOURCE%/*}/DownloadURL.sh"
|
||||
|
||||
version="3.1.70"
|
||||
versionNode="v16.20.0"
|
||||
version="4.0.7"
|
||||
versionNode="v20.18.0"
|
||||
tarBallVersion="${version//./_}"
|
||||
if uname -a | grep -q Darwin; then
|
||||
tarBallPackage="emsdk_macos_${tarBallVersion}.tar.gz"
|
||||
sha="eafd7b96ab12d84183d2eaa62e8d39bb12c252bf"
|
||||
sha="c3d2df45685b68e5d69e09017084d26783eda2dd"
|
||||
else
|
||||
tarBallPackage="emsdk_linux_${tarBallVersion}.tar.gz"
|
||||
sha="047a3da9048edc71fb56af544c4bb2448d6c0644"
|
||||
sha="20f7782ca4a9088fe91405b16c6fed630e91dcd6"
|
||||
fi
|
||||
cacheUrl="https://ci-files01-hki.ci.qt.io/input/emsdk/${tarBallPackage}"
|
||||
target="/tmp/${tarBallPackage}"
|
||||
@@ -53,5 +53,6 @@ SetEnvVar "PATH" "\"\$PATH:${emscriptenPath}\""
|
||||
SetEnvVar "EMSCRIPTEN" "${emscriptenPath}"
|
||||
SetEnvVar "EMSDK" "${emsdkPath}"
|
||||
SetEnvVar "EMSDK_NODE" "${emsdkPath}${pathNodeExecutable}"
|
||||
SetEnvVar "EMSDK_PYTHON" "$PYTHON3_EXECUTABLE"
|
||||
|
||||
echo "Emsdk = $version" >> ~/versions.txt
|
||||
|
||||
@@ -2,9 +2,13 @@
|
||||
# Copyright (C) 2024 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
ffmpeg_version_default() {
|
||||
echo "n7.1.3"
|
||||
}
|
||||
|
||||
download_ffmpeg() {
|
||||
local version="${1:-n7.1.1}"
|
||||
local sha1="${2:-479291e8555fe036ca760f95cea829a21e9b8365}"
|
||||
local version="${1:-$(ffmpeg_version_default)}"
|
||||
local sha1="${2:-27051817deec88bed3b9652d49f9127d22268d83}"
|
||||
|
||||
local ffmpeg_name="FFmpeg-$version"
|
||||
local target_dir="$HOME"
|
||||
@@ -65,3 +69,11 @@ set_ffmpeg_dir_env_var() {
|
||||
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
|
||||
SetEnvVar "$envvar" "$dir"
|
||||
}
|
||||
|
||||
set_ffmpeg_env_var() {
|
||||
local envvar="$1"
|
||||
local value="$2"
|
||||
|
||||
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
|
||||
SetEnvVar "$envvar" "$value"
|
||||
}
|
||||
|
||||
@@ -9,17 +9,29 @@ source "${BASH_SOURCE%/*}/../unix/ffmpeg-installation-utils.sh"
|
||||
|
||||
os="$1"
|
||||
# Optional parameter to set output installation directory. Useful for local builds.
|
||||
target_install_dir_param="$2"
|
||||
page_size="$2"
|
||||
target_install_dir_param="$3"
|
||||
build_type=$(get_ffmpeg_build_type)
|
||||
ffmpeg_source_dir=$(download_ffmpeg)
|
||||
|
||||
assert_envvar_is_populated_dir() {
|
||||
local envvar="$1"
|
||||
local value="${!envvar}"
|
||||
if [ -z "$value" ] || [ ! -d "$value" ] || [ -z "$(find "$value" -mindepth 1 -type f | head -n 1)" ]; then
|
||||
echo "Environment variable '$envvar' is unset, not a directory, or the directory is empty."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
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
|
||||
@@ -29,19 +41,25 @@ 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" == "arm32" ]; then
|
||||
target_toolchain_arch="armv7a-linux-androideabi"
|
||||
target_arch=arm
|
||||
target_cpu=armv7-a
|
||||
openssl_libs="$openssl_android_path/armeabi-v7a"
|
||||
libs_prefix="_arm32-v7a"
|
||||
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
|
||||
|
||||
@@ -50,7 +68,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
|
||||
@@ -65,14 +82,23 @@ build_ffmpeg_android() {
|
||||
local cc=${toolchain_bin}/${target_toolchain_arch}${api_version}-clang
|
||||
local ar=${toolchain_bin}/llvm-ar
|
||||
local ranlib=${toolchain_bin}/llvm-ranlib
|
||||
local strip=${toolchain_bin}/llvm-strip
|
||||
local ffmpeg_config_options
|
||||
|
||||
ffmpeg_config_options=$(get_ffmpeg_config_options $build_type)
|
||||
ffmpeg_config_options+=" --enable-cross-compile --target-os=android --enable-jni --enable-mediacodec --enable-openssl --enable-pthreads --enable-neon --disable-asm --disable-indev=android_camera"
|
||||
ffmpeg_config_options+=" --arch=$target_arch --cpu=${target_cpu} --sysroot=${sysroot} --sysinclude=${sysroot}/usr/include/"
|
||||
ffmpeg_config_options+=" --cc=${cc} --cxx=${cxx} --ar=${ar} --ranlib=${ranlib}"
|
||||
ffmpeg_config_options+=" --cc=${cc} --cxx=${cxx} --ar=${ar} --ranlib=${ranlib} --strip=${strip}"
|
||||
ffmpeg_config_options+=" --extra-cflags=-I${openssl_include} --extra-ldflags=-L${openssl_libs}"
|
||||
|
||||
if [ $page_size == "use_16kb_page_size" ]; then
|
||||
ffmpeg_config_options+=" --extra-ldflags=-Wl,-z,max-page-size=16384"
|
||||
echo "FFmpeg Android using 16KB page sizes"
|
||||
elif [ $page_size == "use_4kb_page_size" ]; then
|
||||
echo "FFmpeg Android using 4KB page sizes"
|
||||
else
|
||||
echo "Error: FFmpeg Android page_size must be: use_16kb_page_size or: use_4kb_page_size got: $page_size" >&2
|
||||
exit 1
|
||||
fi
|
||||
local build_dir="$ffmpeg_source_dir/build_android/$target_arch"
|
||||
mkdir -p "$build_dir"
|
||||
pushd "$build_dir"
|
||||
@@ -90,22 +116,40 @@ build_ffmpeg_android() {
|
||||
|
||||
if [[ "$build_type" == "shared" ]]; then
|
||||
local fix_dependencies="${BASH_SOURCE%/*}/../shared/fix_ffmpeg_dependencies.sh"
|
||||
sudo "${fix_dependencies}" "${target_dir}" "${libs_prefix}" "no"
|
||||
|
||||
local page_size_arg=""
|
||||
if [ $page_size == "use_16kb_page_size" ]; then
|
||||
page_size_arg="16384"
|
||||
fi
|
||||
|
||||
sudo "${fix_dependencies}" "${target_dir}" "${libs_prefix}" "no" "$page_size_arg"
|
||||
fi
|
||||
}
|
||||
|
||||
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-arm32" ]; then
|
||||
target_arch=arm32
|
||||
target_dir="/usr/local/android/ffmpeg-arm32"
|
||||
envvar_latest="FFMPEG_DIR_ANDROID_ARM32_NDK_LATEST"
|
||||
envvar_nightly1="FFMPEG_DIR_ANDROID_ARM32_NDK_NIGHTLY1"
|
||||
envvar_nightly2="FFMPEG_DIR_ANDROID_ARM32_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
|
||||
@@ -113,8 +157,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
|
||||
|
||||
@@ -1,173 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
# This script will build and install FFmpeg static libs
|
||||
set -ex
|
||||
|
||||
# Must match or be lower than the minimum iOS version supported by the version of Qt that is
|
||||
# is currently being built.
|
||||
readonly MINIMUM_IOS_VERSION="16.0"
|
||||
|
||||
source "${BASH_SOURCE%/*}/../unix/ffmpeg-installation-utils.sh"
|
||||
|
||||
ffmpeg_source_dir=$(download_ffmpeg)
|
||||
ffmpeg_config_options=$(get_ffmpeg_config_options "shared")
|
||||
prefix="/usr/local/ios/ffmpeg"
|
||||
dylib_regex="^@rpath/.*\.dylib$"
|
||||
|
||||
build_ffmpeg_ios() {
|
||||
local target_platform=$1
|
||||
local target_cpu_arch=""
|
||||
if [ "$target_platform" == "arm64-simulator" ]; then
|
||||
target_sdk="iphonesimulator"
|
||||
target_cpu_arch="arm64"
|
||||
minos="-mios-simulator-version-min=$MINIMUM_IOS_VERSION"
|
||||
elif [ "$target_platform" == "x86_64-simulator" ]; then
|
||||
target_sdk="iphonesimulator"
|
||||
target_cpu_arch="x86_64"
|
||||
minos="-mios-simulator-version-min=$MINIMUM_IOS_VERSION"
|
||||
elif [ "$target_platform" == "arm64-iphoneos" ]; then
|
||||
target_sdk="iphoneos"
|
||||
target_cpu_arch="arm64"
|
||||
minos="-miphoneos-version-min=$MINIMUM_IOS_VERSION"
|
||||
else
|
||||
echo "Error when building FFmpeg for iOS. Unknown parameter given for target_platform: '${target_platform}'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
local build_dir="$ffmpeg_source_dir/build_ios/$target_platform"
|
||||
sudo mkdir -p "$build_dir"
|
||||
pushd "$build_dir"
|
||||
|
||||
# shellcheck disable=SC2086
|
||||
sudo "$ffmpeg_source_dir/configure" $ffmpeg_config_options \
|
||||
--sysroot="$(xcrun --sdk "$target_sdk" --show-sdk-path)" \
|
||||
--enable-cross-compile \
|
||||
--enable-optimizations \
|
||||
--prefix=$prefix \
|
||||
--arch=$target_cpu_arch \
|
||||
--cc="xcrun --sdk ${target_sdk} clang -arch $target_cpu_arch" \
|
||||
--cxx="xcrun --sdk ${target_sdk} clang++ -arch $target_cpu_arch" \
|
||||
--target-os=darwin \
|
||||
--extra-ldflags="$minos" \
|
||||
--enable-shared \
|
||||
--disable-static \
|
||||
--install-name-dir='@rpath' \
|
||||
--disable-audiotoolbox
|
||||
|
||||
sudo make install DESTDIR="$build_dir/installed" -j4
|
||||
popd
|
||||
}
|
||||
|
||||
build_info_plist() {
|
||||
local file_path="$1"
|
||||
local framework_name="$2"
|
||||
local framework_id="$3"
|
||||
|
||||
local minimum_version_key="MinimumOSVersion"
|
||||
local supported_platforms="iPhoneOS"
|
||||
|
||||
# TODO: This should be filled out with the actual version of FFmpeg that we are
|
||||
# deploying.
|
||||
info_plist="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
|
||||
<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
|
||||
<plist version=\"1.0\">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${framework_name}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>${framework_id}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${framework_name}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>7.0.2</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>7.0.2</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>${minimum_version_key}</key>
|
||||
<string>${MINIMUM_IOS_VERSION}</string>
|
||||
<key>CFBundleSupportedPlatforms</key>
|
||||
<array>
|
||||
<string>${supported_platforms}</string>
|
||||
</array>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</plist>"
|
||||
echo $info_plist | sudo tee ${file_path} 1>/dev/null
|
||||
}
|
||||
|
||||
|
||||
create_framework() {
|
||||
# Create a 'traditional' framework from the corresponding dylib.
|
||||
local framework_name="$1"
|
||||
local platform="$2" # For now it's either arm64 or arm64-simulator, see below.
|
||||
local ffmpeg_library_path="$ffmpeg_source_dir/build_ios/${platform}/installed/usr/local/ios/ffmpeg"
|
||||
local framework_complete_path="${ffmpeg_library_path}/framework/${framework_name}.framework/${framework_name}"
|
||||
|
||||
sudo mkdir -p "${ffmpeg_library_path}/framework/${framework_name}.framework"
|
||||
sudo cp "${ffmpeg_library_path}/lib/${framework_name}.dylib" "${ffmpeg_library_path}/framework/${framework_name}.framework/${framework_name}"
|
||||
|
||||
# Fix LC_ID_DYLIB (to be libavcodec.framework/libavcodec instead of @rpath/libavcodec.xx.yy.dylib
|
||||
sudo install_name_tool -id @rpath/${framework_name}.framework/${framework_name} "${framework_complete_path}"
|
||||
|
||||
build_info_plist "${ffmpeg_library_path}/framework/${framework_name}.framework/Info.plist" "${framework_name}" "io.qt.ffmpegkit."${framework_name}
|
||||
|
||||
# Fix all FFmpeg-related LC_LOAD_DYLIB, similar to how we fixed LC_ID_DYLIB above:
|
||||
otool -L "$framework_complete_path" | awk '/\t/ {print $1}' | egrep "$dylib_regex" | while read -r dependency_path; do
|
||||
found_name=$(tmp=${dependency_path/*\/}; echo ${tmp/\.*})
|
||||
if [ "$found_name" != "$framework_name" ]
|
||||
then
|
||||
sudo install_name_tool -change "$dependency_path" @rpath/${found_name}.framework/${found_name} "${framework_complete_path}"
|
||||
fi
|
||||
done
|
||||
#sudo mkdir -p "$prefix/framework/"
|
||||
#sudo cp -r "${ffmpeg_library_path}/framework/${framework_name}.framework" "$prefix/framework/"
|
||||
}
|
||||
|
||||
create_xcframework() {
|
||||
# Create 'traditional' framework from the corresponding dylib,
|
||||
# also creating
|
||||
local framework_name="$1"
|
||||
local target_platform_a="$2"
|
||||
local target_platform_b="$3"
|
||||
|
||||
local fw_a="$ffmpeg_source_dir/build_ios/${target_platform_a}/installed/usr/local/ios/ffmpeg/framework/${framework_name}.framework"
|
||||
local fw_b="$ffmpeg_source_dir/build_ios/${target_platform_b}/installed/usr/local/ios/ffmpeg/framework/${framework_name}.framework"
|
||||
|
||||
sudo mkdir -p "$prefix/framework/"
|
||||
sudo xcodebuild -create-xcframework -framework $fw_a -framework $fw_b -output "${prefix}/framework/${framework_name}.xcframework"
|
||||
}
|
||||
|
||||
build_ffmpeg_ios "x86_64-simulator"
|
||||
build_ffmpeg_ios "arm64-iphoneos"
|
||||
|
||||
ffmpeg_libs="libavcodec libavformat libavutil libswresample libswscale"
|
||||
|
||||
for name in $ffmpeg_libs; do
|
||||
create_framework $name "arm64-iphoneos"
|
||||
create_framework $name "x86_64-simulator"
|
||||
done
|
||||
|
||||
# Create corresponding (xc)frameworks containing both arm64 and arm64-simulator frameworks:
|
||||
for name in $ffmpeg_libs; do
|
||||
create_xcframework $name "arm64-iphoneos" "x86_64-simulator"
|
||||
done
|
||||
|
||||
# xcframeworks are already installed directly into the target output directory.
|
||||
# We need to install headers
|
||||
sudo cp -r "$ffmpeg_source_dir/build_ios/arm64-iphoneos/installed/usr/local/ios/ffmpeg/include" $prefix
|
||||
# The set_ffmpeg_dir_env_var requires the presence of the "lib" subfolder in order to validate
|
||||
# our FFmpeg install. On iOS we don't use this subfolder, we only rely on the "framework" subfolder.
|
||||
# So we create a dummy "lib" folder to pass the check.
|
||||
sudo mkdir -p "${prefix}/lib"
|
||||
|
||||
set_ffmpeg_dir_env_var "FFMPEG_DIR_IOS" $prefix
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user