mirror of
git://code.qt.io/qt/qt5.git
synced 2026-02-25 00:15:11 +08:00
Compare commits
84 Commits
v6.11.0-be
...
6.11.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d4821293c3 | ||
|
|
3b03dc00c1 | ||
|
|
1b6a8c073a | ||
|
|
73cad7fe96 | ||
|
|
b2fb8279dc | ||
|
|
546bcebdaa | ||
|
|
75b333607c | ||
|
|
6c0f85bdbd | ||
|
|
1d998afee6 | ||
|
|
5d247c1e58 | ||
|
|
18956e23c4 | ||
|
|
6722895711 | ||
|
|
87b82c5a62 | ||
|
|
e3ee9617ac | ||
|
|
03c30a97d5 | ||
|
|
3700add7fc | ||
|
|
08cef8ffb2 | ||
|
|
7326e7a3b8 | ||
|
|
59fd96b18f | ||
|
|
30a9d5669c | ||
|
|
49b09bab88 | ||
|
|
8c54a23ab6 | ||
|
|
13db7987b8 | ||
|
|
75d3d6297c | ||
|
|
7b2be59623 | ||
|
|
04f579997c | ||
|
|
474c3e5a67 | ||
|
|
a606693372 | ||
|
|
bd9eace754 | ||
|
|
0796b73482 | ||
|
|
d5459a1d46 | ||
|
|
b170c102dd | ||
|
|
68bc5e611b | ||
|
|
656d26f1c5 | ||
|
|
17b78a06d4 | ||
|
|
064d6696df | ||
|
|
250c07e631 | ||
|
|
7733013b4d | ||
|
|
5fc5b79f16 | ||
|
|
d4dfc9718b | ||
|
|
7383c38f43 | ||
|
|
398d58c520 | ||
|
|
399f581855 | ||
|
|
5217ba2d0a | ||
|
|
b5b86a4508 | ||
|
|
b4bb8734fb | ||
|
|
a757f93331 | ||
|
|
89d35e1a10 | ||
|
|
de278446ba | ||
|
|
77861386ac | ||
|
|
f5f14e7b58 | ||
|
|
5ee15a39c9 | ||
|
|
bed250f1eb | ||
|
|
ac952a3cc3 | ||
|
|
e431a58ebf | ||
|
|
aae69c26d8 | ||
|
|
2fc7f02d02 | ||
|
|
39cfe5772c | ||
|
|
fee8bfc9a9 | ||
|
|
039675855e | ||
|
|
622385a2ba | ||
|
|
bd26fc0730 | ||
|
|
cf5e24cbb4 | ||
|
|
04aab39e54 | ||
|
|
c1037d865f | ||
|
|
ffc932b4e3 | ||
|
|
99f5a9ba83 | ||
|
|
d9cdae957b | ||
|
|
45dd047f29 | ||
|
|
82ba6e4754 | ||
|
|
03f6468edc | ||
|
|
3ce2cfd74c | ||
|
|
be118a32fb | ||
|
|
554dcc4746 | ||
|
|
b571b85cb8 | ||
|
|
189740e5e1 | ||
|
|
7b36e50c64 | ||
|
|
f1d54f955c | ||
|
|
ec20fd6cab | ||
|
|
c3f0773ed2 | ||
|
|
b8b7c30b2a | ||
|
|
e171387d4c | ||
|
|
6e69c9f7a7 | ||
|
|
182960fb5e |
92
.gitmodules
vendored
92
.gitmodules
vendored
@@ -1,40 +1,40 @@
|
||||
[submodule "qtbase"]
|
||||
path = qtbase
|
||||
url = ../qtbase.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = essential
|
||||
[submodule "qtsvg"]
|
||||
depends = qtbase
|
||||
path = qtsvg
|
||||
url = ../qtsvg.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = addon
|
||||
[submodule "qtdeclarative"]
|
||||
depends = qtbase
|
||||
recommends = qtimageformats qtshadertools qtsvg qtlanguageserver
|
||||
path = qtdeclarative
|
||||
url = ../qtdeclarative.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = essential
|
||||
[submodule "qtactiveqt"]
|
||||
depends = qtbase
|
||||
path = qtactiveqt
|
||||
url = ../qtactiveqt.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = addon
|
||||
[submodule "qtmultimedia"]
|
||||
depends = qtbase qtshadertools
|
||||
recommends = qtdeclarative qtquick3d
|
||||
path = qtmultimedia
|
||||
url = ../qtmultimedia.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = addon
|
||||
[submodule "qttools"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtactiveqt
|
||||
path = qttools
|
||||
url = ../qttools.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = essential
|
||||
[submodule "qtxmlpatterns"]
|
||||
depends = qtbase
|
||||
@@ -47,7 +47,7 @@
|
||||
depends = qttools
|
||||
path = qttranslations
|
||||
url = ../qttranslations.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = essential
|
||||
priority = 30
|
||||
[submodule "qtdoc"]
|
||||
@@ -55,7 +55,7 @@
|
||||
recommends = qtmultimedia qtshadertools qttasktree qtwebengine
|
||||
path = qtdoc
|
||||
url = ../qtdoc.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = essential
|
||||
priority = 40
|
||||
[submodule "qtrepotools"]
|
||||
@@ -68,7 +68,7 @@
|
||||
depends = qtbase
|
||||
path = qtqa
|
||||
url = ../qtqa.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = essential
|
||||
priority = 50
|
||||
[submodule "qtlocation"]
|
||||
@@ -76,21 +76,21 @@
|
||||
recommends = qtdeclarative
|
||||
path = qtlocation
|
||||
url = ../qtlocation.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = preview
|
||||
[submodule "qtpositioning"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtserialport
|
||||
path = qtpositioning
|
||||
url = ../qtpositioning.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = addon
|
||||
[submodule "qtsensors"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtsensors
|
||||
url = ../qtsensors.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = addon
|
||||
[submodule "qtsystems"]
|
||||
depends = qtbase
|
||||
@@ -117,61 +117,61 @@
|
||||
recommends = qtdeclarative
|
||||
path = qtconnectivity
|
||||
url = ../qtconnectivity.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = addon
|
||||
[submodule "qtwayland"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtwayland
|
||||
url = ../qtwayland.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = addon
|
||||
[submodule "qt3d"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtshadertools qtmultimedia
|
||||
path = qt3d
|
||||
url = ../qt3d.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = deprecated
|
||||
[submodule "qtimageformats"]
|
||||
depends = qtbase
|
||||
path = qtimageformats
|
||||
url = ../qtimageformats.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = addon
|
||||
[submodule "qtserialbus"]
|
||||
depends = qtbase
|
||||
recommends = qtserialport
|
||||
path = qtserialbus
|
||||
url = ../qtserialbus.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = addon
|
||||
[submodule "qtserialport"]
|
||||
depends = qtbase
|
||||
path = qtserialport
|
||||
url = ../qtserialport.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = addon
|
||||
[submodule "qtwebsockets"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtwebsockets
|
||||
url = ../qtwebsockets.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = addon
|
||||
[submodule "qtwebchannel"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtwebsockets
|
||||
path = qtwebchannel
|
||||
url = ../qtwebchannel.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = addon
|
||||
[submodule "qtwebengine"]
|
||||
depends = qtdeclarative
|
||||
recommends = qtwebchannel qttools qtpositioning
|
||||
path = qtwebengine
|
||||
url = ../qtwebengine.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = addon
|
||||
priority = 10
|
||||
[submodule "qtcanvas3d"]
|
||||
@@ -185,28 +185,28 @@
|
||||
recommends = qtwebengine
|
||||
path = qtwebview
|
||||
url = ../qtwebview.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = addon
|
||||
[submodule "qtcharts"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtmultimedia
|
||||
path = qtcharts
|
||||
url = ../qtcharts.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = deprecated
|
||||
[submodule "qtdatavis3d"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtmultimedia
|
||||
path = qtdatavis3d
|
||||
url = ../qtdatavis3d.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = deprecated
|
||||
[submodule "qtvirtualkeyboard"]
|
||||
depends = qtbase qtdeclarative qtsvg
|
||||
recommends = qtmultimedia
|
||||
path = qtvirtualkeyboard
|
||||
url = ../qtvirtualkeyboard.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = addon
|
||||
[submodule "qtgamepad"]
|
||||
depends = qtbase
|
||||
@@ -219,27 +219,27 @@
|
||||
depends = qtbase qtdeclarative
|
||||
path = qtscxml
|
||||
url = ../qtscxml.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = addon
|
||||
[submodule "qtspeech"]
|
||||
depends = qtbase qtmultimedia
|
||||
recommends = qtdeclarative
|
||||
path = qtspeech
|
||||
url = ../qtspeech.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = addon
|
||||
[submodule "qtnetworkauth"]
|
||||
depends = qtbase
|
||||
path = qtnetworkauth
|
||||
url = ../qtnetworkauth.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = addon
|
||||
[submodule "qtremoteobjects"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtremoteobjects
|
||||
url = ../qtremoteobjects.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = addon
|
||||
[submodule "qtwebglplugin"]
|
||||
depends = qtbase qtwebsockets
|
||||
@@ -252,107 +252,107 @@
|
||||
depends = qtbase qtdeclarative
|
||||
path = qtlottie
|
||||
url = ../qtlottie.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = addon
|
||||
[submodule "qtquicktimeline"]
|
||||
depends = qtbase qtdeclarative
|
||||
path = qtquicktimeline
|
||||
url = ../qtquicktimeline
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = addon
|
||||
[submodule "qtquick3d"]
|
||||
depends = qtbase qtdeclarative qtshadertools
|
||||
recommends = qtquicktimeline
|
||||
path = qtquick3d
|
||||
url = ../qtquick3d.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = addon
|
||||
[submodule "qtshadertools"]
|
||||
depends = qtbase
|
||||
path = qtshadertools
|
||||
url = ../qtshadertools.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = addon
|
||||
[submodule "qt5compat"]
|
||||
depends = qtbase qtdeclarative
|
||||
path = qt5compat
|
||||
url = ../qt5compat.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = deprecated
|
||||
[submodule "qtcoap"]
|
||||
depends = qtbase
|
||||
path = qtcoap
|
||||
url = ../qtcoap.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = addon
|
||||
[submodule "qtmqtt"]
|
||||
depends = qtbase qtdeclarative
|
||||
recommends = qtwebsockets
|
||||
path = qtmqtt
|
||||
url = ../qtmqtt.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = addon
|
||||
[submodule "qtopcua"]
|
||||
depends = qtbase qtdeclarative
|
||||
path = qtopcua
|
||||
url = ../qtopcua.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = addon
|
||||
[submodule "qtlanguageserver"]
|
||||
depends = qtbase
|
||||
path = qtlanguageserver
|
||||
url = ../qtlanguageserver.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = preview
|
||||
[submodule "qthttpserver"]
|
||||
depends = qtbase
|
||||
recommends = qtwebsockets
|
||||
path = qthttpserver
|
||||
url = ../qthttpserver.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = addon
|
||||
[submodule "qtquick3dphysics"]
|
||||
depends = qtbase qtdeclarative qtquick3d qtshadertools
|
||||
path = qtquick3dphysics
|
||||
url = ../qtquick3dphysics.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = addon
|
||||
[submodule "qtgrpc"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtgrpc
|
||||
url = ../qtgrpc.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = addon
|
||||
[submodule "qtquickeffectmaker"]
|
||||
depends = qtbase qtdeclarative qtshadertools
|
||||
recommends = qtquick3d
|
||||
path = qtquickeffectmaker
|
||||
url = ../qtquickeffectmaker.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = addon
|
||||
[submodule "qtgraphs"]
|
||||
depends = qtbase qtdeclarative qtquick3d
|
||||
path = qtgraphs
|
||||
url = ../qtgraphs.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = addon
|
||||
[submodule "qttasktree"]
|
||||
depends = qtbase
|
||||
path = qttasktree
|
||||
url = ../qttasktree.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = preview
|
||||
[submodule "qtopenapi"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtopenapi
|
||||
url = ../qtopenapi.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = preview
|
||||
[submodule "qtcanvaspainter"]
|
||||
depends = qtbase qtdeclarative qtshadertools
|
||||
path = qtcanvaspainter
|
||||
url = ../qtcanvaspainter.git
|
||||
branch = 6.11
|
||||
branch = 6.11.0
|
||||
status = preview
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -295,7 +315,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()
|
||||
|
||||
@@ -3,11 +3,6 @@ Include: []
|
||||
Configurations:
|
||||
-
|
||||
Id: 'qttas-on-linux'
|
||||
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
||||
Compiler: 'GCC'
|
||||
Features: ['UseConfigure', 'Packaging', 'DisableTests']
|
||||
-
|
||||
Id: 'qttas-on-linux-rhel_9_6'
|
||||
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
|
||||
Compiler: 'GCC'
|
||||
Features: ['UseConfigure', 'DisableTests']
|
||||
Features: ['UseConfigure', 'Packaging', 'DisableTests']
|
||||
|
||||
@@ -120,15 +120,15 @@ 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', 'InsignificantTests']
|
||||
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', 'InsignificantTests']
|
||||
Features: ['Sccache', 'TestOnly']
|
||||
Platform dependency: 'ubuntu-24.04-x64'
|
||||
-
|
||||
Id: 'opensuse-15.6-developer-build'
|
||||
@@ -182,7 +182,6 @@ Configurations:
|
||||
'VCPKG_TARGET_TRIPLET=x64-windows-qt',
|
||||
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
|
||||
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
|
||||
'ZLIB_ROOT={{.Env.ZLIB_PATH_AMD64}}',
|
||||
]
|
||||
-
|
||||
Id: 'windows-11_24H2-msvc2022'
|
||||
@@ -198,13 +197,12 @@ Configurations:
|
||||
'VCPKG_TARGET_TRIPLET=x64-windows-qt',
|
||||
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
|
||||
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
|
||||
'ZLIB_ROOT={{.Env.ZLIB_PATH_AMD64}}',
|
||||
]
|
||||
-
|
||||
Id: 'windows-11_23h2-arm64-msvc2022'
|
||||
Template: 'qtci-windows-11_23H2-aarch64-53'
|
||||
Compiler: 'MSVC2022'
|
||||
Features: ['Packaging', 'DebugAndRelease', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
||||
Features: ['Sccache', 'Packaging', 'DebugAndRelease', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
||||
Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib -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}}\..',
|
||||
@@ -213,7 +211,6 @@ Configurations:
|
||||
'VCPKG_TARGET_TRIPLET=arm64-windows-qt',
|
||||
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
|
||||
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
|
||||
'ZLIB_ROOT={{.Env.ZLIB_PATH_ARM64}}',
|
||||
]
|
||||
-
|
||||
Id: 'windows-11_24H2-msvc2022-arm64'
|
||||
@@ -256,25 +253,12 @@ Configurations:
|
||||
'VCPKG_HOST_TRIPLET=x64-windows-qt',
|
||||
'VCPKG_TARGET_TRIPLET=x64-windows-qt',
|
||||
'gRPC_ROOT={{.Env.gRPC_ROOT_msvc}}',
|
||||
'ZLIB_ROOT={{.Env.ZLIB_PATH_AMD64}}',
|
||||
]
|
||||
-
|
||||
Id: 'rhel-8.10'
|
||||
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
|
||||
Id: 'rhel-9.6'
|
||||
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'UseConfigure', 'InstallQt5Dependencies', 'GenerateSBOM', 'VerifySBOM']
|
||||
Configure arguments: '-nomake examples -release -force-debug-info -headersclean -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
|
||||
Environment variables: [
|
||||
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}',
|
||||
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON',
|
||||
'VCPKG_HOST_TRIPLET=x64-linux-qt',
|
||||
'VCPKG_TARGET_TRIPLET=x64-linux-qt',
|
||||
]
|
||||
-
|
||||
Id: 'rhel-9.4'
|
||||
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Packaging','Sccache', 'UseConfigure', 'InstallQt5Dependencies', 'GenerateSBOM', 'VerifySBOM']
|
||||
Features: ['Packaging', 'Sccache', 'UseConfigure', 'InstallQt5Dependencies', 'GenerateSBOM', 'VerifySBOM']
|
||||
Configure arguments: '-nomake examples -release -force-debug-info -headersclean -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
|
||||
Environment variables: [
|
||||
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
|
||||
@@ -283,8 +267,8 @@ Configurations:
|
||||
'VCPKG_TARGET_TRIPLET=x64-linux-qt',
|
||||
]
|
||||
-
|
||||
Id: 'rhel-9.6'
|
||||
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
|
||||
Id: 'rhel-10.0'
|
||||
Template: 'qtci-linux-RHEL-10.0-x86_64-51'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'UseConfigure', 'InstallQt5Dependencies', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
|
||||
Configure arguments: '-nomake examples -release -force-debug-info -headersclean -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
|
||||
|
||||
@@ -19,7 +19,7 @@ Configurations:
|
||||
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}}\..',
|
||||
@@ -29,8 +29,8 @@ Configurations:
|
||||
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
|
||||
]
|
||||
-
|
||||
Id: 'rhel-8.10-minimal-static-test'
|
||||
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
|
||||
Id: 'rhel-9.6-minimal-static-test'
|
||||
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Packaging', 'Sccache', 'UseConfigure', 'InstallQt5Dependencies', 'MinimalStaticTests']
|
||||
Configure arguments: '-static -nomake examples -release -qt-libjpeg -no-icu -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
|
||||
@@ -44,7 +44,7 @@ Configurations:
|
||||
Id: 'ubuntu-24.04-arm64'
|
||||
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',
|
||||
|
||||
@@ -33,12 +33,12 @@ Configurations:
|
||||
]
|
||||
-
|
||||
Id: 'android-9-x86-on-linux'
|
||||
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
||||
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.4'
|
||||
Platform dependency: 'rhel-9.6'
|
||||
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'JavaDocs']
|
||||
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',
|
||||
@@ -51,32 +51,13 @@ Configurations:
|
||||
'ANDROID_EMULATOR=emulator_x86_api_28'
|
||||
]
|
||||
-
|
||||
Id: 'android-9-x86-on-linux-rhel_9_6'
|
||||
Id: 'android-16-x86_64-on-linux'
|
||||
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', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'JavaDocs', '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',
|
||||
'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',
|
||||
# We check QT_USE_TARGET_ANDROID_BUILD_DIR only in one configuration, to ensure builds
|
||||
# without this option work too.
|
||||
'COMMON_TARGET_TEST_CMAKE_ARGS=-DQT_USE_TARGET_ANDROID_BUILD_DIR=ON',
|
||||
'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-9.4-x86_64-50'
|
||||
Target os: 'Android_ANY'
|
||||
Target arch: 'x86_64'
|
||||
Compiler: 'GCC'
|
||||
Target compiler: 'Clang'
|
||||
Platform dependency: 'rhel-9.4'
|
||||
Platform dependency: 'rhel-9.6'
|
||||
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'JavaDocs']
|
||||
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',
|
||||
@@ -86,37 +67,5 @@ Configurations:
|
||||
# configuration, to ensure builds without this option work too.
|
||||
'COMMON_TARGET_TEST_CMAKE_ARGS=-DQT_USE_TARGET_ANDROID_BUILD_DIR=ON -DQT_USE_ANDROID_MODERN_BUNDLE=ON',
|
||||
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}',
|
||||
'ANDROID_EMULATOR=emulator_x86_64_api_35'
|
||||
]
|
||||
-
|
||||
Id: 'android-16-x86_64-on-linux'
|
||||
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-9.4'
|
||||
Features: ['Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests']
|
||||
Environment variables: [
|
||||
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_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'
|
||||
]
|
||||
|
||||
@@ -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,12 +2,12 @@ Version: 2
|
||||
Configurations:
|
||||
-
|
||||
Id: 'android-x86-developer-build-testrun-on-linux'
|
||||
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
||||
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.4'
|
||||
Platform dependency: 'rhel-9.6'
|
||||
Features: ['Packaging', 'Sccache', 'AndroidTestRun', 'UseConfigure']
|
||||
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',
|
||||
@@ -15,18 +15,3 @@ Configurations:
|
||||
'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,32 +2,6 @@ Version: 2
|
||||
Configurations:
|
||||
-
|
||||
Id: 'android-9-multi-abi'
|
||||
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
||||
Target os: 'Android_ANY'
|
||||
Target arch: 'multi'
|
||||
Compiler: 'GCC'
|
||||
Target compiler: 'Clang'
|
||||
Platform dependency: [
|
||||
'rhel-9.4',
|
||||
'android-9-x86-on-linux',
|
||||
'android-15-x86_64-on-linux'
|
||||
]
|
||||
Features: [
|
||||
'Sccache',
|
||||
'WarningsAreErrors',
|
||||
'AndroidTestRun',
|
||||
'MinimalAndroidMultiABITests',
|
||||
'InstallDepsPerPlatformSubdir'
|
||||
]
|
||||
Environment variables: [
|
||||
'QT_CI_ARTIFACT_ID_PATH_Android-host=QT_CI_ARTIFACT_ID_PATH_rhel-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',
|
||||
'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'
|
||||
@@ -36,7 +10,7 @@ Configurations:
|
||||
Platform dependency: [
|
||||
'rhel-9.6',
|
||||
'android-9-x86-on-linux',
|
||||
'android-15-x86_64-on-linux'
|
||||
'android-16-x86_64-on-linux'
|
||||
]
|
||||
Features: [
|
||||
'Sccache',
|
||||
@@ -50,7 +24,7 @@ Configurations:
|
||||
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-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'
|
||||
]
|
||||
|
||||
@@ -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,25 +48,25 @@ 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'
|
||||
-
|
||||
Id: 'macos-26-arm64-tests'
|
||||
Template: 'qtci-macos-26-arm-104'
|
||||
Compiler: 'Clang'
|
||||
Features: ['TestOnly', 'Packaging']
|
||||
Features: ['Sccache', 'TestOnly', 'Packaging']
|
||||
Platform dependency: 'macos-universal-on-arm64'
|
||||
|
||||
# =========================================================================
|
||||
@@ -89,7 +89,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}}',
|
||||
@@ -99,7 +99,7 @@ Configurations:
|
||||
Id: 'macos-26-arm64-developer-build'
|
||||
Template: 'qtci-macos-26-arm-104'
|
||||
Compiler: 'Clang'
|
||||
Features: ['DoNotRunTests', 'WarningsAreErrors', 'UseConfigure', 'Insignificant']
|
||||
Features: ['Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure', 'Insignificant']
|
||||
Configure arguments: '-developer-build -nomake examples -debug -framework'
|
||||
Environment variables: [
|
||||
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
Version: 2
|
||||
Include: [
|
||||
cmake_platforms.yaml: [
|
||||
'rhel-9.4'
|
||||
'rhel-9.6'
|
||||
],
|
||||
cmake_platforms_target_android.yaml: [
|
||||
'android-15-x86_64-on-linux',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
Version: 2
|
||||
Include: [
|
||||
cmake_platforms.yaml: [
|
||||
'rhel-9.4',
|
||||
'rhel-9.6',
|
||||
'windows-11_24h2-mingw13'
|
||||
],
|
||||
cmake_platforms_target_android.yaml: [
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
Version: 2
|
||||
Include: [
|
||||
cmake_platforms.yaml: [
|
||||
'rhel-9.4',
|
||||
'rhel-9.6',
|
||||
'windows-11_24h2-mingw13'
|
||||
],
|
||||
cmake_platforms_target_android.yaml: [
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
Version: 2
|
||||
Include: [
|
||||
cmake_platforms.yaml: [
|
||||
'rhel-9.4'
|
||||
'rhel-9.6'
|
||||
],
|
||||
cmake_platforms_target_android.yaml: [
|
||||
'android-16-x86_64-on-linux',
|
||||
|
||||
@@ -26,14 +26,3 @@ Configurations:
|
||||
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
|
||||
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DINPUT_headersclean=ON'
|
||||
]
|
||||
# Test clang-20 on Ubuntu 24.04 ARM64 Wayland
|
||||
-
|
||||
Id: 'ubuntu-24.04-arm64-clang20-cxx23'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-aarch64-52'
|
||||
Compiler: 'Clang'
|
||||
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 -c++std c++23'
|
||||
Environment variables: [
|
||||
'COMMON_CMAKE_ARGS=-DCMAKE_C_COMPILER=clang-20 -DCMAKE_CXX_COMPILER=clang++-20',
|
||||
'CMAKE_ARGS=-DQT_FEATURE_stdlib_libcpp=ON'
|
||||
]
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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: ''
|
||||
|
||||
@@ -13,8 +13,8 @@ Configurations:
|
||||
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
|
||||
]
|
||||
-
|
||||
Id: 'rhel-8.10-unity-build'
|
||||
Template: 'qtci-linux-RHEL-8.10-x86_64-50'
|
||||
Id: 'rhel-9.6-unity-build'
|
||||
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'UseConfigure', 'InstallQt5Dependencies', 'DoNotRunTests']
|
||||
Configure arguments: '-make examples -debug -force-debug-info -headersclean -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
|
||||
|
||||
@@ -9,10 +9,6 @@ Configurations:
|
||||
Template: 'qtci-macos-13-x86_64-103'
|
||||
Compiler: 'Clang'
|
||||
Features: ['DisableTests']
|
||||
-
|
||||
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
||||
Compiler: 'GCC'
|
||||
Features: ['DisableTests']
|
||||
-
|
||||
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
|
||||
Compiler: 'GCC'
|
||||
|
||||
@@ -9,7 +9,7 @@ Configurations:
|
||||
Environment variables: []
|
||||
Environment script: ['%ProgramFiles%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'amd64']
|
||||
-
|
||||
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
||||
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'DebugAndRelease']
|
||||
Configure arguments: ''
|
||||
@@ -43,7 +43,7 @@ Configurations:
|
||||
Environment variables: []
|
||||
Environment script: ['%ProgramFiles%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'amd64']
|
||||
-
|
||||
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
||||
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'DebugAndRelease', 'OldestQt']
|
||||
Configure arguments: ''
|
||||
|
||||
@@ -15,8 +15,3 @@ Include: [
|
||||
quick-bridges.yaml
|
||||
]
|
||||
Configurations: []
|
||||
Overrides:
|
||||
# Make VxWorks tests insignificant.
|
||||
-
|
||||
Id: 'vxworks-x86_64-tests'
|
||||
Features: ['VMSize8', 'UseConfigure', 'BuildTestsInTest', 'TestOnly', 'InsignificantTests']
|
||||
|
||||
@@ -1,17 +1,5 @@
|
||||
Version: 2
|
||||
Configurations:
|
||||
# Test gcc-12 on RHEL 9.4
|
||||
-
|
||||
Id: 'rhel-9.4-gcc12'
|
||||
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'UseConfigure', 'InstallQt5Dependencies', 'DoNotRunTests']
|
||||
Configure arguments: '-developer-build -nomake examples -release -force-debug-info -headersclean -separate-debug-info -qt-pcre -no-libudev -bundled-xcb-xinput'
|
||||
Environment variables: [
|
||||
'PATH=/opt/rh/gcc-toolset-12/root/usr/bin/:{{.Env.PATH}}',
|
||||
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
|
||||
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DINPUT_headersclean=ON'
|
||||
]
|
||||
# Test gcc-12 on RHEL 9.6
|
||||
-
|
||||
Id: 'rhel-9.6-gcc12'
|
||||
|
||||
@@ -1,16 +1,11 @@
|
||||
Version: 2
|
||||
Include: []
|
||||
Configurations:
|
||||
-
|
||||
Id: 'qtgp-on-linux'
|
||||
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']
|
||||
Features: ['TestOnly']
|
||||
-
|
||||
Id: 'qtgp-on-macos'
|
||||
Template: 'qtci-macos-14-arm-106'
|
||||
|
||||
@@ -2,7 +2,6 @@ Version: 2
|
||||
Module only: True
|
||||
Include: [
|
||||
cmake_platforms.yaml: [
|
||||
'rhel-9.4',
|
||||
'rhel-9.6'
|
||||
],
|
||||
cmake_platforms_target_android.yaml: [
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -12,7 +12,6 @@ Include: [
|
||||
"opensuse-16.0-developer-build",
|
||||
"sles-15_sp6-static",
|
||||
"windows-10_22h2-msvc2022",
|
||||
"rhel-9.4",
|
||||
"rhel-9.6",
|
||||
"windows-11_24h2-mingw13",
|
||||
"windows-11_24H2-mingw13-developer-build",
|
||||
|
||||
@@ -13,7 +13,6 @@ Include: [
|
||||
"opensuse-16.0-developer-build",
|
||||
"sles-15_sp6-static",
|
||||
"windows-10_22h2-msvc2022",
|
||||
"rhel-9.4",
|
||||
"rhel-9.6",
|
||||
"windows-11_24h2-mingw13",
|
||||
"windows-11_24H2-mingw13-developer-build",
|
||||
@@ -40,21 +39,11 @@ Configurations:
|
||||
Environment variables: [
|
||||
'CMAKE_ARGS=-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"'
|
||||
]
|
||||
-
|
||||
Id: 'Linux-RHEL_9_4_Static'
|
||||
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Packaging', 'Sccache', 'UseConfigure', 'MinimalStaticTests']
|
||||
Configure arguments: '-static -no-icu -nomake examples -release -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput -no-sql-mysql'
|
||||
Environment variables: [
|
||||
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
|
||||
'NON_QTBASE_CMAKE_ARGS=-DINPUT_headersclean=ON'
|
||||
]
|
||||
-
|
||||
Id: 'Linux-RHEL_9_6_Static'
|
||||
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'UseConfigure', 'MinimalStaticTests', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
|
||||
Features: ['Packaging', 'Sccache', 'UseConfigure', 'MinimalStaticTests']
|
||||
Configure arguments: '-static -no-icu -nomake examples -release -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput -no-sql-mysql'
|
||||
Environment variables: [
|
||||
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
|
||||
|
||||
@@ -24,7 +24,7 @@ Configurations:
|
||||
Environment variables: []
|
||||
-
|
||||
Id: 'linux-quick-bridges'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'Insignificant']
|
||||
Configure arguments: >
|
||||
|
||||
@@ -151,7 +151,7 @@ Configurations:
|
||||
Platform dependency: 'macos-quick-minimal'
|
||||
-
|
||||
Id: 'linux-quick-minimal'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
|
||||
Compiler: 'GCC'
|
||||
Features: ['Sccache', 'UseConfigure', 'DisableTests', 'Insignificant']
|
||||
Configure arguments: >
|
||||
|
||||
@@ -2,7 +2,6 @@ Version: 2
|
||||
Include: [
|
||||
cmake_platforms.yaml: [
|
||||
"documentation-warnings",
|
||||
"rhel-9.4",
|
||||
"rhel-9.6",
|
||||
'windows-11_24h2-mingw13',
|
||||
],
|
||||
@@ -13,43 +12,11 @@ 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-9.4-x86_64-50'
|
||||
Target os: 'Android_ANY'
|
||||
Target arch: 'x86_64'
|
||||
Compiler: 'GCC'
|
||||
Target compiler: 'Clang'
|
||||
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_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-9.4-x86_64-50'
|
||||
Target os: 'Android_ANY'
|
||||
Target arch: 'x86_64'
|
||||
Compiler: 'GCC'
|
||||
Target compiler: 'Clang'
|
||||
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_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'
|
||||
@@ -58,7 +25,7 @@ Configurations:
|
||||
Compiler: 'GCC'
|
||||
Target compiler: 'Clang'
|
||||
Platform dependency: 'rhel-9.6'
|
||||
Features: ['Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
|
||||
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure']
|
||||
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}}',
|
||||
@@ -74,7 +41,7 @@ Configurations:
|
||||
Compiler: 'GCC'
|
||||
Target compiler: 'Clang'
|
||||
Platform dependency: 'rhel-9.6'
|
||||
Features: ['Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
|
||||
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure']
|
||||
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}}',
|
||||
|
||||
@@ -6,7 +6,7 @@ Include: [
|
||||
"windows-quick-bridges"
|
||||
],
|
||||
cmake_platforms.yaml: [
|
||||
"rhel-9.4"
|
||||
"rhel-9.6"
|
||||
]
|
||||
]
|
||||
Configurations:
|
||||
@@ -40,9 +40,9 @@ Configurations:
|
||||
|
||||
-
|
||||
Id: 'linux-quick-bridges-python'
|
||||
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
||||
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
|
||||
Compiler: 'GCC'
|
||||
Platform dependency: 'rhel-9.4'
|
||||
Platform dependency: 'rhel-9.6'
|
||||
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesPython']
|
||||
|
||||
-
|
||||
|
||||
@@ -3,7 +3,7 @@ Module only: true
|
||||
Include: [
|
||||
cmake_platforms.yaml: [
|
||||
"windows-10_22h2-msvc2019",
|
||||
"rhel-8.10"
|
||||
"rhel-9.6"
|
||||
],
|
||||
macos.yaml: [
|
||||
"macos-universal-on-arm64"
|
||||
|
||||
@@ -2,67 +2,67 @@ Version: 2
|
||||
Module only: True
|
||||
Configurations:
|
||||
-
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
|
||||
Compiler: 'Yocto'
|
||||
Features: ['Packaging']
|
||||
Target arch: 'TARGET1'
|
||||
-
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
|
||||
Compiler: 'Yocto'
|
||||
Features: ['Packaging']
|
||||
Target arch: 'TARGET2'
|
||||
-
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
|
||||
Compiler: 'Yocto'
|
||||
Features: ['Packaging']
|
||||
Target arch: 'TARGET3'
|
||||
-
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
|
||||
Compiler: 'Yocto'
|
||||
Features: ['Packaging']
|
||||
Target arch: 'TARGET4'
|
||||
-
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
|
||||
Compiler: 'Yocto'
|
||||
Features: ['Packaging']
|
||||
Target arch: 'TARGET5'
|
||||
-
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
|
||||
Compiler: 'Yocto'
|
||||
Features: ['Packaging']
|
||||
Target arch: 'TARGET6'
|
||||
-
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
|
||||
Compiler: 'Yocto'
|
||||
Features: ['Packaging']
|
||||
Target arch: 'TARGET7'
|
||||
-
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
|
||||
Compiler: 'Yocto'
|
||||
Features: ['Packaging']
|
||||
Target arch: 'TARGET8'
|
||||
-
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
|
||||
Compiler: 'Yocto'
|
||||
Features: ['Packaging']
|
||||
Target arch: 'TARGET9'
|
||||
-
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
|
||||
Compiler: 'Yocto'
|
||||
Features: ['Packaging']
|
||||
Target arch: 'TARGET10'
|
||||
-
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
|
||||
Compiler: 'Yocto'
|
||||
Features: ['Insignificant']
|
||||
Target arch: 'INSIGNIFICANT_TARGET1'
|
||||
-
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
|
||||
Compiler: 'Yocto'
|
||||
Features: ['Insignificant']
|
||||
Target arch: 'INSIGNIFICANT_TARGET2'
|
||||
-
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
|
||||
Compiler: 'Yocto'
|
||||
Features: ['Insignificant']
|
||||
Target arch: 'INSIGNIFICANT_TARGET3'
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2026 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
set -ex
|
||||
|
||||
sudo tee -a /etc/dconf/db/local.d/00-media-automount <<"EOF"
|
||||
[org/gnome/desktop/media-handling]
|
||||
automount=false
|
||||
automount-open=false
|
||||
EOF
|
||||
|
||||
sudo dconf update
|
||||
@@ -0,0 +1,88 @@
|
||||
### RHEL 10.0 ###
|
||||
Hard Disk: 500G
|
||||
Network: CI
|
||||
Video Card: Total Video Memory: 64MB
|
||||
Boot options/Firmware: BIOS
|
||||
Language: English (United States)
|
||||
Keyboard: English (US), Norwegian (Windows), Finnish (Windows)
|
||||
Time & Date: Etc/Coordinated Universal Time
|
||||
Software Selection: Server with GUI
|
||||
Installation Destination: Automatic partitioning selected
|
||||
Root Passowrd: Set
|
||||
Network & Host..: Connected
|
||||
KDUMP enabled: Memory Reservation: automatic
|
||||
Begin Installation
|
||||
Reboot
|
||||
# Configure Settings
|
||||
Notifications:
|
||||
* Lock Screen Notifications: OFF
|
||||
* Applications: Set notification off
|
||||
* Do Not Disturb: on
|
||||
Applications:
|
||||
* Disable notifications from all applications
|
||||
Privacy:
|
||||
* Blank Screen Delay: Never
|
||||
* Screen Lock: OFF
|
||||
Power:
|
||||
* Blank screen: Never
|
||||
Displays:
|
||||
* Resolution: 1280 x 800
|
||||
Users:
|
||||
* Automatic login on
|
||||
# Add user to sudoers
|
||||
Add 'qt ALL=NOPASSWD: ALL' to /etc/sudoers.d/qt
|
||||
Add 'GRUB_GFXMODE=1280x800' to /etc/default/grub
|
||||
sudo grub2-mkconfig -o /etc/grub2.cfg
|
||||
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
|
||||
# Add support for virtio driver
|
||||
su
|
||||
echo "add_drivers+=\" virtio-blk \"" >> /etc/dracut.conf.d/virtio.conf
|
||||
dracut -f
|
||||
|
||||
# NOTE!
|
||||
# - RHEL uses 'sudo subscription-manager release --set=10.0' in provisioning
|
||||
# - Do not update Tier 1 via GUI without using this same --set before provisioning
|
||||
# - To avoid System to have newer packages than RPMS which will cause update issues
|
||||
|
||||
# Register RHEL before it's possible to install qemu-guest-agent
|
||||
subscription-manager register
|
||||
|
||||
yum -y install qemu-guest-agent
|
||||
|
||||
# Do these from Opennebula UI!
|
||||
|
||||
# Enable network connection from right upper corner
|
||||
This is done when the VM is launched as persistent in OpenNebula.
|
||||
# Fetch and run coin-setup
|
||||
Download http://coin/coin/binary/linux_amd64/coin-setup
|
||||
# run as qt user
|
||||
run './coin-setup'
|
||||
# Switch to use GNOME Classic user interface
|
||||
# GNOME Classic was selected because there's an issue with Standard (wayland display server).
|
||||
# Autotest start failing because terminal session remains in Activities Overview.
|
||||
# https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3854
|
||||
First execute script ./01-disable-automounting.sh (dconf update crash in GNOME Classic)
|
||||
logout -> Select user (without it the drop down menu won't appear) -> switch to 'GNOME Classic' -desktop session from drop down menu in login screen
|
||||
|
||||
# If gear icon is not seen, check is 'GNOME Classic' -desktop session installed, and install if it's missing
|
||||
ls /usr/share/xsessions/
|
||||
# This should list something like these if it's installed
|
||||
gnome-classic.desktop
|
||||
gnome.desktop
|
||||
|
||||
# To install GNOME Classic if it's missing
|
||||
sudo dnf reinstall gnome-classic-session
|
||||
|
||||
# In RHEL 10.0 even with 'GNOME Classic' -desktop the Activities Overview is still in use
|
||||
# It can be bypassed via 'No Overview' -GNOME extension:
|
||||
# - https://extensions.gnome.org/extension/4099/no-overview/
|
||||
# - Select GNOME Shell version 47 to download
|
||||
# - Unpack extension from tar.gz
|
||||
sudo mv <extension_folder> /usr/share/gnome-shell/extensions/no-overview@fthx
|
||||
sudo chown -R root: /usr/share/gnome-shell/extensions/no-overview@fthx
|
||||
sudo chmod 755 -R /usr/share/gnome-shell/extensions/no-overview@fthx
|
||||
sudo reboot
|
||||
gnome-extensions list
|
||||
gnome-extensions enable no-overview@fthx
|
||||
|
||||
Reboot
|
||||
@@ -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
|
||||
|
||||
@@ -1,12 +1,7 @@
|
||||
*.iml
|
||||
.gradle
|
||||
.idea
|
||||
/local.properties
|
||||
/.idea/caches
|
||||
/.idea/libraries
|
||||
/.idea/modules.xml
|
||||
/.idea/workspace.xml
|
||||
/.idea/navEditor.xml
|
||||
/.idea/assetWizardSettings.xml
|
||||
.DS_Store
|
||||
/build
|
||||
/captures
|
||||
|
||||
@@ -4,19 +4,19 @@ 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"
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
sourceCompatibility JavaVersion.VERSION_17
|
||||
targetCompatibility JavaVersion.VERSION_17
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
android:allowBackup="true"
|
||||
android:label="gradle_project"
|
||||
android:supportsRtl="true"
|
||||
tools:targetApi="35">
|
||||
tools:targetApi="36">
|
||||
<activity
|
||||
android:name=".MainActivity"
|
||||
android:exported="true">
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
[versions]
|
||||
agp = "8.10.1"
|
||||
core = "1.16.0"
|
||||
agp = "9.0.0"
|
||||
core = "1.17.0"
|
||||
appcompat = "1.7.1"
|
||||
material = "1.12.0"
|
||||
material = "1.13.0"
|
||||
constraintlayout = "2.2.1"
|
||||
|
||||
[libraries]
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version
|
||||
|
||||
set -e
|
||||
set -ex
|
||||
|
||||
# shellcheck source=../unix/DownloadURL.sh
|
||||
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
|
||||
@@ -22,11 +22,12 @@ sudo mkdir -p "$sdkTargetFolder"
|
||||
|
||||
basePath="http://ci-files01-hki.ci.qt.io/input/android"
|
||||
|
||||
toolsVersion="2.1"
|
||||
toolsFile="commandlinetools-linux-6609375_latest.zip"
|
||||
sdkBuildToolsVersion="35.0.1"
|
||||
sdkApiLevel="android-35"
|
||||
toolsSha1="9172381ff070ee2a416723c1989770cf4b0d1076"
|
||||
toolsVersion="19.0"
|
||||
toolsFile="commandlinetools-linux-13114758_latest.zip"
|
||||
toolsBackupUrl="https://dl.google.com/android/repository/$toolsFile"
|
||||
sdkBuildToolsVersion="36.0.0"
|
||||
sdkApiLevel="android-36"
|
||||
toolsSha1="5fdcc763663eefb86a5b8879697aa6088b041e70"
|
||||
|
||||
ndkVersionLatest="r27c"
|
||||
ndkSha1Latest="090e8083a715fdb1a3e402d0763c388abb03fb4e"
|
||||
@@ -57,11 +58,17 @@ toolsTargetFile="/tmp/$toolsFile"
|
||||
toolsSourceFile="$basePath/$toolsFile"
|
||||
|
||||
echo "Download and unzip Android SDK"
|
||||
DownloadURL "$toolsSourceFile" "$toolsSourceFile" "$toolsSha1" "$toolsTargetFile"
|
||||
DownloadURL "$toolsSourceFile" "$toolsBackupUrl" "$toolsSha1" "$toolsTargetFile"
|
||||
echo "Unzipping Android Tools to '$sdkTargetFolder'"
|
||||
sudo unzip -q "$toolsTargetFile" -d "$sdkTargetFolder"
|
||||
rm "$toolsTargetFile"
|
||||
|
||||
# Android Command-Line Tools unpacks a directory 'cmdline-tools'. Due
|
||||
# to existing code, we need to move it into 'cmdline-tools/tools'
|
||||
sudo mv "$sdkTargetFolder/cmdline-tools" "$sdkTargetFolder/tools"
|
||||
sudo mkdir "$sdkTargetFolder/cmdline-tools"
|
||||
sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools"
|
||||
|
||||
function InstallNdk() {
|
||||
|
||||
ndkVersion=$1
|
||||
@@ -115,9 +122,6 @@ sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'"
|
||||
# But don't let the pipeline hide sdkmanager failures.
|
||||
set -o pipefail
|
||||
|
||||
sudo mkdir "$sdkTargetFolder/cmdline-tools"
|
||||
sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools"
|
||||
|
||||
echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion."
|
||||
# shellcheck disable=SC2031
|
||||
if [ "$http_proxy" != "" ]; then
|
||||
@@ -145,7 +149,9 @@ cat >>~/versions.txt <<EOB
|
||||
Android SDK tools = $toolsVersion
|
||||
Android SDK Build Tools = $sdkBuildToolsVersion
|
||||
Android SDK API level = $sdkApiLevel
|
||||
Android NDK = $ndkVersion
|
||||
Android NDK latest = $ndkVersionLatest
|
||||
Android NDK nightly1 = $ndkVersionNightly1
|
||||
Android NDK nightly2 = $ndkVersionNightly2
|
||||
EOB
|
||||
|
||||
cd "$sdkTargetFolder/cmdline-tools/tools/bin"
|
||||
@@ -178,45 +184,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"
|
||||
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"
|
||||
|
||||
@@ -240,16 +228,20 @@ echo "no" | ./avdmanager create avd -n automotive_emulator_x86_64_api_29 -c 2048
|
||||
# To be used by the VMs to start the emulator for tests
|
||||
emulator_script_filename="android_emulator_launcher.sh"
|
||||
scripts_dir_name="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
|
||||
cp "${scripts_dir_name}/${emulator_script_filename}" "${HOME}"
|
||||
cp "${scripts_dir_name}/../unix/${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="bb12c984b2c838bdb06169ef7d659384c02c8b82"
|
||||
commit_sha="269a75dbd1262a714eb238c42e5159a0a8979818"
|
||||
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
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
},
|
||||
"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": {
|
||||
|
||||
@@ -3,6 +3,10 @@
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
# This script builds and installs FFmpeg static or shared (default) libs
|
||||
# It can take an optional output parameter for installation:
|
||||
#
|
||||
# install-ffmpeg-linx.sh shared ~/my/install/path
|
||||
|
||||
set -ex
|
||||
|
||||
source "${BASH_SOURCE%/*}/../unix/ffmpeg-installation-utils.sh"
|
||||
@@ -12,7 +16,8 @@ build_type=$(get_ffmpeg_build_type "$1")
|
||||
ffmpeg_source_dir=$(download_ffmpeg)
|
||||
ffmpeg_name=$(basename "$ffmpeg_source_dir")
|
||||
ffmpeg_config_options=$(get_ffmpeg_config_options "$build_type")
|
||||
prefix="/usr/local/$ffmpeg_name"
|
||||
default_prefix="/usr/local/$ffmpeg_name"
|
||||
prefix="${2:-$default_prefix}"
|
||||
pkgconfig_path="$PKG_CONFIG_PATH"
|
||||
|
||||
install_ff_nvcodec_headers() {
|
||||
@@ -95,5 +100,6 @@ if [ "$build_type" == "shared" ]; then
|
||||
"$fix_dependencies" "$output_dir"
|
||||
fi
|
||||
|
||||
sudo mv "$output_dir" "/usr/local"
|
||||
sudo mkdir -p "$prefix"
|
||||
sudo mv "$output_dir"/* "$prefix"
|
||||
set_ffmpeg_dir_env_var "FFMPEG_DIR" "$prefix"
|
||||
|
||||
@@ -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"
|
||||
;;
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -8,79 +8,118 @@
|
||||
|
||||
set -ex
|
||||
|
||||
# shellcheck source=../unix/DownloadURL.sh
|
||||
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
|
||||
# shellcheck source=../unix/check_and_set_proxy.sh
|
||||
source "${BASH_SOURCE%/*}/../unix/check_and_set_proxy.sh"
|
||||
# shellcheck source=../unix/SetEnvVar.sh
|
||||
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
|
||||
|
||||
targetFolder="/opt/android"
|
||||
sdkTargetFolder="$targetFolder/sdk"
|
||||
|
||||
basePath="/net/ci-files01-hki.ci.qt.io/hdd/www/input/android"
|
||||
sudo mkdir -p "$sdkTargetFolder"
|
||||
|
||||
toolsVersion="2.1"
|
||||
# toolsFile dertermines tools version
|
||||
toolsFile="commandlinetools-mac-6609375_latest.zip"
|
||||
basePath="http://ci-files01-hki.ci.qt.io/input/android"
|
||||
|
||||
toolsVersion="19.0"
|
||||
toolsFile="commandlinetools-mac-13114758_latest.zip"
|
||||
toolsBackupUrl="https://dl.google.com/android/repository/$toolsFile"
|
||||
sdkBuildToolsVersion="36.0.0"
|
||||
sdkApiLevel="android-36"
|
||||
toolsSha1="c3e06a1959762e89167d1cbaa988605f6f7c1d24"
|
||||
|
||||
ndkVersionLatest="r27c"
|
||||
ndkSha1Latest="0217c10ffbec496bb9fbfbb3c6fc2477c6b77297"
|
||||
|
||||
# Preview NDK that is in alpha/beta/RC state
|
||||
ndkVersionPreview="r29-beta2"
|
||||
ndkSha1Preview="09be4f8fb626a9c93415198ea8e75d8d82f528fa"
|
||||
|
||||
# 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"
|
||||
ndkVersionPreview="r29-beta2"
|
||||
ndkVersionNightly1="$ndkVersionLatest" # If same version as latest = skip NDK install for nightly
|
||||
ndkVersionNightly2="$ndkVersionLatest"
|
||||
ndkVersionNightly1=$ndkVersionLatest # Set as same version as latest = skip NDK install in provisioning
|
||||
ndkSha1Nightly1=$ndkSha1Latest
|
||||
|
||||
sdkBuildToolsVersion="35.0.1"
|
||||
# this is compile sdk version
|
||||
sdkApiLevel="android-35"
|
||||
ndkVersionNightly2=$ndkVersionLatest
|
||||
ndkSha1Nightly2=$ndkSha1Latest
|
||||
|
||||
toolsTargetFile="/tmp/$toolsFile"
|
||||
toolsSourceFile="$basePath/$toolsFile"
|
||||
|
||||
echo "Download and unzip Android SDK"
|
||||
DownloadURL "$toolsSourceFile" "$toolsBackupUrl" "$toolsSha1" "$toolsTargetFile"
|
||||
echo "Unzipping Android Tools to '$sdkTargetFolder'"
|
||||
sudo unzip -q "$toolsTargetFile" -d "$sdkTargetFolder"
|
||||
rm "$toolsTargetFile"
|
||||
|
||||
# Android Command-Line Tools unpacks a directory 'cmdline-tools'. Due
|
||||
# to existing code, we need to move it into 'cmdline-tools/tools'
|
||||
sudo mv "$sdkTargetFolder/cmdline-tools" "$sdkTargetFolder/tools"
|
||||
sudo mkdir "$sdkTargetFolder/cmdline-tools"
|
||||
sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools"
|
||||
|
||||
function InstallNdk() {
|
||||
|
||||
ndkVersion=$1
|
||||
ndkSha1=$2
|
||||
|
||||
if [[ ! -d "${targetFolder}/android-ndk-${ndkVersion}" ]]; then
|
||||
echo "Unzipping Android NDK $ndkVersion to '${targetFolder}'"
|
||||
ndkSourceFile="$basePath/android-ndk-$ndkVersion-darwin*.zip"
|
||||
sudo unzip -q "$ndkSourceFile" -d "$targetFolder"
|
||||
fi
|
||||
ndkFile="android-ndk-$ndkVersion-darwin.zip"
|
||||
ndkTargetFile="/tmp/$ndkFile"
|
||||
ndkSourceFile="$basePath/$ndkFile"
|
||||
|
||||
DownloadURL "$ndkSourceFile" "$ndkSourceFile" "$ndkSha1" "$ndkTargetFile"
|
||||
echo "Unzipping Android NDK to '$targetFolder'"
|
||||
# Get the package base directory name as string
|
||||
zipBase=$(sudo zipinfo -1 "$ndkTargetFile" 2>/dev/null | awk '!seen {sub("/.*",""); print; seen=1}')
|
||||
sudo unzip -q "$ndkTargetFile" -d "$targetFolder"
|
||||
rm "$ndkTargetFile"
|
||||
androidNdkRoot="${targetFolder}/${zipBase}"
|
||||
}
|
||||
|
||||
InstallNdk $ndkVersionLatest
|
||||
SetEnvVar "ANDROID_NDK_ROOT_LATEST" "$targetFolder/android-ndk-$ndkVersionLatest"
|
||||
InstallNdk $ndkVersionLatest $ndkSha1Latest
|
||||
SetEnvVar "ANDROID_NDK_ROOT_LATEST" "$androidNdkRoot"
|
||||
|
||||
if [ "$ndkVersionPreview" != "$ndkVersionLatest" ]; then
|
||||
InstallNdk $ndkVersionPreview
|
||||
SetEnvVar "ANDROID_NDK_ROOT_PREVIEW" "$targetFolder/android-ndk-$ndkVersionPreview"
|
||||
InstallNdk $ndkVersionPreview $ndkSha1Preview
|
||||
SetEnvVar "ANDROID_NDK_ROOT_PREVIEW" "$androidNdkRoot"
|
||||
fi
|
||||
|
||||
if [ "$ndkVersionNightly1" != "$ndkVersionLatest" ]; then
|
||||
InstallNdk $ndkVersionNightly1
|
||||
SetEnvVar "ANDROID_NDK_ROOT_NIGHTLY1" "$targetFolder/android-ndk-$ndkVersionNightly1"
|
||||
InstallNdk $ndkVersionNightly1 $ndkSha1Nightly1
|
||||
SetEnvVar "ANDROID_NDK_ROOT_NIGHTLY1" "$androidNdkRoot"
|
||||
fi
|
||||
|
||||
if [ "$ndkVersionNightly2" != "$ndkVersionLatest" ]; then
|
||||
InstallNdk $ndkVersionNightly2
|
||||
SetEnvVar "ANDROID_NDK_ROOT_NIGHTLY2" "$targetFolder/android-ndk-$ndkVersionNightly2"
|
||||
InstallNdk $ndkVersionNightly2 $ndkSha1Nightly2
|
||||
SetEnvVar "ANDROID_NDK_ROOT_NIGHTLY2" "$androidNdkRoot"
|
||||
fi
|
||||
|
||||
echo "Unzipping Android Tools to '$sdkTargetFolder'"
|
||||
sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder"
|
||||
|
||||
echo "Changing ownership of Android files."
|
||||
sudo chown -R qt:wheel "$targetFolder"
|
||||
sudo chmod -R 755 $targetFolder
|
||||
|
||||
# Run the following command under `eval` or `sh -c` so that the shell properly splits it
|
||||
# Stop the sdkmanager from printing thousands of lines of #hashmarks.
|
||||
# Run the following command under `eval` or `sh -c` so that the shell properly splits it.
|
||||
sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'"
|
||||
|
||||
sudo mkdir "$sdkTargetFolder/cmdline-tools"
|
||||
sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools"
|
||||
# But don't let the pipeline hide sdkmanager failures.
|
||||
set -o pipefail
|
||||
|
||||
echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion."
|
||||
(echo "y"; echo "y") | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" "--sdk_root=$sdkTargetFolder" \
|
||||
"platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
|
||||
| eval "$sdkmanager_no_progress_bar_cmd"
|
||||
# shellcheck disable=SC2031
|
||||
if [ "$http_proxy" != "" ]; then
|
||||
proxy_host=$(echo "$proxy" | cut -d'/' -f3 | cut -d':' -f1)
|
||||
proxy_port=$(echo "$proxy" | cut -d':' -f3)
|
||||
echo "y" | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" --sdk_root=$sdkTargetFolder \
|
||||
--no_https --proxy=http --proxy_host="$proxy_host" --proxy_port="$proxy_port" \
|
||||
"platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
|
||||
| eval "$sdkmanager_no_progress_bar_cmd"
|
||||
else
|
||||
echo "y" | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" --sdk_root=$sdkTargetFolder \
|
||||
"platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
|
||||
| eval "$sdkmanager_no_progress_bar_cmd"
|
||||
fi
|
||||
|
||||
echo "Checking the contents of Android SDK..."
|
||||
ls -l "$sdkTargetFolder"
|
||||
|
||||
299
coin/provisioning/common/macos/install-ffmpeg-ios.sh
Executable file
299
coin/provisioning/common/macos/install-ffmpeg-ios.sh
Executable file
@@ -0,0 +1,299 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
# This script will build and install FFmpeg shared libraries.
|
||||
#
|
||||
# The script will package iOS and iOS-simulator binaries into one
|
||||
# single .xcframework. This .xcframework cannot contain .dylibs
|
||||
# directly. It must contain .framework files. Unlike macOS, binaries
|
||||
# should NOT be lipoed together.
|
||||
#
|
||||
# From https://developer.apple.com/documentation/xcode/creating-a-multi-platform-binary-framework-bundle
|
||||
# "Avoid using dynamic library files (.dylib files) for dynamic
|
||||
# linking. An XCFramework can include dynamic library files, but only
|
||||
# macOS supports these libraries for dynamic linking. Dynamic linking
|
||||
# on iOS, iPadOS, tvOS, visionOS, and watchOS requires the XCFramework
|
||||
# to contain .framework bundles."
|
||||
#
|
||||
# This script can take an optional final parameter to control
|
||||
# installation directory.
|
||||
set -eoux pipefail
|
||||
|
||||
# Must match or be lower than the minimum iOS version supported by the version of Qt that is
|
||||
# is currently being built.
|
||||
readonly MINIMUM_IOS_VERSION="16.0"
|
||||
|
||||
source "${BASH_SOURCE%/*}/../unix/ffmpeg-installation-utils.sh"
|
||||
|
||||
ffmpeg_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.
|
||||
#
|
||||
# There is no command-line tool for generating .framework
|
||||
# files. By inspecting .frameworks generated through Xcode, we
|
||||
# have found they are primarily a directory with a very specific
|
||||
# layout. The code below generates a matching layout.
|
||||
#
|
||||
# See https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPFrameworks/Frameworks.html
|
||||
create_framework() {
|
||||
local ffmpeg_component_name="$1"
|
||||
local platform="$2"
|
||||
|
||||
local ffmpeg_build_path="${ffmpeg_source_dir}/build_ios/${platform}/installed/${prefix}"
|
||||
local ffmpeg_component_src_dylib="${ffmpeg_build_path}/lib/${ffmpeg_component_name}.dylib"
|
||||
local ffmpeg_component_framework="${ffmpeg_build_path}/framework/${ffmpeg_component_name}.framework"
|
||||
local ffmpeg_component_target_dylib="${ffmpeg_component_framework}/${ffmpeg_component_name}"
|
||||
|
||||
# Make directory for the .framework
|
||||
sudo mkdir -p "${ffmpeg_component_framework}"
|
||||
|
||||
# Inser the Info.plist
|
||||
build_info_plist \
|
||||
"${ffmpeg_component_framework}/Info.plist" \
|
||||
"${ffmpeg_component_name}" \
|
||||
"io.qt.ffmpegkit.${ffmpeg_component_name}"
|
||||
|
||||
# Copy in the dylib
|
||||
sudo cp \
|
||||
"${ffmpeg_component_src_dylib}" \
|
||||
"${ffmpeg_component_target_dylib}"
|
||||
|
||||
# By default, runpaths will look for FFmpeg dependencies in
|
||||
# '@rpath/libavcodec.xx.yy.dylib'. We want this path to be in the form
|
||||
# '@rpath/libavcodec.framework/libavcodec.dylib'.
|
||||
|
||||
# Set the dylibs self-identity
|
||||
sudo install_name_tool \
|
||||
-id "@rpath/${ffmpeg_component_name}.framework/${ffmpeg_component_name}" \
|
||||
"${ffmpeg_component_target_dylib}"
|
||||
|
||||
# Update the runpaths for each FFmpeg dependency entry
|
||||
otool -L "$ffmpeg_component_target_dylib" \
|
||||
| tail -n +2 \
|
||||
| awk '{print $1}' \
|
||||
| while read -r dep; do
|
||||
# Go through all dependency entries of this .dylib,
|
||||
# see if they point to a FFmpeg component. If it does,
|
||||
# modify the entry to match the final
|
||||
# directory structure.
|
||||
for ffdep in $ffmpeg_components; do
|
||||
if [[ "$dep" == */${ffdep}.* ]]; then
|
||||
echo "Rewriting dependency: $dep -> @rpath/${ffdep}.framework/${ffdep}"
|
||||
sudo install_name_tool -change \
|
||||
"$dep" \
|
||||
"@rpath/${ffdep}.framework/${ffdep}" \
|
||||
"$ffmpeg_component_target_dylib"
|
||||
fi
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
# dSYM symbols must be generated manually, these are required for
|
||||
# App Store deployment. We generate them from the .dylibs inside
|
||||
# our .frameworks. This has to be done after patching the runpaths.
|
||||
# At the end, we strip the dylib.
|
||||
create_dsym() {
|
||||
local ffmpeg_component_name="$1"
|
||||
local platform="$2"
|
||||
|
||||
local ffmpeg_build_path="${ffmpeg_source_dir}/build_ios/${platform}/installed/${prefix}"
|
||||
local target_dylib="${ffmpeg_build_path}/framework/${ffmpeg_component_name}.framework/${ffmpeg_component_name}"
|
||||
|
||||
sudo dsymutil "${target_dylib}" \
|
||||
-o "${ffmpeg_build_path}/framework/${ffmpeg_component_name}.framework.dSYM"
|
||||
|
||||
local target_sdk;
|
||||
target_sdk=$(target_platform_to_sdk "${platform}")
|
||||
|
||||
local strip;
|
||||
strip="$(xcrun -f --sdk ${target_sdk} strip)"
|
||||
sudo ${strip} -x "${target_dylib}"
|
||||
}
|
||||
|
||||
create_xcframework() {
|
||||
# Create 'traditional' framework from the corresponding dylib,
|
||||
# also creating
|
||||
local framework_name="$1"
|
||||
local target_platform_a="$2"
|
||||
local target_platform_b="$3"
|
||||
|
||||
local platform_a_build="${ffmpeg_source_dir}/build_ios/${target_platform_a}/installed/${prefix}"
|
||||
local fw_a="${platform_a_build}/framework/${framework_name}.framework"
|
||||
local dsym_a="${fw_a}.dSYM"
|
||||
|
||||
local platform_b_build="${ffmpeg_source_dir}/build_ios/${target_platform_b}/installed/${prefix}"
|
||||
local fw_b="${platform_b_build}/framework/${framework_name}.framework"
|
||||
local dsym_b="${fw_b}.dSYM"
|
||||
|
||||
sudo mkdir -p "$prefix/lib/"
|
||||
sudo xcodebuild -create-xcframework \
|
||||
-framework "$fw_a" -debug-symbols "$dsym_a" \
|
||||
-framework $fw_b -debug-symbols "$dsym_b" \
|
||||
-output "${prefix}/lib/${framework_name}.xcframework"
|
||||
}
|
||||
|
||||
build_ffmpeg_ios "arm64-iphoneos"
|
||||
build_ffmpeg_ios "x86_64-simulator"
|
||||
|
||||
for name in $ffmpeg_components; do
|
||||
create_framework "$name" "arm64-iphoneos"
|
||||
create_framework "$name" "x86_64-simulator"
|
||||
|
||||
create_dsym "$name" "arm64-iphoneos"
|
||||
create_dsym "$name" "x86_64-simulator"
|
||||
done
|
||||
|
||||
# Create corresponding xcframeworks containing both arm64 and x86_64-simulator frameworks:
|
||||
for name in $ffmpeg_components; do
|
||||
create_xcframework "$name" "arm64-iphoneos" "x86_64-simulator"
|
||||
done
|
||||
|
||||
# xcframeworks are already installed directly into the target output directory.
|
||||
# We need to install headers
|
||||
sudo cp -r "${ffmpeg_source_dir}/build_ios/arm64-iphoneos/installed/${prefix}/include" "$prefix"
|
||||
|
||||
set_ffmpeg_dir_env_var "FFMPEG_DIR_IOS" "$prefix"
|
||||
@@ -2,6 +2,8 @@
|
||||
# Copyright (C) 2021 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
set -ex
|
||||
|
||||
# shellcheck source=./../unix/DownloadURL.sh
|
||||
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
|
||||
|
||||
@@ -20,6 +22,11 @@ function InstallXCode() {
|
||||
sourceFile=$1
|
||||
version=$2
|
||||
|
||||
if ! [[ $version =~ ^[0-9] ]]; then
|
||||
echo "Error: version input must start with a digit"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Uncompressing and installing '$sourceFile'"
|
||||
if [[ $sourceFile =~ tar ]]; then
|
||||
cd /Applications/ && sudo tar -zxf "$sourceFile"
|
||||
@@ -35,7 +42,7 @@ function InstallXCode() {
|
||||
fi
|
||||
|
||||
echo "Versioning application bundle"
|
||||
majorVersion=$(echo "$version" | cut -d '.' -f 1)
|
||||
majorVersion="${version%%[^0-9]*}"
|
||||
versionedAppBundle="/Applications/Xcode${majorVersion}.app"
|
||||
sudo mv /Applications/Xcode*.app "${versionedAppBundle}"
|
||||
|
||||
@@ -46,11 +53,12 @@ function InstallXCode() {
|
||||
sudo xcodebuild -license accept
|
||||
|
||||
echo "Install packages"
|
||||
# -runFirstLaunch is valid in 9.x
|
||||
sudo xcodebuild -runFirstLaunch || true
|
||||
sudo xcodebuild -runFirstLaunch
|
||||
|
||||
# Metal toolchain not included by default in Xcode 26
|
||||
xcodebuild -downloadComponent MetalToolchain || true
|
||||
if ((majorVersion >= 26)); then
|
||||
xcodebuild -downloadComponent MetalToolchain
|
||||
fi
|
||||
|
||||
echo "Enabling developer mode, so that using lldb does not require interactive password entry"
|
||||
sudo /usr/sbin/DevToolsSecurity -enable
|
||||
|
||||
@@ -9,12 +9,12 @@ set -ex
|
||||
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
|
||||
|
||||
echo "Installing Java Development Kit"
|
||||
version=17.0.12
|
||||
version=21.0.9
|
||||
targetFile=jdk-${version}_macos-x64_bin.dmg
|
||||
expectedHash="6fba2fbe5d181bd2ef7fd79e0335278c13f611cb"
|
||||
expectedHash="3df8761bfba8d6a4633ecc92f1eff0a58d79c304"
|
||||
|
||||
url=ci-files01-hki.ci.qt.io:/hdd/www/input/mac
|
||||
# url_alt=https://www.oracle.com/java/technologies/downloads/#jdk17-mac
|
||||
# url_alt=https://download.oracle.com/java/21/archive/jdk-21.0.8_macos-x64_bin.dmg
|
||||
|
||||
echo "Mounting $targetFile"
|
||||
sudo mkdir -p /Volumes/files
|
||||
|
||||
@@ -8,10 +8,10 @@ set -ex
|
||||
|
||||
echo "Installing Java Development Kit"
|
||||
|
||||
targetFile=zulu17.54.21-ca-jdk17.0.13-macosx_aarch64.dmg
|
||||
targetFile=zulu21.46.19-ca-jdk21.0.9-macosx_aarch64.dmg
|
||||
|
||||
url=ci-files01-hki.ci.qt.io:/hdd/www/input/mac
|
||||
# url_alt=https://cdn.azul.com/zulu/bin/zulu17.54.21-ca-jdk17.0.13-macosx_aarch64.dmg
|
||||
# url_alt=https://cdn.azul.com/zulu/bin/zulu21.46.19-ca-jdk21.0.9-macosx_aarch64.dmg
|
||||
|
||||
echo "Mounting $targetFile"
|
||||
sudo mkdir -p /Volumes/files
|
||||
@@ -22,12 +22,12 @@ sudo umount /Volumes/files
|
||||
sudo hdiutil attach "/tmp/$targetFile"
|
||||
|
||||
echo Installing JDK
|
||||
cd /Volumes/Azul\ Zulu\ JDK\ 17.54+21 && sudo installer -pkg Double-Click\ to\ Install\ Azul\ Zulu\ JDK\ 17.pkg -target /
|
||||
cd /Volumes/Azul\ Zulu\ JDK\ 21.46+19 && sudo installer -pkg Double-Click\ to\ Install\ Azul\ Zulu\ JDK\ 21.pkg -target /
|
||||
|
||||
echo "Unmounting $targetFile"
|
||||
sudo hdiutil unmount /Volumes/Azul\ Zulu\ JDK\ 17.54+21 -force
|
||||
sudo hdiutil unmount /Volumes/Azul\ Zulu\ JDK\ 21.46+19 -force
|
||||
|
||||
echo "Disable auto update"
|
||||
sudo defaults write /Library/Preferences/com.oracle.java.Java-Updater JavaAutoUpdateEnabled -bool false
|
||||
|
||||
echo "JDK Version = 17.0.13" >> ~/versions.txt
|
||||
echo "JDK Version = 21.0.9" >> ~/versions.txt
|
||||
|
||||
@@ -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 /
|
||||
|
||||
34
coin/provisioning/common/macos/python-arm.sh
Executable file
34
coin/provisioning/common/macos/python-arm.sh
Executable file
@@ -0,0 +1,34 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2025 The Qt Company Ltd.
|
||||
# Copyright (C) 2017 Pelagicore AG
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
# This script installs python3 on macOS ARM hosts.
|
||||
|
||||
# shellcheck source=../unix/SetEnvVar.sh
|
||||
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
|
||||
|
||||
# Use 3.12 as a default python
|
||||
# Note: Make sure that it's a version where dependencies are stored in CI-files.
|
||||
python_ver="3.12.11"
|
||||
|
||||
export PYTHON_BUILD_MIRROR_URL="https://ci-files01-hki.ci.qt.io/input/python/"
|
||||
export PYTHON_BUILD_MIRROR_URL_SKIP_CHECKSUM=1
|
||||
pyenv install "$python_ver"
|
||||
|
||||
/Users/qt/.pyenv/versions/$python_ver/bin/pip3 install --user virtualenv wheel html5lib
|
||||
/Users/qt/.pyenv/versions/$python_ver/bin/pip3 install --user -r ${BASH_SOURCE%/*}/../shared/requirements.txt
|
||||
|
||||
SetEnvVar "PYTHON3_PATH" "/Users/qt/.pyenv/versions/$python_ver/bin/"
|
||||
SetEnvVar "PIP3_PATH" "/Users/qt/.pyenv/versions/$python_ver/bin/"
|
||||
SetEnvVar "PATH" "\$PYTHON3_PATH:\$PATH"
|
||||
|
||||
# Provisioning during installation says:
|
||||
# 'The script sbom2doc is installed in '$HOME/.local/bin' which is not on PATH.'
|
||||
# hence the explicit assignment to SBOM_PYTHON_APPS_PATH.
|
||||
SetEnvVar "SBOM_PYTHON_APPS_PATH" "/Users/qt/.local/bin"
|
||||
|
||||
# Set SBOM_PYTHON_INTERP_PATH to Python3 instance which was used to install SBOM packages from requirements
|
||||
SetEnvVar "SBOM_PYTHON_INTERP_PATH" "/Users/qt/.pyenv/versions/$python_ver/bin/python3"
|
||||
|
||||
echo "python3 = $python_ver" >> ~/versions.txt
|
||||
@@ -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"
|
||||
|
||||
@@ -7,6 +7,7 @@ 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.
|
||||
@@ -81,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)"
|
||||
|
||||
|
||||
@@ -4,4 +4,5 @@ ntia-conformance-checker ; python_version >= '3.9'
|
||||
sbomaudit ; python_version >= '3.9'
|
||||
sbom2doc ; python_version >= '3.9'
|
||||
reuse<=5.1.1 ; python_version >= '3.9'
|
||||
cyclonedx-python-lib==11.0.0 ; python_version >= '3.9'
|
||||
cyclonedx-python-lib==11.5.0 ; python_version >= '3.9'
|
||||
jsonschema>=4.20 ; python_version >= '3.12'
|
||||
|
||||
@@ -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; \
|
||||
} \
|
||||
|
||||
@@ -7,4 +7,22 @@ set -ex
|
||||
# shellcheck source=../shared/http_proxy.txt
|
||||
source "${BASH_SOURCE%/*}/../shared/http_proxy.txt"
|
||||
|
||||
{ wget -q -e "http_proxy=$proxy" --spider proxy.intra.qt.io && echo "Setting http_proxy to $proxy" && export http_proxy=$proxy; } || echo "Proxy not detected at $proxy"
|
||||
# check using wget, if not, check with curl.
|
||||
if command -v wget > /dev/null; then
|
||||
if wget --quiet --execute "http_proxy=$proxy" --spider "proxy.intra.qt.io"; then
|
||||
echo "Setting http_proxy to $proxy"
|
||||
export http_proxy=$proxy
|
||||
else
|
||||
echo "Proxy not detected at $proxy"
|
||||
fi
|
||||
elif command -v curl > /dev/null; then
|
||||
if curl --silent --proxy "$proxy" --head "proxy.intra.qt.io"; then
|
||||
echo "Setting http_proxy to $proxy"
|
||||
export http_proxy=$proxy
|
||||
else
|
||||
echo "Proxy not detected at $proxy"
|
||||
fi
|
||||
else
|
||||
echo "Error: Neither 'wget' or 'curl' is installed. Cannot attempt to setup proxy."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
ffmpeg_version_default() {
|
||||
echo "n7.1.2"
|
||||
echo "n7.1.3"
|
||||
}
|
||||
|
||||
download_ffmpeg() {
|
||||
local version="${1:-$(ffmpeg_version_default)}"
|
||||
local sha1="${2:-1e4e937facdbde15943dd093121836bf69f27c7c}"
|
||||
local sha1="${2:-27051817deec88bed3b9652d49f9127d22268d83}"
|
||||
|
||||
local ffmpeg_name="FFmpeg-$version"
|
||||
local target_dir="$HOME"
|
||||
|
||||
@@ -24,43 +24,46 @@ assert_envvar_is_populated_dir() {
|
||||
}
|
||||
|
||||
build_ffmpeg_android() {
|
||||
local target_arch=$1
|
||||
local target_dir=$2
|
||||
local ndk_root=$3
|
||||
local openssl_android_path=$4
|
||||
local target_dir=$1
|
||||
local ndk_root=$2
|
||||
local openssl_android_path=$3
|
||||
|
||||
sudo mkdir -p "$target_dir"
|
||||
|
||||
local openssl_include="$openssl_android_path/include"
|
||||
local target_arch
|
||||
local openssl_libs
|
||||
local libs_prefix
|
||||
local target_cpu
|
||||
local target_toolchain_arch
|
||||
|
||||
if [ "$target_arch" == "x86_64" ]; then
|
||||
target_toolchain_arch="x86_64-linux-android"
|
||||
target_arch=x86_64
|
||||
target_cpu=x86-64
|
||||
openssl_libs="$openssl_android_path/x86_64"
|
||||
libs_prefix="_x86_64"
|
||||
elif [ "$target_arch" == "x86" ]; then
|
||||
if [ "$os" == "android-x86" ]; then
|
||||
target_toolchain_arch="i686-linux-android"
|
||||
target_arch=x86
|
||||
target_cpu=i686
|
||||
openssl_libs="$openssl_android_path/x86"
|
||||
libs_prefix="_x86"
|
||||
elif [ "$target_arch" == "arm32" ]; then
|
||||
elif [ "$os" == "android-x86_64" ]; then
|
||||
target_toolchain_arch="x86_64-linux-android"
|
||||
target_arch=x86_64
|
||||
target_cpu=x86-64
|
||||
openssl_libs="$openssl_android_path/x86_64"
|
||||
libs_prefix="_x86_64"
|
||||
elif [ "$os" == "android-arm32" ]; then
|
||||
target_toolchain_arch="armv7a-linux-androideabi"
|
||||
target_arch=arm
|
||||
target_cpu=armv7-a
|
||||
openssl_libs="$openssl_android_path/armeabi-v7a"
|
||||
libs_prefix="_arm32-v7a"
|
||||
elif [ "$target_arch" == "arm64" ]; then
|
||||
elif [ "$os" == "android-arm64" ]; then
|
||||
target_toolchain_arch="aarch64-linux-android"
|
||||
target_arch=aarch64
|
||||
target_cpu=armv8-a
|
||||
openssl_libs="$openssl_android_path/arm64-v8a"
|
||||
libs_prefix="_arm64-v8a"
|
||||
else
|
||||
>&2 echo "Unhandled android os param: $os"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
ln -Ffs "${openssl_libs}/libcrypto_3.so" "${openssl_libs}/libcrypto.so"
|
||||
@@ -82,12 +85,13 @@ build_ffmpeg_android() {
|
||||
local cc=${toolchain_bin}/${target_toolchain_arch}${api_version}-clang
|
||||
local 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"
|
||||
@@ -115,33 +119,35 @@ 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_latest="FFMPEG_DIR_ANDROID_X86_NDK_LATEST"
|
||||
envvar_nightly1="FFMPEG_DIR_ANDROID_X86_NDK_NIGHTLY1"
|
||||
envvar_nightly2="FFMPEG_DIR_ANDROID_X86_NDK_NIGHTLY2"
|
||||
envvar_preview="FFMPEG_DIR_ANDROID_X86_NDK_PREVIEW"
|
||||
elif [ "$os" == "android-x86_64" ]; then
|
||||
target_arch=x86_64
|
||||
target_dir="/usr/local/android/ffmpeg-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"
|
||||
envvar_preview="FFMPEG_DIR_ANDROID_X86_64_NDK_PREVIEW"
|
||||
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"
|
||||
envvar_preview="FFMPEG_DIR_ANDROID_ARM32_NDK_PREVIEW"
|
||||
elif [ "$os" == "android-arm64" ]; then
|
||||
target_arch=arm64
|
||||
target_dir="/usr/local/android/ffmpeg-arm64"
|
||||
envvar_latest="FFMPEG_DIR_ANDROID_ARM64_NDK_LATEST"
|
||||
envvar_nightly1="FFMPEG_DIR_ANDROID_ARM64_NDK_NIGHTLY1"
|
||||
@@ -159,26 +165,26 @@ fi
|
||||
|
||||
assert_envvar_is_populated_dir "ANDROID_NDK_ROOT_LATEST"
|
||||
assert_envvar_is_populated_dir "OPENSSL_ANDROID_HOME_LATEST"
|
||||
build_ffmpeg_android "$target_arch" "$target_dir/latest" "$ANDROID_NDK_ROOT_LATEST" "$OPENSSL_ANDROID_HOME_LATEST"
|
||||
build_ffmpeg_android "$target_dir/latest" "$ANDROID_NDK_ROOT_LATEST" "$OPENSSL_ANDROID_HOME_LATEST"
|
||||
set_ffmpeg_dir_env_var "$envvar_latest" "$target_dir/latest"
|
||||
|
||||
if [ "${ANDROID_NDK_ROOT_PREVIEW}" ]; then
|
||||
assert_envvar_is_populated_dir "ANDROID_NDK_ROOT_PREVIEW"
|
||||
assert_envvar_is_populated_dir "OPENSSL_ANDROID_HOME_PREVIEW"
|
||||
build_ffmpeg_android "$target_arch" "$target_dir/preview" "$ANDROID_NDK_ROOT_PREVIEW" "$OPENSSL_ANDROID_HOME_PREVIEW"
|
||||
build_ffmpeg_android "$target_dir/preview" "$ANDROID_NDK_ROOT_PREVIEW" "$OPENSSL_ANDROID_HOME_PREVIEW"
|
||||
set_ffmpeg_dir_env_var "$envvar_preview" "$target_dir/preview"
|
||||
fi
|
||||
|
||||
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"
|
||||
build_ffmpeg_android "$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"
|
||||
build_ffmpeg_android "$target_dir/nightly2" "$ANDROID_NDK_ROOT_NIGHTLY2" "$OPENSSL_ANDROID_HOME_NIGHTLY2"
|
||||
set_ffmpeg_dir_env_var "$envvar_nightly2" "$target_dir/nightly2"
|
||||
fi
|
||||
|
||||
@@ -1,188 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2024 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
# This script will build and install FFmpeg static libs
|
||||
# Can take an optional final parameter to control installation directory
|
||||
set -ex
|
||||
|
||||
# Must match or be lower than the minimum iOS version supported by the version of Qt that is
|
||||
# is currently being built.
|
||||
readonly MINIMUM_IOS_VERSION="16.0"
|
||||
|
||||
source "${BASH_SOURCE%/*}/../unix/ffmpeg-installation-utils.sh"
|
||||
|
||||
ffmpeg_version=$(ffmpeg_version_default)
|
||||
ffmpeg_source_dir=$(download_ffmpeg)
|
||||
ffmpeg_config_options=$(get_ffmpeg_config_options "shared")
|
||||
default_prefix="/usr/local/ios/ffmpeg"
|
||||
prefix="${1:-$default_prefix}"
|
||||
dylib_regex="^@rpath/.*\.dylib$"
|
||||
|
||||
build_ffmpeg_ios() {
|
||||
local target_platform=$1
|
||||
local target_cpu_arch=""
|
||||
if [ "$target_platform" == "arm64-simulator" ]; then
|
||||
target_sdk="iphonesimulator"
|
||||
target_cpu_arch="arm64"
|
||||
minos="-mios-simulator-version-min=$MINIMUM_IOS_VERSION"
|
||||
elif [ "$target_platform" == "x86_64-simulator" ]; then
|
||||
target_sdk="iphonesimulator"
|
||||
target_cpu_arch="x86_64"
|
||||
minos="-mios-simulator-version-min=$MINIMUM_IOS_VERSION"
|
||||
elif [ "$target_platform" == "arm64-iphoneos" ]; then
|
||||
target_sdk="iphoneos"
|
||||
target_cpu_arch="arm64"
|
||||
minos="-miphoneos-version-min=$MINIMUM_IOS_VERSION"
|
||||
else
|
||||
echo "Error when building FFmpeg for iOS. Unknown parameter given for target_platform: '${target_platform}'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
local build_dir="$ffmpeg_source_dir/build_ios/$target_platform"
|
||||
sudo mkdir -p "$build_dir"
|
||||
pushd "$build_dir"
|
||||
|
||||
# shellcheck disable=SC2086
|
||||
sudo "$ffmpeg_source_dir/configure" $ffmpeg_config_options \
|
||||
--sysroot="$(xcrun --sdk "$target_sdk" --show-sdk-path)" \
|
||||
--enable-cross-compile \
|
||||
--enable-optimizations \
|
||||
--prefix=$prefix \
|
||||
--arch=$target_cpu_arch \
|
||||
--cc="xcrun --sdk ${target_sdk} clang -arch $target_cpu_arch" \
|
||||
--cxx="xcrun --sdk ${target_sdk} clang++ -arch $target_cpu_arch" \
|
||||
--target-os=darwin \
|
||||
--extra-ldflags="$minos" \
|
||||
--enable-shared \
|
||||
--disable-static \
|
||||
--install-name-dir='@rpath' \
|
||||
--disable-audiotoolbox
|
||||
|
||||
sudo make install DESTDIR="$build_dir/installed" -j4
|
||||
popd
|
||||
}
|
||||
|
||||
build_info_plist() {
|
||||
local file_path="$1"
|
||||
local framework_name="$2"
|
||||
local framework_id="$3"
|
||||
|
||||
# Apple plist format has a strict requirement that the version string
|
||||
# contains up to 3 numerics separated by a dot. Meanwhile, FFmpeg versioning
|
||||
# tends to use an 'n' prefix in their versioning. We use a regex to convert
|
||||
# and verify the version string.
|
||||
#
|
||||
# https://developer.apple.com/documentation/bundleresources/information-property-list/cfbundleversion
|
||||
local formatted_ffmpeg_version
|
||||
if [[ $ffmpeg_version =~ ([0-9]+(\.[0-9]+){0,2}) ]]; then
|
||||
formatted_ffmpeg_version="${BASH_REMATCH[1]}"
|
||||
else
|
||||
echo "Unable to format FFmpeg version string '$ffmpeg_version' into corresponding Apple Info.plist format"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
local minimum_version_key="MinimumOSVersion"
|
||||
local supported_platforms="iPhoneOS"
|
||||
|
||||
info_plist="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
|
||||
<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
|
||||
<plist version=\"1.0\">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${framework_name}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>${framework_id}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${framework_name}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>${formatted_ffmpeg_version}</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>${formatted_ffmpeg_version}</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>${minimum_version_key}</key>
|
||||
<string>${MINIMUM_IOS_VERSION}</string>
|
||||
<key>CFBundleSupportedPlatforms</key>
|
||||
<array>
|
||||
<string>${supported_platforms}</string>
|
||||
</array>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</plist>"
|
||||
echo $info_plist | sudo tee ${file_path} 1>/dev/null
|
||||
}
|
||||
|
||||
|
||||
create_framework() {
|
||||
# Create a 'traditional' framework from the corresponding dylib.
|
||||
local framework_name="$1"
|
||||
local platform="$2" # For now it's either arm64, x86_64-simulator, see below.
|
||||
local ffmpeg_library_path="$ffmpeg_source_dir/build_ios/${platform}/installed$prefix"
|
||||
local framework_complete_path="${ffmpeg_library_path}/framework/${framework_name}.framework/${framework_name}"
|
||||
|
||||
sudo mkdir -p "${ffmpeg_library_path}/framework/${framework_name}.framework"
|
||||
sudo cp "${ffmpeg_library_path}/lib/${framework_name}.dylib" "${ffmpeg_library_path}/framework/${framework_name}.framework/${framework_name}"
|
||||
|
||||
# Fix LC_ID_DYLIB (to be libavcodec.framework/libavcodec instead of @rpath/libavcodec.xx.yy.dylib
|
||||
sudo install_name_tool -id @rpath/${framework_name}.framework/${framework_name} "${framework_complete_path}"
|
||||
|
||||
build_info_plist "${ffmpeg_library_path}/framework/${framework_name}.framework/Info.plist" "${framework_name}" "io.qt.ffmpegkit."${framework_name}
|
||||
|
||||
# Fix all FFmpeg-related LC_LOAD_DYLIB, similar to how we fixed LC_ID_DYLIB above:
|
||||
otool -L "$framework_complete_path" | awk '/\t/ {print $1}' | egrep "$dylib_regex" | while read -r dependency_path; do
|
||||
found_name=$(tmp=${dependency_path/*\/}; echo ${tmp/\.*})
|
||||
if [ "$found_name" != "$framework_name" ]
|
||||
then
|
||||
sudo install_name_tool -change "$dependency_path" @rpath/${found_name}.framework/${found_name} "${framework_complete_path}"
|
||||
fi
|
||||
done
|
||||
#sudo mkdir -p "$prefix/framework/"
|
||||
#sudo cp -r "${ffmpeg_library_path}/framework/${framework_name}.framework" "$prefix/framework/"
|
||||
}
|
||||
|
||||
create_xcframework() {
|
||||
# Create 'traditional' framework from the corresponding dylib,
|
||||
# also creating
|
||||
local framework_name="$1"
|
||||
local target_platform_a="$2"
|
||||
local target_platform_b="$3"
|
||||
|
||||
local fw_a="$ffmpeg_source_dir/build_ios/${target_platform_a}/installed$prefix/framework/${framework_name}.framework"
|
||||
local fw_b="$ffmpeg_source_dir/build_ios/${target_platform_b}/installed$prefix/framework/${framework_name}.framework"
|
||||
|
||||
sudo mkdir -p "$prefix/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$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
|
||||
@@ -37,6 +37,7 @@ if [[ "$os" == "linux" ]]; then
|
||||
make && make install_sw install_ssldirs
|
||||
SetEnvVar "OPENSSL_HOME" "$opensslHome"
|
||||
SetEnvVar "PATH" "\"$opensslHome/bin:\$PATH\""
|
||||
SetEnvVar "PKG_CONFIG_PATH" "\"$opensslHome/lib64/pkgconfig:\$PKG_CONFIG_PATH\""
|
||||
if uname -a |grep -q "Debian"; then
|
||||
SetEnvVar "LD_LIBRARY_PATH" "\"$opensslHome/lib:$LD_LIBRARY_PATH\""
|
||||
else
|
||||
|
||||
@@ -63,6 +63,7 @@ cmake "$targetDir" -G"Ninja Multi-Config" \
|
||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
|
||||
-DCMAKE_CONFIGURATION_TYPES="Release;Debug;RelWithDebugInfo" \
|
||||
-DCMAKE_INSTALL_PREFIX="$installPrefix" \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
"${extraCMakeArgs[@]}" \
|
||||
"$extraOpenSslArg" \
|
||||
-DgRPC_BUILD_TESTS=OFF \
|
||||
|
||||
@@ -8,10 +8,10 @@
|
||||
source "${BASH_SOURCE%/*}/DownloadURL.sh"
|
||||
source "${BASH_SOURCE%/*}/SetEnvVar.sh"
|
||||
|
||||
version="7.15.0"
|
||||
version="7.18.0"
|
||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/qtopenapi/openapi_client_generators/openapi-generator-cli-$version.jar"
|
||||
AltUrl="https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/$version/openapi-generator-cli-$version.jar"
|
||||
SHA1="bb58e257f724fb46b7f2b309a9fa98e63fd7199f"
|
||||
SHA1="8bd615a50b15ebf5be30e612af112526a6e81ac4"
|
||||
targetFolder="/opt/qt-openapi/"
|
||||
targetFile="openapi-generator-cli.jar"
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@ source "${BASH_SOURCE%/*}/SetEnvVar.sh"
|
||||
# shellcheck source=./DownloadURL.sh
|
||||
source "${BASH_SOURCE%/*}/DownloadURL.sh"
|
||||
|
||||
zswitch=$1 # Since 7z 25.01 multi-hop symbolic links are restricted with -snl switch levels
|
||||
version="20.1.3"
|
||||
baseUrl="https://download.qt.io/development_releases/prebuilt/libclang"
|
||||
cachedUrl="http://ci-files01-hki.ci.qt.io/input/libclang/dynamic"
|
||||
@@ -40,7 +41,7 @@ DownloadURL "$url_cached" "$url" "$sha1" "$zip"
|
||||
if command -v 7zr &> /dev/null; then
|
||||
sudo 7zr x $zip -o/usr/local/
|
||||
else
|
||||
sudo 7z x $zip -o/usr/local/
|
||||
sudo 7z x $zswitch $zip -o/usr/local/
|
||||
fi
|
||||
sudo mv /usr/local/libclang "$destination"
|
||||
rm -rf $zip
|
||||
|
||||
@@ -20,6 +20,7 @@ PROVISIONING_DIR="$(dirname "$0")/../../"
|
||||
# shellcheck source=./common.sourced.sh
|
||||
source "$PROVISIONING_DIR"/common/unix/common.sourced.sh
|
||||
|
||||
zswitch=$1 # Since 7z 25.01 multi-hop symbolic links are restricted with -snl switch levels
|
||||
libclang_version="20.1.0"
|
||||
|
||||
if uname -a |grep -q Darwin; then
|
||||
@@ -61,7 +62,7 @@ DownloadURL $url_cached $url $sha1 $zip
|
||||
if command -v 7zr &> /dev/null; then
|
||||
sudo 7zr x $zip -o/usr/local/
|
||||
else
|
||||
sudo 7z x $zip -o/usr/local/
|
||||
sudo 7z x $zswitch $zip -o/usr/local/
|
||||
fi
|
||||
sudo mv /usr/local/libclang "$destination"
|
||||
rm -rf $zip
|
||||
|
||||
@@ -13,18 +13,22 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
|
||||
|
||||
sslVersionForLatest="3.0.7"
|
||||
ndkVersionLatest="r27c"
|
||||
featureSuffixLatest="_16kb"
|
||||
prebuiltOpensslShaLatest="2cc15dd990460c2c7157ab257a47071fbd9e0ac8"
|
||||
|
||||
sslVersionForPreview="3.0.7"
|
||||
ndkVersionPreview="r29-beta2"
|
||||
featureSuffixPreview="_16kb"
|
||||
prebuiltOpensslShaPreview="76c9788216440111be97ea1a63c4d8cd807baacd"
|
||||
|
||||
ndkVersionNightly1=$ndkVersionLatest
|
||||
sslVersionForNightly1=$sslVersionForLatest
|
||||
featureSuffixNightly1=""
|
||||
prebuiltOpensslShaNightly1=$prebuiltOpensslShaLatest
|
||||
|
||||
ndkVersionNightly2=$ndkVersionLatest
|
||||
sslVersionForNightly2=$sslVersionForLatest
|
||||
featureSuffixNightly2=""
|
||||
prebuiltOpensslShaNightly2=$prebuiltOpensslShaLatest
|
||||
|
||||
: <<'EOB' SOURCE BUILD INSTRUCTIONS - Openssl prebuilt was made using Android NDK r29-beta2
|
||||
@@ -62,38 +66,52 @@ EOB
|
||||
function InstallPrebuiltOpenssl() {
|
||||
|
||||
ndkVersion=$1
|
||||
sha=$2
|
||||
sslVersion=$3
|
||||
suffix=$2
|
||||
sha=$3
|
||||
sslVersion=$4
|
||||
|
||||
opensslHome="${HOME}/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}_16kb"
|
||||
if [[ ! -d ${opensslHome} ]]; then
|
||||
prebuiltUrl="http://ci-files01-hki.ci.qt.io/input/openssl/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}_16kb.zip"
|
||||
targetFile="/tmp/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}_16kb.zip"
|
||||
renamed_root="${HOME}/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}${suffix}"
|
||||
|
||||
DownloadURL "$prebuiltUrl" "$prebuiltUrl" "$sha" "$targetFile"
|
||||
unzip -o "$targetFile" -d "${HOME}"
|
||||
sudo rm -f "$targetFile"
|
||||
prebuiltUrl="http://ci-files01-hki.ci.qt.io/input/openssl/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}${suffix}.zip"
|
||||
targetFile="/tmp/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}${suffix}.zip"
|
||||
|
||||
DownloadURL "$prebuiltUrl" "$prebuiltUrl" "$sha" "$targetFile"
|
||||
|
||||
tmp_extract="$(mktemp -d "${TMPDIR:-/tmp}/openssl-extract.XXXXXX")"
|
||||
unzip -q -o "$targetFile" -d "$tmp_extract"
|
||||
sudo rm -f "$targetFile"
|
||||
|
||||
# We assume there is only one top-level directory in the openssl zip
|
||||
temp_openssl_root="$(find "$tmp_extract" -mindepth 1 -maxdepth 1 -type d | head -n 1)"
|
||||
if [[ -z "$temp_openssl_root" ]]; then
|
||||
echo "ERROR: Expected a single top-level directory in the archive, but none was found." >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
mv "$temp_openssl_root" "$renamed_root"
|
||||
rm -rf "$tmp_extract"
|
||||
|
||||
opensslHome="${renamed_root}"
|
||||
}
|
||||
|
||||
if [ "$ndkVersionNightly1" != "$ndkVersionLatest" ]; then
|
||||
InstallPrebuiltOpenssl $ndkVersionNightly1 $prebuiltOpensslShaNightly1 $sslVersionForNightly1
|
||||
InstallPrebuiltOpenssl "$ndkVersionNightly1" "$featureSuffixNightly1" "$prebuiltOpensslShaNightly1" "$sslVersionForNightly1"
|
||||
SetEnvVar "OPENSSL_ANDROID_HOME_NIGHTLY1" "$opensslHome"
|
||||
echo "OpenSSL for Android $ndkVersionNightly1 = $sslVersionForNightly1" >> ~/versions.txt
|
||||
fi
|
||||
|
||||
if [ "$ndkVersionNightly2" != "$ndkVersionLatest" ]; then
|
||||
InstallPrebuiltOpenssl $ndkVersionNightly2 $prebuiltOpensslShaNightly2 $sslVersionForNightly2
|
||||
InstallPrebuiltOpenssl "$ndkVersionNightly2" "$featureSuffixNightly2" "$prebuiltOpensslShaNightly2" "$sslVersionForNightly2"
|
||||
SetEnvVar "OPENSSL_ANDROID_HOME_NIGHTLY2" "$opensslHome"
|
||||
echo "OpenSSL for Android $ndkVersionNightly2 = $sslVersionForNightly2" >> ~/versions.txt
|
||||
fi
|
||||
|
||||
if [ "$ndkVersionPreview" != "$ndkVersionLatest" ]; then
|
||||
InstallPrebuiltOpenssl $ndkVersionPreview $prebuiltOpensslShaPreview $sslVersionForPreview
|
||||
InstallPrebuiltOpenssl "$ndkVersionPreview" "$featureSuffixPreview" "$prebuiltOpensslShaPreview" "$sslVersionForPreview"
|
||||
SetEnvVar "OPENSSL_ANDROID_HOME_PREVIEW" "$opensslHome"
|
||||
echo "OpenSSL for Android $ndkVersionPreview = $sslVersionForPreview" >> ~/versions.txt
|
||||
fi
|
||||
|
||||
InstallPrebuiltOpenssl $ndkVersionLatest $prebuiltOpensslShaLatest $sslVersionForLatest
|
||||
InstallPrebuiltOpenssl "$ndkVersionLatest" "$featureSuffixLatest" "$prebuiltOpensslShaLatest" "$sslVersionForLatest"
|
||||
SetEnvVar "OPENSSL_ANDROID_HOME_LATEST" "$opensslHome"
|
||||
echo "OpenSSL for Android $ndkVersionLatest = $sslVersionForLatest" >> ~/versions.txt
|
||||
|
||||
@@ -1,104 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2020 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
PROVISIONING_DIR="$(dirname "$0")/../../"
|
||||
source "${BASH_SOURCE%/*}/DownloadURL.sh"
|
||||
source "$PROVISIONING_DIR"/common/unix/common.sourced.sh
|
||||
|
||||
set -ex
|
||||
|
||||
# This script will fetch and extract pre-buildt squish package for Linux and Mac.
|
||||
# Squish is need by Release Test Automation (RTA)
|
||||
|
||||
version="8.1.0"
|
||||
qtBranch="68x"
|
||||
installFolder="/opt"
|
||||
squishFolder="$installFolder/squish"
|
||||
preBuildCacheUrl="ci-files01-hki.ci.qt.io:/hdd/www/input/squish/jenkins_build/stable"
|
||||
licenseFile=".squish-license"
|
||||
licenseBranch="squish_license"
|
||||
licenseUrl="http://ci-files01-hki.ci.qt.io/input/squish/coin/$licenseBranch/$licenseFile"
|
||||
licenseSHA="e84b499a2011f9bb1a6eefc7b2338d7ae770927a"
|
||||
testSuiteUrl="ci-files01-hki.ci.qt.io:/hdd/www/input/squish/coin/suite_test_squish"
|
||||
testSuiteLocal="/tmp/squish_test_suite"
|
||||
if uname -a |grep -q Darwin; then
|
||||
compressedFolder="prebuild-squish-$version-$qtBranch-mac-x64.tar.gz"
|
||||
sha1="03a0c713d0d328667df2e7804f2e4d507707b849"
|
||||
else
|
||||
if [ "$PROVISIONING_ARCH" = arm64 ] ; then
|
||||
compressedFolder="prebuild-squish-$version-$qtBranch-linux-arm64.tar.gz"
|
||||
sha1="f6a2eb69faed64f13b164fb8d056182c41d2952c"
|
||||
else
|
||||
compressedFolder="prebuild-squish-$version-$qtBranch-linux-x64.tar.gz"
|
||||
sha1="b798417ddf4b668306cb90d551df906828644152"
|
||||
fi
|
||||
fi
|
||||
|
||||
mountFolder="/tmp/squish"
|
||||
sudo mkdir "$mountFolder"
|
||||
sudo mkdir "$testSuiteLocal"
|
||||
|
||||
# Check which platform
|
||||
if uname -a |grep -q Darwin; then
|
||||
usersGroup="staff"
|
||||
elif uname -a |grep -q "el7"; then
|
||||
usersGroup="qt"
|
||||
elif uname -a |grep -q "Ubuntu"; then
|
||||
usersGroup="users"
|
||||
else
|
||||
usersGroup="users"
|
||||
fi
|
||||
|
||||
targetFileMount="$mountFolder"/"$compressedFolder"
|
||||
|
||||
echo "Mounting Squish packages from $preBuildCacheUrl to $mountFolder"
|
||||
echo "Mounting Squish test suite from $testSuiteUrl to $testSuiteLocal"
|
||||
if uname -a |grep -q Darwin; then
|
||||
sudo mount -o locallocks "$preBuildCacheUrl" "$mountFolder"
|
||||
sudo mount -o locallocks "$testSuiteUrl" "$testSuiteLocal"
|
||||
else
|
||||
sudo mount "$preBuildCacheUrl" "$mountFolder"
|
||||
sudo mount "$testSuiteUrl" "$testSuiteLocal"
|
||||
fi
|
||||
echo "Create $installFolder if needed"
|
||||
if [ ! -d "$installFolder" ]; then
|
||||
sudo mkdir "$installFolder"
|
||||
fi
|
||||
|
||||
VerifyHash "$targetFileMount" "$sha1"
|
||||
|
||||
echo "Uncompress $compressedFolder"
|
||||
sudo tar -xzf "$targetFileMount" --directory "$installFolder"
|
||||
|
||||
if uname -a |grep -q Darwin; then
|
||||
sudo xattr -r -c "$squishFolder"
|
||||
fi
|
||||
|
||||
echo "Download Squish license"
|
||||
DownloadURL "$licenseUrl" "$licenseUrl" "$licenseSHA" "$HOME/$licenseFile"
|
||||
|
||||
echo "Changing ownerships"
|
||||
sudo chown -R qt:$usersGroup "$squishFolder"
|
||||
sudo chown qt:$usersGroup "$HOME/$licenseFile"
|
||||
|
||||
|
||||
echo "Verifying Squish, available installations:"
|
||||
ls -la $squishFolder
|
||||
cd $squishFolder
|
||||
|
||||
for squishInstallation in */ ; do
|
||||
if "$squishInstallation/bin/squishrunner" --testsuite "$testSuiteLocal" | grep "Squish test run successfully" ; then
|
||||
echo "Squish in $squishInstallation tested successfully"
|
||||
else
|
||||
echo "Testing Squish in $squishInstallation failed! Squish wasn't installed correctly."
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
echo "Clean up installation temp dirs"
|
||||
echo "- Unmounting $mountFolder"
|
||||
sudo diskutil unmount force "$mountFolder" || sudo umount -f "$mountFolder" || true
|
||||
|
||||
echo "- Unmounting $testSuiteLocal"
|
||||
sudo diskutil unmount force "$testSuiteLocal" || sudo umount -f "$testSuiteLocal" || true
|
||||
@@ -38,14 +38,14 @@ $ndkCachedUrlNightly2 = "\\ci-files01-hki.ci.qt.io\provisioning\android\android-
|
||||
$ndkOfficialUrlNightly2 = "https://dl.google.com/android/repository/android-ndk-$ndkVersionNightly2-windows.zip"
|
||||
|
||||
# SDK
|
||||
$toolsVersion = "2.1"
|
||||
$toolsFile = "commandlinetools-win-6609375_latest.zip"
|
||||
$toolsVersion = "19.0"
|
||||
$toolsFile = "commandlinetools-win-13114758_latest.zip"
|
||||
$sdkApi = "ANDROID_API_VERSION"
|
||||
$sdkApiLevel = "android-35"
|
||||
$sdkBuildToolsVersion = "35.0.1"
|
||||
$sdkApiLevel = "android-36"
|
||||
$sdkBuildToolsVersion = "36.0.0"
|
||||
$toolsCachedUrl= "\\ci-files01-hki.ci.qt.io\provisioning\android\$toolsFile"
|
||||
$toolsOfficialUrl = "https://dl.google.com/android/repository/$toolsFile"
|
||||
$toolsChecksum = "e2e19c2ff584efa87ef0cfdd1987f92881323208"
|
||||
$toolsChecksum = "54a582f3bf73e04253602f2d1c80bd5868aac115"
|
||||
$cmdFolder = "c:\Utils\Android\cmdline-tools"
|
||||
|
||||
$sdkZip = "c:\Windows\Temp\$toolsFile"
|
||||
@@ -96,9 +96,13 @@ if ($ndkVersionNightly2 -ne $ndkVersionLatest) {
|
||||
Write-Output "Android NDK = $ndkVersionNightly2" >> ~/versions.txt
|
||||
}
|
||||
|
||||
# Android Command-Line Tools unpacks a directory 'cmdline-tools'. Due
|
||||
# to existing code, weed to move it into 'cmdline-tools/tools'
|
||||
Write-Host "Downloading Android Command-Line Tools"
|
||||
$toolsFolder = Install $toolsCachedUrl $sdkZip $toolsChecksum $toolsOfficialUrl
|
||||
Rename-Item -Path "$toolsFolder" -NewName "c:\Utils\Android\tools"
|
||||
New-Item -ItemType directory -Path $cmdFolder
|
||||
Move-Item -Path $toolsFolder -Destination $cmdFolder\
|
||||
Move-Item -Path "c:\Utils\Android\tools" -Destination "$cmdFolder\tools"
|
||||
Set-EnvironmentVariable "ANDROID_SDK_ROOT" "C:\Utils\Android"
|
||||
Set-EnvironmentVariable "ANDROID_API_VERSION" $sdkApiLevel
|
||||
|
||||
|
||||
@@ -7,9 +7,9 @@
|
||||
# This script will install FFmpeg
|
||||
$msys = "C:\Utils\msys64\usr\bin\bash"
|
||||
|
||||
$version="n7.1.2"
|
||||
$version="n7.1.3"
|
||||
$url_public="https://github.com/FFmpeg/FFmpeg/archive/refs/tags/$version.tar.gz"
|
||||
$sha1="1e4e937facdbde15943dd093121836bf69f27c7c"
|
||||
$sha1="27051817deec88bed3b9652d49f9127d22268d83"
|
||||
$url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/$version.tar.gz"
|
||||
$ffmpeg_name="FFmpeg-$version"
|
||||
|
||||
|
||||
@@ -4,31 +4,31 @@
|
||||
. "$PSScriptRoot\helpers.ps1"
|
||||
|
||||
# This script will install Java SE
|
||||
# https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html
|
||||
$version_major = "17"
|
||||
# https://www.oracle.com/java/technologies/javase/jdk21-archive-downloads.html
|
||||
$version_major = "21"
|
||||
|
||||
$cpu_arch = Get-CpuArchitecture
|
||||
switch ($cpu_arch) {
|
||||
arm64 {
|
||||
$version = "17.0.11"
|
||||
$version = "21.0.9"
|
||||
$arch = "aarch64"
|
||||
$sha1 = "1c5984a185778ad91498b746e677d84e153d5918"
|
||||
# Using Microsoft build version of OpenJDK from: https://learn.microsoft.com/en-us/java/openjdk/download
|
||||
# as there are no available Windows ARM64 versions of JDK from Oracle
|
||||
$url_official = "https://aka.ms/download-jdk/microsoft-jdk-${version}-windows-${arch}.msi"
|
||||
$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\microsoft-jdk-${version}-windows-${arch}.msi"
|
||||
$javaPackage = "C:\Windows\Temp\jdk-$version.msi"
|
||||
$sha1 = "293cca7b76e3280573061f53dbe41ced527e3b4d"
|
||||
# Using Microsoft build https://aka.ms/download-jdk/ - no .msi available
|
||||
$url_official = "https://aka.ms/download-jdk/microsoft-jdk-${version}-windows-${arch}.exe"
|
||||
$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\microsoft-jdk-${version}-windows-${arch}.exe"
|
||||
$javaPackage = "C:\Windows\Temp\jdk-$version.exe"
|
||||
# Microsoft installer does not allow to override the installation path using the regular
|
||||
# TARGETDIR or INSTALLDIR properties, so just hardcode the path that it uses
|
||||
$installdir = "C:\Program Files\Microsoft\jdk-17.0.11.9-hotspot"
|
||||
$installdir = "C:\Program Files\Microsoft\jdk-$version-hotspot"
|
||||
Break
|
||||
}
|
||||
x64 {
|
||||
$version = "17.0.10"
|
||||
$version = "21.0.9"
|
||||
$arch = "x64"
|
||||
$sha1 = "d573091930076c3ffa9f74273cb41cb5c75c5400"
|
||||
$url_official = "https://download.oracle.com/java/17/archive/jdk-${version}_windows-${arch}_bin.exe"
|
||||
$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\jdk-$version-windows-$arch.exe"
|
||||
$sha1 = "b4b10fd43993650053c41f377af37b37a2267b74"
|
||||
# Downloading from https://aka.ms/download-jdk/microsoft-jdk-21.0.9-windows-x64.exe
|
||||
$url_official = "https://aka.ms/download-jdk/microsoft-jdk-${version}_windows-${arch}.exe"
|
||||
$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\microsoft-jdk-$version-windows-$arch.exe"
|
||||
$javaPackage = "C:\Windows\Temp\jdk-$version.exe"
|
||||
$installdir = "C:\Program Files\Java\jdk-$version_major"
|
||||
Break
|
||||
@@ -44,7 +44,7 @@ Download $url_official $url_cache $javaPackage
|
||||
Verify-Checksum $javaPackage $sha1
|
||||
|
||||
if ($javaPackage.EndsWith(".exe")) {
|
||||
Run-Executable "$javaPackage" "/s SPONSORS=0"
|
||||
Run-Executable "$javaPackage" "/SILENT /SUPPRESSMSGBOXES /ALLUSERS /DIR=`"$installdir`""
|
||||
} else {
|
||||
Run-Executable "msiexec" "/quiet /i $javaPackage"
|
||||
}
|
||||
|
||||
@@ -3,14 +3,34 @@
|
||||
|
||||
# Install mozilla sccache
|
||||
|
||||
param(
|
||||
[string]$arch="x86_64-pc-windows-msvc",
|
||||
[string]$version="0.2.14",
|
||||
[string]$sha1="bbdceb59d6fd7b6a3af02fb36f65c8bf324757b0"
|
||||
)
|
||||
|
||||
. "$PSScriptRoot\helpers.ps1"
|
||||
|
||||
$version="v0.11.0-jimis3"
|
||||
$cpu_arch = Get-CpuArchitecture
|
||||
switch ($cpu_arch) {
|
||||
arm64 {
|
||||
$arch="aarch64-pc-windows-msvc"
|
||||
$sha1="be429b6c33da9408bba827815d04fceeadf6dbd1"
|
||||
break
|
||||
}
|
||||
x64 {
|
||||
$arch="x86_64-pc-windows-msvc"
|
||||
$sha1="bcce35f6b39e2d1d0829f2277fd749767e057486"
|
||||
break
|
||||
}
|
||||
x86 {
|
||||
$arch="x86-pc-windows-gnu"
|
||||
$sha1="287f4c3b7db21b72138704b8fe96827e6b1643a8"
|
||||
$version="0.2.13-alpha-0"
|
||||
break
|
||||
}
|
||||
|
||||
default {
|
||||
throw "Unknown architecture $cpu_arch"
|
||||
}
|
||||
}
|
||||
|
||||
$basename = "sccache-" + $version + "-" + $arch
|
||||
$zipfile = $basename + ".tar.gz"
|
||||
$tempfile = "C:\Windows\Temp\" + $zipfile
|
||||
@@ -28,6 +48,9 @@ Remove-Item -Path $tempfile
|
||||
# Turnoff idle timeout to avoid sccache shutting down
|
||||
Set-EnvironmentVariable "SCCACHE_IDLE_TIMEOUT" "0"
|
||||
|
||||
# Prevents build job dying from random network I/O errors
|
||||
Set-EnvironmentVariable "SCCACHE_IGNORE_SERVER_IO_ERROR" "1"
|
||||
|
||||
# add sccache to PATH
|
||||
Set-EnvironmentVariable "PATH" "C:\Program Files\$basename\;$([Environment]::GetEnvironmentVariable('PATH', 'Machine'))"
|
||||
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
# Copyright (C) 2021 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
. "$PSScriptRoot\helpers.ps1"
|
||||
|
||||
# This script will pre-installed squish package for Windows.
|
||||
# Squish is need by Release Test Automation (RTA)
|
||||
|
||||
$version = "8.1.0"
|
||||
$qtBranch = "68x"
|
||||
$targetDir = "C:\Utils\squish"
|
||||
$squishPackage = "C:\Utils\rta_squish"
|
||||
$squishUrl = "\\ci-files01-hki.ci.qt.io\provisioning\squish\jenkins_build\stable"
|
||||
$licenseBranch="squish_license"
|
||||
$licenseUrl = "\\ci-files01-hki.ci.qt.io\provisioning\squish\coin\$licenseBranch"
|
||||
$testSuiteUrl="\\ci-files01-hki.ci.qt.io\provisioning\squish\coin\suite_test_squish"
|
||||
|
||||
# Squish license
|
||||
$licensePackage = ".squish-license"
|
||||
|
||||
Write-Host "Installing Squish license to home directory"
|
||||
Copy-Item $licenseUrl\$licensePackage ~\$licensePackage
|
||||
|
||||
if (Is64BitWinHost) {
|
||||
$arch = "x64"
|
||||
} else {
|
||||
$arch = "x86"
|
||||
}
|
||||
|
||||
$OSVersion = (get-itemproperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name ProductName).ProductName
|
||||
|
||||
if (($OSVersion -eq "Windows 10 Enterprise") -or ($OSVersion -eq "Windows 10 Pro")) {
|
||||
# In Windows 11 case $OSVersion is 'Windows 10 Pro'
|
||||
$winVersion = "win10"
|
||||
if (Is64BitWinHost) {
|
||||
$sha1 = "e7497b925b9a0aa17628344dbdacd6b3acd41c3b"
|
||||
}
|
||||
} else {
|
||||
$winVersion = "n/a"
|
||||
}
|
||||
$squishArchive = "prebuild-squish-$version-$qtBranch-$winVersion-$arch.zip"
|
||||
|
||||
Copy-Item "$squishUrl\$squishArchive" "C:\Utils"
|
||||
Copy-Item -Recurse "$testSuiteUrl" "C:\Utils"
|
||||
Verify-Checksum "C:\Utils\$squishArchive" $sha1
|
||||
Extract-7Zip "C:\Utils\$squishArchive" "C:\Utils"
|
||||
|
||||
Remove-Item "C:\Utils\prebuild*"
|
||||
|
||||
Write-Host "Verifying Squish Installation for following targets:"
|
||||
get-childitem "$targetDir" -Filter squishrunner.exe -Recurse | % { $_.FullName }
|
||||
get-childitem "$targetDir" -Filter squishrunner.exe -Recurse | % { if (cmd /c $_.FullName --testsuite "C:\Utils\suite_test_squish" |Select-String -Pattern "Squish test run successfully") { Write-Host "Squish tested successfully"} else { [Environment]::Exit(1) } }
|
||||
@@ -54,7 +54,9 @@ installPackages+=(libgbm-dev)
|
||||
installPackages+=(libxkbfile-dev)
|
||||
installPackages+=(libxshmfence-dev)
|
||||
installPackages+=(libxss-dev)
|
||||
# installPackages+=(nodejs) too old
|
||||
installPackages+=(rustc)
|
||||
installPackages+=(bindgen)
|
||||
installPackages+=(clang)
|
||||
installPackages+=(python3-html5lib)
|
||||
#
|
||||
## Common event loop handling
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
|
||||
sudo ethtool -K ens3 tso off
|
||||
ethtool -k ens3 | grep tcp-segmentation-offload # Output: tcp-segmentation-offload: off
|
||||
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
"$(dirname "$0")"/../common/unix/telegraf_install.sh
|
||||
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Copyright (C) 2026 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
set -e
|
||||
|
||||
curl --retry 5 --retry-delay 10 --retry-max-time 60 http://ci-files01-hki.ci.qt.io/input/semisecure/redhat_ak_all_versions_rhc.sh -o "/tmp/redhat_ak.sh" &>/dev/null
|
||||
sudo chmod 755 /tmp/redhat_ak.sh
|
||||
sudo /tmp/redhat_ak.sh
|
||||
|
||||
# refresh local certificates
|
||||
sudo subscription-manager refresh
|
||||
|
||||
sudo rm -f /tmp/redhat_ak.sh
|
||||
@@ -0,0 +1,11 @@
|
||||
#!/usr/bin/env bash
|
||||
#Copyright (C) 2026 The Qt Company Ltd
|
||||
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
# Ipv6 link local becomes tentative and dadfailed if two systems has the same secret_key
|
||||
# New unique secret key will be created automatically during start up.
|
||||
# https://access.redhat.com/solutions/3553581
|
||||
echo "Removing secret_key"
|
||||
sudo rm -f "/var/lib/NetworkManager/secret_key"
|
||||
|
||||
|
||||
6
coin/provisioning/qtci-macos-10.15-x86_64/90-squish.sh → coin/provisioning/qtci-linux-RHEL-10.0-x86_64/01-set-ulimit.sh
Executable file → Normal file
6
coin/provisioning/qtci-macos-10.15-x86_64/90-squish.sh → coin/provisioning/qtci-linux-RHEL-10.0-x86_64/01-set-ulimit.sh
Executable file → Normal file
@@ -1,8 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
#Copyright (C) 2023 The Qt Company Ltd
|
||||
#Copyright (C) 2026 The Qt Company Ltd
|
||||
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
set -ex
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
"$BASEDIR/../common/unix/squishInstall.sh"
|
||||
|
||||
"$BASEDIR/../common/linux/set_ulimit.sh"
|
||||
@@ -0,0 +1,20 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2026 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
set -ex
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
# shellcheck source=../common/shared/network_test_server_ip.txt
|
||||
source "$BASEDIR/../common/shared/network_test_server_ip.txt"
|
||||
|
||||
echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts"
|
||||
echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
|
||||
|
||||
# Set timezone to UTC.
|
||||
sudo timedatectl set-timezone Etc/UTC
|
||||
|
||||
"$BASEDIR/../common/linux/configure-gnome-shell.sh"
|
||||
|
||||
echo "Disable windows key from showing the GNOME Shell Activities overlay"
|
||||
gsettings set org.gnome.mutter overlay-key ""
|
||||
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2026 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
set -ex
|
||||
|
||||
# Install xcb-util-cursor* libraries before updating repos. In updated repos these libraries are no longer available.
|
||||
# QTQAINFRA-6325
|
||||
sudo yum -y install xcb-util-cursor
|
||||
sudo yum -y install xcb-util-cursor-devel
|
||||
@@ -0,0 +1,62 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2026 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
set -ex
|
||||
|
||||
echo "set WritePreparedUpdates=false" | sudo tee -a /etc/PackageKit/PackageKit.conf
|
||||
sudo systemctl stop packagekit
|
||||
sudo systemctl mask --now packagekit
|
||||
while sudo fuser /usr/libexec/packagekitd >/dev/null 2>&1; do
|
||||
echo "Waiting for PackageKit to finish..."
|
||||
sleep 1
|
||||
sudo systemctl stop packagekit
|
||||
done
|
||||
sudo yum -y remove PackageKit gnome-software
|
||||
|
||||
sudo subscription-manager config --rhsm.manage_repos=0
|
||||
sudo subscription-manager refresh
|
||||
|
||||
# List available RHEL versions and bind with correct one
|
||||
sudo subscription-manager release --list
|
||||
|
||||
# Do not update Tier 1 via GUI without using this same --set
|
||||
# - To avoid System to have newer packages than RPMS which will cause update issues
|
||||
sudo subscription-manager release --set=10.0
|
||||
sudo yum clean all
|
||||
|
||||
sudo tee "/etc/yum.repos.d/local.repo" > /dev/null <<EOC
|
||||
[rhel-10-for-x86_64-baseos-rpms]
|
||||
metadata_expire = 86400
|
||||
baseurl = http://repo-clones-rhel10.ci.qt.io/rhel-10-for-x86_64-baseos-rpms
|
||||
ui_repoid_vars = releasever basearch
|
||||
name = Qt Red Hat Enterprise Linux 10 Base OS (RPMs)
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
enabled = 1
|
||||
gpgcheck = 1
|
||||
|
||||
[rhel-10-for-x86_64-appstream-rpms]
|
||||
metadata_expire = 86400
|
||||
baseurl = http://repo-clones-rhel10.ci.qt.io/rhel-10-for-x86_64-appstream-rpms
|
||||
ui_repoid_vars = releasever basearch
|
||||
name = Qt Red Hat Enterprise Linux 10 Appstream (RPMs)
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
enabled = 1
|
||||
gpgcheck = 1
|
||||
|
||||
[codeready-builder-for-rhel-10-x86_64-rpms]
|
||||
metadata_expire = 86400
|
||||
baseurl = http://repo-clones-rhel10.ci.qt.io/codeready-builder-for-rhel-10-x86_64-rpms
|
||||
ui_repoid_vars = releasever basearch
|
||||
name = Qt Red Hat Enterprise Linux Codeready Builder (RPMs)
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
enabled = 1
|
||||
gpgcheck = 1
|
||||
EOC
|
||||
|
||||
# Epel is required for 'double-conversion-devel', 'libsqlite3x' and 'p7zip'
|
||||
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpm
|
||||
|
||||
sudo yum clean all
|
||||
# As well as this fetching the repository data, we also get a printout of the used repos
|
||||
sudo yum repolist
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2026 The Qt Company Ltd
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
set -ex
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
"$BASEDIR/../common/linux/limit-avahi-interfaces.sh"
|
||||
@@ -0,0 +1,206 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2026 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
set -ex
|
||||
|
||||
# Remove update notifications and packagekit running in the background
|
||||
sudo yum -y remove PackageKit gnome-software
|
||||
|
||||
# CI: All platforms should have up-to-date packages when new provision is made
|
||||
sudo yum -y update
|
||||
|
||||
installPackages=()
|
||||
# Make sure needed ca-certificates are available
|
||||
installPackages+=(ca-certificates)
|
||||
installPackages+=(git)
|
||||
installPackages+=(zlib-devel)
|
||||
installPackages+=(glib2-devel)
|
||||
installPackages+=(openssl-devel)
|
||||
installPackages+=(freetype-devel)
|
||||
installPackages+=(fontconfig-devel)
|
||||
installPackages+=(curl-devel)
|
||||
installPackages+=(expat-devel)
|
||||
installPackages+=(gettext-devel)
|
||||
installPackages+=(perl-devel)
|
||||
# Required by some old pkg perl script, FindBin.pm was moved to new package in perl 5.32
|
||||
installPackages+=(perl-FindBin)
|
||||
installPackages+=(dh-autoreconf)
|
||||
# cmake build
|
||||
installPackages+=(ninja-build)
|
||||
installPackages+=(pcre2-devel)
|
||||
installPackages+=(double-conversion-devel)
|
||||
installPackages+=(zstd)
|
||||
installPackages+=(libzstd-devel)
|
||||
# EGL support
|
||||
installPackages+=(mesa-libEGL)
|
||||
|
||||
installPackages+=(libxkbfile-devel)
|
||||
# Xinput2
|
||||
installPackages+=(libXi-devel)
|
||||
installPackages+=(mariadb-server)
|
||||
installPackages+=(mariadb)
|
||||
installPackages+=(mariadb-devel)
|
||||
installPackages+=(postgresql-devel)
|
||||
installPackages+=(cups-devel)
|
||||
installPackages+=(dbus-devel)
|
||||
# gstreamer 1 for QtMultimedia
|
||||
# Note! gstreamer1-plugins-bad-free needs to be upgraded or it will conflicts with gstreamer1-plugins-base-devel
|
||||
installPackages+=(gstreamer1-plugins-bad-free)
|
||||
installPackages+=(gstreamer1-devel)
|
||||
installPackages+=(gstreamer1-plugins-base-devel)
|
||||
# Not available for RHEL 10.0
|
||||
#installPackages+=(gstreamer1-plugin-openh264)
|
||||
# pipewire for QtMultimedia
|
||||
installPackages+=(pipewire-devel)
|
||||
# yasm for QtMultimedia
|
||||
installPackages+=(yasm)
|
||||
# gtk3 style for QtGui/QStyle
|
||||
installPackages+=(gtk3-devel)
|
||||
# libusb1 for tqtc-boot2qt/qdb
|
||||
installPackages+=(libusbx-devel)
|
||||
# speech-dispatcher-devel / flite-devel for QtSpeech
|
||||
installPackages+=(speech-dispatcher-devel)
|
||||
installPackages+=(flite-devel)
|
||||
# Python 2 devel and pip. python-pip requires the EPEL repository to be added
|
||||
# Python 2 no longer supported
|
||||
# installPackages+=(python2-devel python2-pip)
|
||||
# Python 3 with python-devel, pip and virtualenv
|
||||
installPackages+=(python3)
|
||||
installPackages+=(python3-devel)
|
||||
# WebEngine
|
||||
installPackages+=(bison)
|
||||
installPackages+=(flex)
|
||||
installPackages+=(gperftools-libs)
|
||||
installPackages+=(gperf)
|
||||
installPackages+=(alsa-lib-devel)
|
||||
installPackages+=(pulseaudio-libs-devel)
|
||||
installPackages+=(libdrm-devel)
|
||||
installPackages+=(libva-devel)
|
||||
installPackages+=(libXtst-devel)
|
||||
installPackages+=(libxshmfence-devel)
|
||||
installPackages+=(nspr-devel)
|
||||
installPackages+=(nss-devel)
|
||||
installPackages+=(python3-html5lib)
|
||||
installPackages+=(libstdc++-static)
|
||||
# For Android builds
|
||||
#installPackages+=(java-21-openjdk-devel.21.0.9.0.10-1.el10)
|
||||
installPackages+=(java-21-openjdk-devel)
|
||||
# For receiving shasum
|
||||
installPackages+=(perl-Digest-SHA)
|
||||
# INTEGRITY requirements
|
||||
# Not available for RHEL 10.0
|
||||
#installPackages+=(glibc.i686)
|
||||
# Enable Qt Bluetooth
|
||||
installPackages+=(bluez-libs-devel)
|
||||
# QtNfc
|
||||
installPackages+=(pcsc-lite-devel)
|
||||
# QtWebKit
|
||||
installPackages+=(libxml2-devel)
|
||||
installPackages+=(libxslt-devel)
|
||||
# For building Wayland from source
|
||||
installPackages+=(libffi-devel)
|
||||
# QtWayland
|
||||
# installPackages+=(mesa-libwayland-egl)
|
||||
# installPackages+=(mesa-libwayland-egl-devel)
|
||||
installPackages+=(libwayland-egl)
|
||||
installPackages+=(libwayland-client)
|
||||
installPackages+=(libwayland-cursor)
|
||||
installPackages+=(libwayland-server)
|
||||
# Jenkins
|
||||
installPackages+=(chrpath)
|
||||
# libxkbcommon
|
||||
installPackages+=(libxkbcommon-devel)
|
||||
installPackages+=(libxkbcommon-x11-devel)
|
||||
# xcb-util-* libraries
|
||||
installPackages+=(xcb-util)
|
||||
installPackages+=(xcb-util-devel)
|
||||
installPackages+=(xcb-util-image-devel)
|
||||
installPackages+=(xcb-util-keysyms-devel)
|
||||
installPackages+=(xcb-util-wm-devel)
|
||||
installPackages+=(xcb-util-renderutil-devel)
|
||||
installPackages+=(xcb-util-cursor)
|
||||
installPackages+=(xcb-util-cursor-devel)
|
||||
|
||||
# ODBC support
|
||||
installPackages+=(unixODBC-devel)
|
||||
installPackages+=(unixODBC)
|
||||
# Vulkan support
|
||||
installPackages+=(vulkan-devel)
|
||||
installPackages+=(vulkan-tools)
|
||||
# Conan: For Python build
|
||||
installPackages+=(xz-devel)
|
||||
installPackages+=(zlib-devel)
|
||||
installPackages+=(libffi-devel)
|
||||
installPackages+=(libsqlite3x-devel)
|
||||
# Build.pl
|
||||
installPackages+=(perl-Data-Dumper)
|
||||
# In RedHat these come with Devtoolset
|
||||
installPackages+=(gcc)
|
||||
installPackages+=(gcc-c++)
|
||||
installPackages+=(make)
|
||||
# RHEL 10.0 has newer toolset
|
||||
#installPackages+=(gcc-toolset-12)
|
||||
# Open source VMware Tools
|
||||
installPackages+=(open-vm-tools)
|
||||
# nfs-utils is needed to make mount work with ci-files01
|
||||
installPackages+=(nfs-utils)
|
||||
# cifs-utils, for mounting smb drive
|
||||
installPackages+=(keyutils)
|
||||
installPackages+=(cifs-utils)
|
||||
# zip, needed for vcpkg caching
|
||||
installPackages+=(zip)
|
||||
# OpenSSL requirement, built by vcpkg
|
||||
installPackages+=(perl-IPC-Cmd)
|
||||
# password management support for Qt Creator
|
||||
installPackages+=(libsecret-devel)
|
||||
# For Firebird in RTA
|
||||
installPackages+=(libtommath-devel)
|
||||
# For tst_license.pl with all the machines generating SBOM
|
||||
installPackages+=(perl-JSON)
|
||||
installPackages+=(perl-Test-Simple) # To install Test::More module for SBOM
|
||||
# For qtgrpc build
|
||||
installPackages+=(zlib-static)
|
||||
|
||||
sudo yum -y install "${installPackages[@]}"
|
||||
|
||||
sudo dnf install nodejs-22.19.0-2.el10_0 -y
|
||||
# Required by QtCore
|
||||
sudo dnf install 'perl(English)' -y
|
||||
|
||||
# We shouldn't use yum to install virtualenv. The one found from package repo is not
|
||||
# working, but we can use installed pip
|
||||
sudo pip3 install --upgrade pip
|
||||
# Configure pip
|
||||
sudo pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache
|
||||
sudo pip config --user set global.extra-index-url https://pypi.org/simple/
|
||||
|
||||
# Create SBOM virtual env compatible with RHEL 10.0 Python 3.12
|
||||
mkdir "/home/qt/sbom/"
|
||||
python3 -m venv /home/qt/sbom/venv
|
||||
/home/qt/sbom/venv/bin/pip install wheel
|
||||
/home/qt/sbom/venv/bin/pip install -r "${BASH_SOURCE%/*}/../common/shared/requirements.txt"
|
||||
|
||||
# Provisioning during installation says:
|
||||
# 'The script sbom2doc is installed in '/usr/local/bin' which is not on PATH.'
|
||||
# hence the explicit assignment to SBOM_PYTHON_APPS_PATH.
|
||||
source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
|
||||
SetEnvVar "SBOM_PYTHON_APPS_PATH" "/home/qt/sbom/venv/bin"
|
||||
|
||||
# Set SBOM_PYTHON_INTERP_PATH to Python3 instance which was used to install SBOM packages from requirements
|
||||
SetEnvVar "SBOM_PYTHON_INTERP_PATH" "/home/qt/sbom/venv/bin"
|
||||
|
||||
# Make FindPython3.cmake to find python3
|
||||
sudo ln -s /usr/bin/python3 /usr/local/bin/python3
|
||||
|
||||
gccVersion="$(gcc --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
|
||||
echo "GCC = $gccVersion" >> versions.txt
|
||||
|
||||
glibcVersion="$(ldd --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
|
||||
echo "glibc = $glibcVersion" >> versions.txt
|
||||
|
||||
OpenSSLVersion="$(openssl version |cut -b 9-14)"
|
||||
echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt
|
||||
|
||||
# List all available updates
|
||||
sudo yum -y list updates
|
||||
15
coin/provisioning/qtci-linux-RHEL-10.0-x86_64/04-p7zip.sh
Normal file
15
coin/provisioning/qtci-linux-RHEL-10.0-x86_64/04-p7zip.sh
Normal file
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2026 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
|
||||
|
||||
set -ex
|
||||
|
||||
name="p7zip"
|
||||
version="7-11"
|
||||
sudo yum -y install "$name"
|
||||
|
||||
# Link 7za to 7z so we can use existing installation scripts
|
||||
sudo ln -s /usr/bin/7za /usr/bin/7z
|
||||
|
||||
echo "$name = $version" >> ~/versions.txt
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
#Copyright (C) 2026 The Qt Company Ltd
|
||||
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
set -ex
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
"$BASEDIR/../common/linux/install-ninja.sh"
|
||||
@@ -0,0 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2026 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
source "${BASH_SOURCE%/*}/../common/unix/install-patchelf.sh"
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
#Copyright (C) 2026 The Qt Company Ltd
|
||||
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
set -ex
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
# shellcheck source=../common/unix/libclang-dyn.sh
|
||||
"$BASEDIR/../common/unix/libclang-dyn.sh" "-snld10"
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
#Copyright (C) 2026 The Qt Company Ltd
|
||||
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
set -ex
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
# shellcheck source=../common/unix/libclang.sh
|
||||
"$BASEDIR/../common/unix/libclang.sh" "-snld10"
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2026 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
set -ex
|
||||
|
||||
# shellcheck source=../common/linux/mount-vcpkg-cache-drive.sh
|
||||
source "${BASH_SOURCE%/*}/../common/linux/mount-vcpkg-cache-drive.sh"
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2026 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
set -ex
|
||||
|
||||
# shellcheck source=../common/linux/disable_selinux.sh
|
||||
source "${BASH_SOURCE%/*}/../common/linux/disable_selinux.sh"
|
||||
@@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
source "${BASH_SOURCE%/*}/../common/linux/sccache.sh"
|
||||
@@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2026 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
# shellcheck source=../common/unix/mqtt_broker.sh
|
||||
source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh"
|
||||
6
coin/provisioning/qtci-macos-11-x86_64/90-squish.sh → coin/provisioning/qtci-linux-RHEL-10.0-x86_64/30-fbx.sh
Executable file → Normal file
6
coin/provisioning/qtci-macos-11-x86_64/90-squish.sh → coin/provisioning/qtci-linux-RHEL-10.0-x86_64/30-fbx.sh
Executable file → Normal file
@@ -1,8 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
#Copyright (C) 2023 The Qt Company Ltd
|
||||
#Copyright (C) 2026 The Qt Company Ltd
|
||||
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
set -ex
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
"$BASEDIR/../common/unix/squishInstall.sh"
|
||||
|
||||
"$BASEDIR/../common/linux/fbx_linux.sh"
|
||||
6
coin/provisioning/qtci-macos-12-x86_64/90-squish.sh → coin/provisioning/qtci-linux-RHEL-10.0-x86_64/30-install-conan.sh
Executable file → Normal file
6
coin/provisioning/qtci-macos-12-x86_64/90-squish.sh → coin/provisioning/qtci-linux-RHEL-10.0-x86_64/30-install-conan.sh
Executable file → Normal file
@@ -1,8 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
#Copyright (C) 2023 The Qt Company Ltd
|
||||
#Copyright (C) 2026 The Qt Company Ltd
|
||||
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
set -ex
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
"$BASEDIR/../common/unix/squishInstall.sh"
|
||||
|
||||
"$BASEDIR/../common/unix/install-conan.sh"
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user