mirror of
git://code.qt.io/qt/qt5.git
synced 2026-04-10 23:40:11 +08:00
Compare commits
137 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
065b7072f6 | ||
|
|
fb335d810c | ||
|
|
068516348c | ||
|
|
a56f9a4b64 | ||
|
|
88f3bba9fe | ||
|
|
8985014695 | ||
|
|
f8d3ecc8c5 | ||
|
|
b373a99c84 | ||
|
|
c72791643a | ||
|
|
72df905ad0 | ||
|
|
c46968cf02 | ||
|
|
f39ba1a737 | ||
|
|
762ae0c4f1 | ||
|
|
e41fdd0e35 | ||
|
|
e9e8d7965f | ||
|
|
e52d4450e6 | ||
|
|
421e047560 | ||
|
|
a18bf49a08 | ||
|
|
6151c89412 | ||
|
|
1a28d5735a | ||
|
|
888f401dda | ||
|
|
ce84790549 | ||
|
|
b878ae8e16 | ||
|
|
3c9ac3eb94 | ||
|
|
bfe5afdd0b | ||
|
|
0abfaee87f | ||
|
|
4f808ebcff | ||
|
|
2f8949ba66 | ||
|
|
f504f67bfe | ||
|
|
b03ea64e41 | ||
|
|
1c15c2b44e | ||
|
|
72865b0d10 | ||
|
|
5f3a292308 | ||
|
|
bd457e9a9d | ||
|
|
b4cbb683b7 | ||
|
|
f34a3c1ef9 | ||
|
|
331417d39f | ||
|
|
858db09c08 | ||
|
|
b4f330ea06 | ||
|
|
6ff8b4ecdb | ||
|
|
92dd9a8f0e | ||
|
|
f082a74f99 | ||
|
|
fc05039ef2 | ||
|
|
1fce08961a | ||
|
|
7547bafd1e | ||
|
|
2bbce2662f | ||
|
|
5f12548fb2 | ||
|
|
97d78ea40a | ||
|
|
9260fd33e8 | ||
|
|
2e7fc85baf | ||
|
|
2747adefe5 | ||
|
|
92c3e02c5f | ||
|
|
e06032d5fd | ||
|
|
9053f6d65c | ||
|
|
b038b16d27 | ||
|
|
bc7a96b955 | ||
|
|
3f94a4775b | ||
|
|
8cfbb3a8ce | ||
|
|
ca679e98de | ||
|
|
30ee3ee4b2 | ||
|
|
5da5123c58 | ||
|
|
f4184f1888 | ||
|
|
65c4187e6e | ||
|
|
c7ce79946a | ||
|
|
5f7dbc28d3 | ||
|
|
4cac599ed2 | ||
|
|
285e7741cc | ||
|
|
91ef9fed9f | ||
|
|
905c3daac7 | ||
|
|
0741ab2895 | ||
|
|
b210a2bf9a | ||
|
|
de1524f320 | ||
|
|
a705215d0a | ||
|
|
8371d14e9d | ||
|
|
971f164d80 | ||
|
|
75ccca3662 | ||
|
|
925db9e3a3 | ||
|
|
d587092f57 | ||
|
|
f7a9d1d907 | ||
|
|
883d4c2c62 | ||
|
|
22960e9c23 | ||
|
|
9f81c8022d | ||
|
|
5d37695091 | ||
|
|
3b502d8073 | ||
|
|
f841bcf220 | ||
|
|
701af5adba | ||
|
|
8884317031 | ||
|
|
7515ceea5b | ||
|
|
20bdec9719 | ||
|
|
d94cefd9de | ||
|
|
adb56a0462 | ||
|
|
a0696f3513 | ||
|
|
76ff4d7046 | ||
|
|
88843f5d8b | ||
|
|
e1261d44d1 | ||
|
|
a4d15afd8e | ||
|
|
75e83cd398 | ||
|
|
70450e5953 | ||
|
|
23f4a0a3bf | ||
|
|
b36caafbb0 | ||
|
|
d14b139aae | ||
|
|
30a99aabd3 | ||
|
|
75948e5de6 | ||
|
|
979b19c8b5 | ||
|
|
97e9150dbe | ||
|
|
7aea7dfbc5 | ||
|
|
b77dae62d5 | ||
|
|
d5be221d9f | ||
|
|
7f7a702ea9 | ||
|
|
1695377527 | ||
|
|
d6a6f98789 | ||
|
|
6ae4ca39cd | ||
|
|
18adb02915 | ||
|
|
0d6a9c09ce | ||
|
|
8a4def3f83 | ||
|
|
0e6aa7277b | ||
|
|
09622b6cca | ||
|
|
332b8beb7d | ||
|
|
26fe4e642e | ||
|
|
775fff4d4a | ||
|
|
331f753f6f | ||
|
|
1e9ca6fdf2 | ||
|
|
0fd9e9f0b6 | ||
|
|
156b753fc5 | ||
|
|
d7a082f08d | ||
|
|
513af7962d | ||
|
|
b8441b17f9 | ||
|
|
033ea9e0d5 | ||
|
|
c86052205a | ||
|
|
d7818854a3 | ||
|
|
27181052ec | ||
|
|
4953664b49 | ||
|
|
e6eaa4f3ef | ||
|
|
cbbba28284 | ||
|
|
9f42f33194 | ||
|
|
4bb846dd6d | ||
|
|
19b819ebf3 |
@@ -104,6 +104,9 @@ AlignEscapedNewlines: Left
|
|||||||
# initializer list in list-initialization.
|
# initializer list in list-initialization.
|
||||||
SpaceBeforeCpp11BracedList: false
|
SpaceBeforeCpp11BracedList: false
|
||||||
|
|
||||||
|
# Do not reflow any comment
|
||||||
|
ReflowComments: false
|
||||||
|
|
||||||
---
|
---
|
||||||
# Use the Google-based style for .proto files.
|
# Use the Google-based style for .proto files.
|
||||||
Language: Proto
|
Language: Proto
|
||||||
|
|||||||
@@ -178,7 +178,6 @@ function(qt_ir_command_line_set_input name val)
|
|||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
# Appends a value of a command line option into a global property.
|
# Appends a value of a command line option into a global property.
|
||||||
# Currently unused
|
|
||||||
function(qt_ir_command_line_append_input name val)
|
function(qt_ir_command_line_append_input name val)
|
||||||
if(NOT "${commandline_option_${name}_alias}" STREQUAL "")
|
if(NOT "${commandline_option_${name}_alias}" STREQUAL "")
|
||||||
set(name "${commandline_option_${name}_alias}")
|
set(name "${commandline_option_${name}_alias}")
|
||||||
@@ -240,6 +239,22 @@ function(qt_ir_commandline_string arg val nextok)
|
|||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
# Like string, but appends to the existing value instead of overwriting.
|
||||||
|
# Allows repeated flags like: -skip qtwebengine -skip qtwebview
|
||||||
|
function(qt_ir_commandline_addString arg val nextok)
|
||||||
|
if(nextok)
|
||||||
|
qt_ir_args_get_next_command_line_arg(val)
|
||||||
|
|
||||||
|
if("${val}" MATCHES "^-")
|
||||||
|
qt_ir_add_error("No value supplied to command line options '${arg}'.")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
qt_ir_validate_value("${arg}" "${val}" success)
|
||||||
|
if(success)
|
||||||
|
qt_ir_command_line_append_input("${arg}" "${val}")
|
||||||
|
endif()
|
||||||
|
endfunction()
|
||||||
|
|
||||||
# Sets / handles the value of a command line void option.
|
# Sets / handles the value of a command line void option.
|
||||||
# This is an option like --force, which doesn't take any arguments.
|
# This is an option like --force, which doesn't take any arguments.
|
||||||
# Currently unused
|
# Currently unused
|
||||||
@@ -279,6 +294,7 @@ endfunction()
|
|||||||
#
|
#
|
||||||
# Currently handles the following types of CLI arguments:
|
# Currently handles the following types of CLI arguments:
|
||||||
# string
|
# string
|
||||||
|
# addString (like string, but accumulates values from repeated flags)
|
||||||
# boolean
|
# boolean
|
||||||
# void
|
# void
|
||||||
#
|
#
|
||||||
@@ -421,3 +437,19 @@ function(qt_ir_get_option_as_cmake_flag_option cli_name cmake_option_name out_va
|
|||||||
endif()
|
endif()
|
||||||
set(${out_var} "${cmake_option}" PARENT_SCOPE)
|
set(${out_var} "${cmake_option}" PARENT_SCOPE)
|
||||||
endfunction()
|
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()
|
qt_ir_validate_options_for_configure()
|
||||||
|
|
||||||
|
# Convert -skip values to module-subset exclusions so init-repository respects them.
|
||||||
|
qt_ir_get_option_value(skip skip_modules)
|
||||||
|
if(skip_modules)
|
||||||
|
string(REPLACE "," ";" skip_modules "${skip_modules}")
|
||||||
|
list(TRANSFORM skip_modules STRIP)
|
||||||
|
list(TRANSFORM skip_modules PREPEND "-")
|
||||||
|
|
||||||
|
qt_ir_get_option_value(module-subset existing_subset)
|
||||||
|
if(NOT existing_subset)
|
||||||
|
set(existing_subset "default")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
list(APPEND skip_modules "${existing_subset}")
|
||||||
|
list(REMOVE_DUPLICATES skip_modules)
|
||||||
|
list(JOIN skip_modules "," merged_subset)
|
||||||
|
|
||||||
|
qt_ir_set_option_value(module-subset "${merged_subset}")
|
||||||
|
message(DEBUG "Preprocessed -skip option: module-subset is now: ${merged_subset}")
|
||||||
|
endif()
|
||||||
|
|
||||||
# -init_submodules implies --force
|
# -init_submodules implies --force
|
||||||
qt_ir_set_option_value(force TRUE)
|
qt_ir_set_option_value(force TRUE)
|
||||||
|
|
||||||
@@ -110,6 +130,11 @@ function(qt_ir_get_args_from_optfile_configure_filtered optfile_path out_var)
|
|||||||
set(extra_configure_args "")
|
set(extra_configure_args "")
|
||||||
set(extra_cmake_args "")
|
set(extra_cmake_args "")
|
||||||
|
|
||||||
|
# Collect modules to skip. These may come from:
|
||||||
|
# 1. The -skip option (consumed by init-repository's option parser)
|
||||||
|
# 2. Exclusion entries in -submodules/--module-subset (e.g. -qtfoo)
|
||||||
|
qt_ir_get_option_value(skip skip_modules)
|
||||||
|
|
||||||
# If the -submodules or --module-subset options were specified, transform
|
# If the -submodules or --module-subset options were specified, transform
|
||||||
# the values into something configure understands and pass them to configure.
|
# the values into something configure understands and pass them to configure.
|
||||||
qt_ir_get_option_value(module-subset submodules)
|
qt_ir_get_option_value(module-subset submodules)
|
||||||
@@ -133,25 +158,10 @@ function(qt_ir_get_args_from_optfile_configure_filtered optfile_path out_var)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
list(JOIN include_submodules "," include_submodules)
|
list(JOIN include_submodules "," include_submodules)
|
||||||
list(JOIN exclude_submodules "," exclude_submodules)
|
|
||||||
|
|
||||||
# Handle case when the -skip argument is already passed.
|
# Merge exclusions from module-subset into the skip list.
|
||||||
# In that case read the passed values, merge with new ones,
|
if(exclude_submodules)
|
||||||
# remove both the -skip and its values, and re-add it later.
|
list(APPEND skip_modules ${exclude_submodules})
|
||||||
list(FIND filtered_args "-skip" skip_index)
|
|
||||||
if(exclude_submodules AND skip_index GREATER -1)
|
|
||||||
list(LENGTH filtered_args filtered_args_length)
|
|
||||||
math(EXPR skip_args_index "${skip_index} + 1")
|
|
||||||
|
|
||||||
if(skip_args_index LESS filtered_args_length)
|
|
||||||
list(GET filtered_args "${skip_args_index}" skip_args)
|
|
||||||
string(REPLACE "," ";" skip_args "${skip_args}")
|
|
||||||
list(APPEND skip_args ${exclude_submodules})
|
|
||||||
list(REMOVE_DUPLICATES skip_args)
|
|
||||||
list(JOIN skip_args "," exclude_submodules)
|
|
||||||
list(REMOVE_AT filtered_args "${skip_args_index}")
|
|
||||||
list(REMOVE_AT filtered_args "${skip_index}")
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Handle case when only '-submodules existing' is passed and the
|
# Handle case when only '-submodules existing' is passed and the
|
||||||
@@ -159,9 +169,13 @@ function(qt_ir_get_args_from_optfile_configure_filtered optfile_path out_var)
|
|||||||
if(include_submodules)
|
if(include_submodules)
|
||||||
list(APPEND extra_configure_args "-submodules" "${include_submodules}")
|
list(APPEND extra_configure_args "-submodules" "${include_submodules}")
|
||||||
endif()
|
endif()
|
||||||
if(exclude_submodules)
|
endif()
|
||||||
list(APPEND extra_configure_args "-skip" "${exclude_submodules}")
|
|
||||||
endif()
|
# Forward all collected skip modules to configure.
|
||||||
|
if(skip_modules)
|
||||||
|
list(REMOVE_DUPLICATES skip_modules)
|
||||||
|
list(JOIN skip_modules "," skip_csv)
|
||||||
|
list(APPEND extra_configure_args "-skip" "${skip_csv}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Insert the extra arguments into the proper positions before and after '--'.
|
# Insert the extra arguments into the proper positions before and after '--'.
|
||||||
@@ -295,7 +309,7 @@ function(qt_ir_run_after_args_parsed top_level_src_path out_var_exit_reason)
|
|||||||
"${working_directory}")
|
"${working_directory}")
|
||||||
|
|
||||||
# Get some additional options to pass down.
|
# 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)
|
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.
|
# 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)
|
qt_ir_commandline_option(init-submodules TYPE boolean)
|
||||||
# We alias qtbase's submodules option to init-repository module-subset.
|
# We alias qtbase's submodules option to init-repository module-subset.
|
||||||
qt_ir_commandline_option(submodules ALIAS module-subset TYPE string)
|
qt_ir_commandline_option(submodules ALIAS module-subset TYPE string)
|
||||||
|
qt_ir_commandline_option(skip TYPE addString)
|
||||||
|
|
||||||
set_property(GLOBAL PROPERTY _qt_ir_known_command_line_options "${commandline_known_options}")
|
set_property(GLOBAL PROPERTY _qt_ir_known_command_line_options "${commandline_known_options}")
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|||||||
@@ -110,15 +110,15 @@ Configurations:
|
|||||||
# Test on Ubuntu 24.04 x64 X11
|
# Test on Ubuntu 24.04 x64 X11
|
||||||
-
|
-
|
||||||
Id: 'ubuntu-24.04-x64-developer-build-x11-tests'
|
Id: 'ubuntu-24.04-x64-developer-build-x11-tests'
|
||||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
|
||||||
Compiler: 'GCC'
|
Compiler: 'GCC'
|
||||||
Features: ['Sccache', 'TestOnly', 'InsignificantTests']
|
Features: ['Sccache', 'TestOnly']
|
||||||
Platform dependency: 'ubuntu-24.04-x64-developer-build'
|
Platform dependency: 'ubuntu-24.04-x64-developer-build'
|
||||||
-
|
-
|
||||||
Id: 'ubuntu-24.04-x64-x11-tests'
|
Id: 'ubuntu-24.04-x64-x11-tests'
|
||||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
|
||||||
Compiler: 'GCC'
|
Compiler: 'GCC'
|
||||||
Features: ['Sccache', 'TestOnly', 'InsignificantTests']
|
Features: ['Sccache', 'TestOnly']
|
||||||
Platform dependency: 'ubuntu-24.04-x64'
|
Platform dependency: 'ubuntu-24.04-x64'
|
||||||
-
|
-
|
||||||
Id: 'opensuse-15.6-developer-build'
|
Id: 'opensuse-15.6-developer-build'
|
||||||
@@ -167,23 +167,11 @@ Configurations:
|
|||||||
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
|
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
|
||||||
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
|
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
|
||||||
]
|
]
|
||||||
-
|
|
||||||
Id: 'windows-11_22h2-arm64-msvc2022'
|
|
||||||
Template: 'qtci-windows-11_22H2-aarch64-55'
|
|
||||||
Compiler: 'MSVC2022'
|
|
||||||
Features: ['Packaging', 'DebugAndRelease', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
|
||||||
Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib -no-opengl -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer'
|
|
||||||
Environment variables: [
|
|
||||||
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_arm64}}\..',
|
|
||||||
'NON_QTBASE_CMAKE_ARGS= -DFEATURE_clangcpp=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE',
|
|
||||||
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
|
|
||||||
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
|
|
||||||
]
|
|
||||||
-
|
-
|
||||||
Id: 'windows-11_23h2-arm64-msvc2022'
|
Id: 'windows-11_23h2-arm64-msvc2022'
|
||||||
Template: 'qtci-windows-11_23H2-aarch64-53'
|
Template: 'qtci-windows-11_23H2-aarch64-53'
|
||||||
Compiler: 'MSVC2022'
|
Compiler: 'MSVC2022'
|
||||||
Features: ['Packaging', 'DebugAndRelease', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
|
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'
|
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: [
|
Environment variables: [
|
||||||
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_arm64}}\..',
|
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_arm64}}\..',
|
||||||
@@ -196,11 +184,11 @@ Configurations:
|
|||||||
Template: 'qtci-windows-11_24H2-x86_64-71'
|
Template: 'qtci-windows-11_24H2-x86_64-71'
|
||||||
Compiler: 'MSVC2022'
|
Compiler: 'MSVC2022'
|
||||||
Target arch: 'arm64'
|
Target arch: 'arm64'
|
||||||
Features: ['Sccache', 'DoNotRunTests', 'TargetBuildOnly', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
Features: ['Sccache', 'Packaging', 'DoNotRunTests', 'TargetBuildOnly', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
||||||
Platform dependency: 'windows-10_22h2-mingw13'
|
Platform dependency: 'windows-11_24h2-mingw13'
|
||||||
Environment variables: [
|
Environment variables: [
|
||||||
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
|
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
|
||||||
'TARGET_CONFIGURE_ARGS=-debug-and-release -force-debug-info -platform win32-arm64-msvc -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer -no-feature-run-opengl-tests',
|
'TARGET_CONFIGURE_ARGS=-debug-and-release -force-debug-info -platform win32-arm64-msvc -qt-zlib -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer',
|
||||||
'TARGET_CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ROOT_DIR_x64_arm64}} -DQT_FORCE_BUILD_TOOLS=ON',
|
'TARGET_CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ROOT_DIR_x64_arm64}} -DQT_FORCE_BUILD_TOOLS=ON',
|
||||||
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE',
|
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE',
|
||||||
'OPENSSL_CONF_x64={{.Env.OPENSSL_CONF_x64_arm64}}',
|
'OPENSSL_CONF_x64={{.Env.OPENSSL_CONF_x64_arm64}}',
|
||||||
@@ -210,40 +198,13 @@ Configurations:
|
|||||||
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
|
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
|
||||||
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
|
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
|
||||||
]
|
]
|
||||||
-
|
|
||||||
Id: 'windows-11_24H2-msvc2022-arm64-23H2'
|
|
||||||
Template: 'qtci-windows-11_24H2-x86_64-71'
|
|
||||||
Compiler: 'MSVC2022'
|
|
||||||
Target arch: 'arm64'
|
|
||||||
Features: ['Sccache', 'Packaging', 'DoNotRunTests', 'TargetBuildOnly', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
|
||||||
Platform dependency: 'windows-10_22h2-mingw13'
|
|
||||||
Environment variables: [
|
|
||||||
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
|
|
||||||
'TARGET_CONFIGURE_ARGS=-debug-and-release -force-debug-info -platform win32-arm64-msvc -qt-zlib -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer',
|
|
||||||
'TARGET_CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ROOT_DIR_x64_arm64}}',
|
|
||||||
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE',
|
|
||||||
'OPENSSL_CONF_x64={{.Env.OPENSSL_CONF_x64_arm64}}',
|
|
||||||
'OPENSSL_INCLUDE_x64={{.Env.OPENSSL_INCLUDE_x64_arm64}}',
|
|
||||||
'OPENSSL_LIB_x64={{.Env.OPENSSL_LIB_x64_arm64}}',
|
|
||||||
'VCPKG_HOST_TRIPLET=x64-windows-qt',
|
|
||||||
'VCPKG_TARGET_TRIPLET=arm64-windows-qt',
|
|
||||||
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
|
|
||||||
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
|
|
||||||
]
|
|
||||||
-
|
-
|
||||||
Id: 'windows-11-x86_64-arm64-tests'
|
Id: 'windows-11-x86_64-arm64-tests'
|
||||||
Template: 'qtci-windows-11_22H2-aarch64-55'
|
|
||||||
Compiler: 'MSVC2022'
|
|
||||||
Features: ['TestOnly']
|
|
||||||
Configure arguments: '-no-opengl -cross-compiled'
|
|
||||||
Platform dependency: 'windows-11_24H2-msvc2022-arm64'
|
|
||||||
-
|
|
||||||
Id: 'windows-11-x86_64-arm64-tests-23H2'
|
|
||||||
Template: 'qtci-windows-11_23H2-aarch64-53'
|
Template: 'qtci-windows-11_23H2-aarch64-53'
|
||||||
Compiler: 'MSVC2022'
|
Compiler: 'MSVC2022'
|
||||||
Features: ['TestOnly', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
|
Features: ['TestOnly']
|
||||||
Configure arguments: '-cross-compiled'
|
Configure arguments: '-cross-compiled'
|
||||||
Platform dependency: 'windows-11_24H2-msvc2022-arm64-23H2'
|
Platform dependency: 'windows-11_24H2-msvc2022-arm64'
|
||||||
-
|
-
|
||||||
Id: 'windows-11_24H2-msvc2022-developer-build'
|
Id: 'windows-11_24H2-msvc2022-developer-build'
|
||||||
Template: 'qtci-windows-11_24H2-x86_64-71'
|
Template: 'qtci-windows-11_24H2-x86_64-71'
|
||||||
@@ -276,6 +237,16 @@ Configurations:
|
|||||||
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
|
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
|
||||||
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON'
|
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON'
|
||||||
]
|
]
|
||||||
|
-
|
||||||
|
Id: 'rhel-9.6'
|
||||||
|
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
|
||||||
|
Compiler: 'GCC'
|
||||||
|
Features: ['Sccache', 'UseConfigure', 'InstallQt5Dependencies', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
|
||||||
|
Configure arguments: '-nomake examples -release -force-debug-info -headersclean -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
|
||||||
|
Environment variables: [
|
||||||
|
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
|
||||||
|
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON'
|
||||||
|
]
|
||||||
-
|
-
|
||||||
Id: 'ios-universal'
|
Id: 'ios-universal'
|
||||||
Template: 'qtci-macos-14-arm-106'
|
Template: 'qtci-macos-14-arm-106'
|
||||||
@@ -302,8 +273,8 @@ Configurations:
|
|||||||
'TARGET_CONFIGURE_ARGS=-developer-build -no-warnings-are-errors -nomake examples -nomake tests -platform macx-visionos-clang',
|
'TARGET_CONFIGURE_ARGS=-developer-build -no-warnings-are-errors -nomake examples -nomake tests -platform macx-visionos-clang',
|
||||||
]
|
]
|
||||||
-
|
-
|
||||||
Id: 'windows-10_22h2-mingw13'
|
Id: 'windows-11_24h2-mingw13'
|
||||||
Template: 'qtci-windows-10_22H2-x86_64-53'
|
Template: 'qtci-windows-11_24H2-x86_64-71'
|
||||||
Compiler: 'Mingw'
|
Compiler: 'Mingw'
|
||||||
Features: ['Packaging', 'Sccache', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
Features: ['Packaging', 'Sccache', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
||||||
Configure arguments: '-release -force-debug-info -separate-debug-info -nomake examples'
|
Configure arguments: '-release -force-debug-info -separate-debug-info -nomake examples'
|
||||||
|
|||||||
@@ -13,28 +13,15 @@ Configurations:
|
|||||||
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
|
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
|
||||||
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
|
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
|
||||||
]
|
]
|
||||||
-
|
|
||||||
Id: 'windows-11_22h2-arm64-msvc2022-minimal-static-test'
|
|
||||||
Template: 'qtci-windows-11_22H2-aarch64-55'
|
|
||||||
Compiler: 'MSVC2022'
|
|
||||||
Features: ['UseConfigure', 'InsignificantTests', 'Packaging', 'MinimalStaticTests']
|
|
||||||
Configure arguments: '-static -release -headersclean -nomake examples -qt-libjpeg -no-icu -qt-doubleconversion -qt-zlib -c++std c++17 -no-sql-psql'
|
|
||||||
Environment variables: [
|
|
||||||
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_arm64}}\..',
|
|
||||||
'NON_QTBASE_CMAKE_ARGS=-DCMAKE_BUILD_TYPE=Release -DFEATURE_native_grpc=OFF -DFEATURE_clangcpp=OFF -DFEATURE_qdoc=OFF',
|
|
||||||
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
|
|
||||||
]
|
|
||||||
-
|
-
|
||||||
Id: 'windows-11_23h2-arm64-msvc2022-minimal-static-test'
|
Id: 'windows-11_23h2-arm64-msvc2022-minimal-static-test'
|
||||||
Template: 'qtci-windows-11_23H2-aarch64-53'
|
Template: 'qtci-windows-11_23H2-aarch64-53'
|
||||||
Compiler: 'MSVC2022'
|
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'
|
Configure arguments: '-static -release -headersclean -nomake examples -qt-libjpeg -no-icu -qt-doubleconversion -qt-zlib -c++std c++17 -no-sql-psql'
|
||||||
Environment variables: [
|
Environment variables: [
|
||||||
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_arm64}}\..',
|
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_arm64}}\..',
|
||||||
'NON_QTBASE_CMAKE_ARGS=-DCMAKE_BUILD_TYPE=Release -DFEATURE_native_grpc=OFF -DFEATURE_clangcpp=OFF -DFEATURE_qdoc=OFF',
|
'NON_QTBASE_CMAKE_ARGS=-DCMAKE_BUILD_TYPE=Release -DFEATURE_native_grpc=OFF -DFEATURE_clangcpp=OFF -DFEATURE_qdoc=OFF',
|
||||||
'VCPKG_HOST_TRIPLET=arm64-windows-qt',
|
|
||||||
'VCPKG_TARGET_TRIPLET=arm64-windows-qt',
|
|
||||||
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
|
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
|
||||||
]
|
]
|
||||||
-
|
-
|
||||||
@@ -51,7 +38,7 @@ Configurations:
|
|||||||
Id: 'ubuntu-24.04-arm64'
|
Id: 'ubuntu-24.04-arm64'
|
||||||
Template: 'qtci-linux-Ubuntu-24.04-aarch64-52'
|
Template: 'qtci-linux-Ubuntu-24.04-aarch64-52'
|
||||||
Compiler: 'GCC'
|
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'
|
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: [
|
Environment variables: [
|
||||||
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
|
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
|
||||||
|
|||||||
@@ -17,12 +17,12 @@ Configurations:
|
|||||||
]
|
]
|
||||||
-
|
-
|
||||||
Id: 'android-armv7-on-windows'
|
Id: 'android-armv7-on-windows'
|
||||||
Template: 'qtci-windows-10_22H2-x86_64-53'
|
Template: 'qtci-windows-11_24H2-x86_64-71'
|
||||||
Target os: 'Android_ANY'
|
Target os: 'Android_ANY'
|
||||||
Target arch: 'armv7'
|
Target arch: 'armv7'
|
||||||
Compiler: 'Mingw'
|
Compiler: 'Mingw'
|
||||||
Target compiler: 'Clang'
|
Target compiler: 'Clang'
|
||||||
Platform dependency: 'windows-10_22h2-mingw13'
|
Platform dependency: 'windows-11_24h2-mingw13'
|
||||||
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
||||||
Environment variables: [
|
Environment variables: [
|
||||||
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
|
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
|
||||||
@@ -33,12 +33,12 @@ Configurations:
|
|||||||
]
|
]
|
||||||
-
|
-
|
||||||
Id: 'android-9-x86-on-linux'
|
Id: 'android-9-x86-on-linux'
|
||||||
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
|
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
||||||
Target os: 'Android_ANY'
|
Target os: 'Android_ANY'
|
||||||
Target arch: 'x86'
|
Target arch: 'x86'
|
||||||
Compiler: 'GCC'
|
Compiler: 'GCC'
|
||||||
Target compiler: 'Clang'
|
Target compiler: 'Clang'
|
||||||
Platform dependency: 'rhel-8.10'
|
Platform dependency: 'rhel-9.4'
|
||||||
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
||||||
Environment variables: [
|
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_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86',
|
||||||
@@ -48,30 +48,46 @@ Configurations:
|
|||||||
'ANDROID_EMULATOR=emulator_x86_api_28'
|
'ANDROID_EMULATOR=emulator_x86_api_28'
|
||||||
]
|
]
|
||||||
-
|
-
|
||||||
Id: 'android-15-x86_64-on-linux'
|
Id: 'android-9-x86-on-linux-rhel_9_6'
|
||||||
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
|
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
|
||||||
Target os: 'Android_ANY'
|
Target os: 'Android_ANY'
|
||||||
Target arch: 'x86_64'
|
Target arch: 'x86'
|
||||||
Compiler: 'GCC'
|
Compiler: 'GCC'
|
||||||
Target compiler: 'Clang'
|
Target compiler: 'Clang'
|
||||||
Platform dependency: 'rhel-8.10'
|
Platform dependency: 'rhel-9.6'
|
||||||
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
Features: ['Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
|
||||||
Environment variables: [
|
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_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',
|
'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',
|
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_NDK_LATEST}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
|
||||||
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}',
|
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}',
|
||||||
'ANDROID_EMULATOR=emulator_x86_64_api_35'
|
'ANDROID_EMULATOR=emulator_x86_api_28'
|
||||||
]
|
]
|
||||||
-
|
-
|
||||||
Id: 'android-16-x86_64-on-linux'
|
Id: 'android-16-x86_64-on-linux'
|
||||||
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
|
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
||||||
Target os: 'Android_ANY'
|
Target os: 'Android_ANY'
|
||||||
Target arch: 'x86_64'
|
Target arch: 'x86_64'
|
||||||
Compiler: 'GCC'
|
Compiler: 'GCC'
|
||||||
Target compiler: 'Clang'
|
Target compiler: 'Clang'
|
||||||
Platform dependency: 'rhel-8.10'
|
Platform dependency: 'rhel-9.4'
|
||||||
Features: ['Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests']
|
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
||||||
|
Environment variables: [
|
||||||
|
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_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: [
|
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_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',
|
'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',
|
||||||
|
|||||||
@@ -15,11 +15,11 @@ Configurations:
|
|||||||
]
|
]
|
||||||
-
|
-
|
||||||
Id: 'webassembly-windows'
|
Id: 'webassembly-windows'
|
||||||
Template: 'qtci-windows-10_22H2-x86_64-53'
|
Template: 'qtci-windows-11_24H2-x86_64-71'
|
||||||
Target os: 'WebAssembly'
|
Target os: 'WebAssembly'
|
||||||
Compiler: 'Mingw'
|
Compiler: 'Mingw'
|
||||||
Target compiler: 'Clang'
|
Target compiler: 'Clang'
|
||||||
Platform dependency: 'windows-10_22h2-mingw13'
|
Platform dependency: 'windows-11_24h2-mingw13'
|
||||||
Features: ['Packaging','DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
Features: ['Packaging','DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
||||||
Environment variables: [
|
Environment variables: [
|
||||||
'Path={{.Env.EMSDK_PATH}};{{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
|
'Path={{.Env.EMSDK_PATH}};{{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
|
||||||
|
|||||||
@@ -1,10 +1,5 @@
|
|||||||
Version: 2
|
Version: 2
|
||||||
Configurations:
|
Configurations:
|
||||||
-
|
|
||||||
Id: 'ubuntu-22.04-license-check'
|
|
||||||
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
|
|
||||||
Compiler: 'GCC'
|
|
||||||
Features: ['TestOnly', 'LicenseCheckV2']
|
|
||||||
-
|
-
|
||||||
Id: 'ubuntu-24.04-x64-license-check'
|
Id: 'ubuntu-24.04-x64-license-check'
|
||||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
|
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
|
||||||
|
|||||||
@@ -2,12 +2,12 @@ Version: 2
|
|||||||
Configurations:
|
Configurations:
|
||||||
-
|
-
|
||||||
Id: 'android-x86-developer-build-testrun-on-linux'
|
Id: 'android-x86-developer-build-testrun-on-linux'
|
||||||
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
|
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
||||||
Target os: 'Android_ANY'
|
Target os: 'Android_ANY'
|
||||||
Target arch: 'x86'
|
Target arch: 'x86'
|
||||||
Compiler: 'GCC'
|
Compiler: 'GCC'
|
||||||
Target compiler: 'Clang'
|
Target compiler: 'Clang'
|
||||||
Platform dependency: 'rhel-8.10'
|
Platform dependency: 'rhel-9.4'
|
||||||
Features: ['Packaging', 'Sccache', 'AndroidTestRun', 'UseConfigure']
|
Features: ['Packaging', 'Sccache', 'AndroidTestRun', 'UseConfigure']
|
||||||
Environment variables: [
|
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_CONFIGURE_ARGS=-nomake examples -debug -developer-build -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86',
|
||||||
@@ -15,3 +15,18 @@ Configurations:
|
|||||||
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID}}',
|
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID}}',
|
||||||
'NON_QTBASE_TARGET_CMAKE_ARGS=',
|
'NON_QTBASE_TARGET_CMAKE_ARGS=',
|
||||||
'ANDROID_EMULATOR=emulator_x86_api_28']
|
'ANDROID_EMULATOR=emulator_x86_api_28']
|
||||||
|
-
|
||||||
|
Id: 'android-x86-developer-build-testrun-on-linux-rhel_9_6'
|
||||||
|
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
|
||||||
|
Target os: 'Android_ANY'
|
||||||
|
Target arch: 'x86'
|
||||||
|
Compiler: 'GCC'
|
||||||
|
Target compiler: 'Clang'
|
||||||
|
Platform dependency: 'rhel-9.6'
|
||||||
|
Features: ['Sccache', 'AndroidTestRun', 'UseConfigure', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
|
||||||
|
Environment variables: [
|
||||||
|
'TARGET_CONFIGURE_ARGS=-nomake examples -debug -developer-build -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86',
|
||||||
|
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}}',
|
||||||
|
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID}}',
|
||||||
|
'NON_QTBASE_TARGET_CMAKE_ARGS=',
|
||||||
|
'ANDROID_EMULATOR=emulator_x86_api_28']
|
||||||
|
|||||||
@@ -2,15 +2,15 @@ Version: 2
|
|||||||
Configurations:
|
Configurations:
|
||||||
-
|
-
|
||||||
Id: 'android-9-multi-abi'
|
Id: 'android-9-multi-abi'
|
||||||
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
|
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
||||||
Target os: 'Android_ANY'
|
Target os: 'Android_ANY'
|
||||||
Target arch: 'multi'
|
Target arch: 'multi'
|
||||||
Compiler: 'GCC'
|
Compiler: 'GCC'
|
||||||
Target compiler: 'Clang'
|
Target compiler: 'Clang'
|
||||||
Platform dependency: [
|
Platform dependency: [
|
||||||
'rhel-8.10',
|
'rhel-9.4',
|
||||||
'android-9-x86-on-linux',
|
'android-9-x86-on-linux',
|
||||||
'android-15-x86_64-on-linux'
|
'android-16-x86_64-on-linux'
|
||||||
]
|
]
|
||||||
Features: [
|
Features: [
|
||||||
'Sccache',
|
'Sccache',
|
||||||
@@ -20,9 +20,37 @@ Configurations:
|
|||||||
'InstallDepsPerPlatformSubdir'
|
'InstallDepsPerPlatformSubdir'
|
||||||
]
|
]
|
||||||
Environment variables: [
|
Environment variables: [
|
||||||
'QT_CI_ARTIFACT_ID_PATH_Android-host=QT_CI_ARTIFACT_ID_PATH_rhel-8.10',
|
'QT_CI_ARTIFACT_ID_PATH_Android-host=QT_CI_ARTIFACT_ID_PATH_rhel-9.4',
|
||||||
'QT_CI_ARTIFACT_ID_PATH_Android-x86=QT_CI_ARTIFACT_ID_PATH_android-9-x86-on-linux',
|
'QT_CI_ARTIFACT_ID_PATH_Android-x86=QT_CI_ARTIFACT_ID_PATH_android-9-x86-on-linux',
|
||||||
'QT_CI_ARTIFACT_ID_PATH_Android-x86_64=QT_CI_ARTIFACT_ID_PATH_android-15-x86_64-on-linux',
|
'QT_CI_ARTIFACT_ID_PATH_Android-x86_64=QT_CI_ARTIFACT_ID_PATH_android-16-x86_64-on-linux',
|
||||||
|
'COMMON_TARGET_TEST_CMAKE_ARGS=-DQT_ANDROID_ABIS="x86;x86_64"',
|
||||||
|
'ANDROID_EMULATOR=emulator_x86_api_28'
|
||||||
|
]
|
||||||
|
-
|
||||||
|
Id: 'android-9-multi-abi-rhel_9_6'
|
||||||
|
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
|
||||||
|
Target os: 'Android_ANY'
|
||||||
|
Target arch: 'multi'
|
||||||
|
Compiler: 'GCC'
|
||||||
|
Target compiler: 'Clang'
|
||||||
|
Platform dependency: [
|
||||||
|
'rhel-9.6',
|
||||||
|
'android-9-x86-on-linux',
|
||||||
|
'android-16-x86_64-on-linux'
|
||||||
|
]
|
||||||
|
Features: [
|
||||||
|
'Sccache',
|
||||||
|
'WarningsAreErrors',
|
||||||
|
'AndroidTestRun',
|
||||||
|
'MinimalAndroidMultiABITests',
|
||||||
|
'InstallDepsPerPlatformSubdir',
|
||||||
|
'InsignificantTests',
|
||||||
|
'DoNotAbortTestingOnFirstFailure'
|
||||||
|
]
|
||||||
|
Environment variables: [
|
||||||
|
'QT_CI_ARTIFACT_ID_PATH_Android-host=QT_CI_ARTIFACT_ID_PATH_rhel-9.6',
|
||||||
|
'QT_CI_ARTIFACT_ID_PATH_Android-x86=QT_CI_ARTIFACT_ID_PATH_android-9-x86-on-linux',
|
||||||
|
'QT_CI_ARTIFACT_ID_PATH_Android-x86_64=QT_CI_ARTIFACT_ID_PATH_android-16-x86_64-on-linux',
|
||||||
'COMMON_TARGET_TEST_CMAKE_ARGS=-DQT_ANDROID_ABIS="x86;x86_64"',
|
'COMMON_TARGET_TEST_CMAKE_ARGS=-DQT_ANDROID_ABIS="x86;x86_64"',
|
||||||
'ANDROID_EMULATOR=emulator_x86_api_28'
|
'ANDROID_EMULATOR=emulator_x86_api_28'
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ Configurations:
|
|||||||
Template: 'qtci-macos-15-arm-104'
|
Template: 'qtci-macos-15-arm-104'
|
||||||
Compiler: 'Clang'
|
Compiler: 'Clang'
|
||||||
Target arch: 'x86_64-arm64'
|
Target arch: 'x86_64-arm64'
|
||||||
Features: ['Packaging', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
Features: ['Sccache', 'Packaging', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
||||||
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -framework'
|
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -framework'
|
||||||
Environment variables: [
|
Environment variables: [
|
||||||
'CMAKE_ARGS=-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
|
'CMAKE_ARGS=-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
|
||||||
@@ -48,19 +48,19 @@ Configurations:
|
|||||||
Id: 'macos-13-arm64-tests'
|
Id: 'macos-13-arm64-tests'
|
||||||
Template: 'qtci-macos-13-arm-107'
|
Template: 'qtci-macos-13-arm-107'
|
||||||
Compiler: 'Clang'
|
Compiler: 'Clang'
|
||||||
Features: ['TestOnly', 'Packaging']
|
Features: ['Sccache', 'TestOnly', 'Packaging']
|
||||||
Platform dependency: 'macos-universal-on-arm64'
|
Platform dependency: 'macos-universal-on-arm64'
|
||||||
-
|
-
|
||||||
Id: 'macos-14-arm64-tests'
|
Id: 'macos-14-arm64-tests'
|
||||||
Template: 'qtci-macos-14-arm-106'
|
Template: 'qtci-macos-14-arm-106'
|
||||||
Compiler: 'Clang'
|
Compiler: 'Clang'
|
||||||
Features: ['TestOnly', 'Packaging']
|
Features: ['Sccache', 'TestOnly', 'Packaging']
|
||||||
Platform dependency: 'macos-universal-on-arm64'
|
Platform dependency: 'macos-universal-on-arm64'
|
||||||
-
|
-
|
||||||
Id: 'macos-15-arm64-tests'
|
Id: 'macos-15-arm64-tests'
|
||||||
Template: 'qtci-macos-15-arm-104'
|
Template: 'qtci-macos-15-arm-104'
|
||||||
Compiler: 'Clang'
|
Compiler: 'Clang'
|
||||||
Features: ['TestOnly', 'Packaging']
|
Features: ['Sccache', 'TestOnly', 'Packaging']
|
||||||
Platform dependency: 'macos-universal-on-arm64'
|
Platform dependency: 'macos-universal-on-arm64'
|
||||||
|
|
||||||
# =========================================================================
|
# =========================================================================
|
||||||
@@ -83,7 +83,7 @@ Configurations:
|
|||||||
Id: 'macos-arm64-developer-build'
|
Id: 'macos-arm64-developer-build'
|
||||||
Template: 'qtci-macos-15-arm-104'
|
Template: 'qtci-macos-15-arm-104'
|
||||||
Compiler: 'Clang'
|
Compiler: 'Clang'
|
||||||
Features: ['DoNotRunTests', 'WarningsAreErrors', 'UseConfigure']
|
Features: ['Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure']
|
||||||
Configure arguments: '-developer-build -nomake examples -debug -framework'
|
Configure arguments: '-developer-build -nomake examples -debug -framework'
|
||||||
Environment variables: [
|
Environment variables: [
|
||||||
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
|
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
Version: 2
|
Version: 2
|
||||||
Include: [
|
Include: [
|
||||||
cmake_platforms.yaml: [
|
cmake_platforms.yaml: [
|
||||||
'rhel-8.10'
|
'rhel-9.4'
|
||||||
],
|
],
|
||||||
cmake_platforms_target_android.yaml: [
|
cmake_platforms_target_android.yaml: [
|
||||||
'android-15-x86_64-on-linux',
|
'android-15-x86_64-on-linux',
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
Version: 2
|
Version: 2
|
||||||
Include: [
|
Include: [
|
||||||
cmake_platforms.yaml: [
|
cmake_platforms.yaml: [
|
||||||
'rhel-8.10',
|
'rhel-9.4',
|
||||||
'windows-10_22h2-mingw13'
|
'windows-11_24h2-mingw13'
|
||||||
],
|
],
|
||||||
cmake_platforms_target_android.yaml: [
|
cmake_platforms_target_android.yaml: [
|
||||||
'android-15-x86_64-on-linux',
|
'android-15-x86_64-on-linux',
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
Version: 2
|
Version: 2
|
||||||
Include: [
|
Include: [
|
||||||
cmake_platforms.yaml: [
|
cmake_platforms.yaml: [
|
||||||
'rhel-8.10',
|
'rhel-9.4',
|
||||||
'windows-10_22h2-mingw13'
|
'windows-11_24h2-mingw13'
|
||||||
],
|
],
|
||||||
cmake_platforms_target_android.yaml: [
|
cmake_platforms_target_android.yaml: [
|
||||||
'android-15-x86_64-on-linux',
|
'android-15-x86_64-on-linux',
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ Version: 2
|
|||||||
Configurations:
|
Configurations:
|
||||||
-
|
-
|
||||||
Id: 'ubuntu-24.04-x64-examples-and-tests-build'
|
Id: 'ubuntu-24.04-x64-examples-and-tests-build'
|
||||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
|
||||||
Compiler: 'GCC'
|
Compiler: 'GCC'
|
||||||
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests', 'NoSubmoduleDependencies']
|
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests', 'NoSubmoduleDependencies']
|
||||||
Configure arguments: '-make examples -make tests'
|
Configure arguments: '-make examples -make tests'
|
||||||
|
|||||||
@@ -1,18 +1,18 @@
|
|||||||
Version: 2
|
Version: 2
|
||||||
Include: [
|
Include: [
|
||||||
cmake_platforms.yaml: [
|
cmake_platforms.yaml: [
|
||||||
windows-10_22h2-mingw13
|
'windows-11_24h2-mingw13'
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
Configurations:
|
Configurations:
|
||||||
-
|
-
|
||||||
Id: 'qnx-710-arm64-on-windows'
|
Id: 'qnx-710-arm64-on-windows'
|
||||||
Template: 'qtci-windows-10_22H2-x86_64-53'
|
Template: 'qtci-windows-11_24H2-x86_64-71'
|
||||||
Target os: 'QNX_710'
|
Target os: 'QNX_710'
|
||||||
Target arch: 'arm64'
|
Target arch: 'arm64'
|
||||||
Compiler: 'Mingw'
|
Compiler: 'Mingw'
|
||||||
Target compiler: 'QCC'
|
Target compiler: 'QCC'
|
||||||
Platform dependency: 'windows-10_22h2-mingw13'
|
Platform dependency: 'windows-11_24h2-mingw13'
|
||||||
Features: ['DisableTests', 'UseConfigure']
|
Features: ['DisableTests', 'UseConfigure']
|
||||||
Environment variables: [
|
Environment variables: [
|
||||||
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
|
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ Version: 2
|
|||||||
Configurations:
|
Configurations:
|
||||||
-
|
-
|
||||||
Id: 'ubuntu-24.04-x64-run-cmake-tests'
|
Id: 'ubuntu-24.04-x64-run-cmake-tests'
|
||||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
|
||||||
Compiler: 'GCC'
|
Compiler: 'GCC'
|
||||||
Features: ['Sccache', 'NoSubmoduleDependencies', 'TopLevelRunCMakeTests', 'DisableTests', 'VMSize16']
|
Features: ['Sccache', 'NoSubmoduleDependencies', 'TopLevelRunCMakeTests', 'DisableTests', 'VMSize16']
|
||||||
Configure arguments: ''
|
Configure arguments: ''
|
||||||
|
|||||||
@@ -13,6 +13,10 @@ Configurations:
|
|||||||
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
||||||
Compiler: 'GCC'
|
Compiler: 'GCC'
|
||||||
Features: ['DisableTests']
|
Features: ['DisableTests']
|
||||||
|
-
|
||||||
|
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
|
||||||
|
Compiler: 'GCC'
|
||||||
|
Features: ['DisableTests']
|
||||||
-
|
-
|
||||||
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
|
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
|
||||||
Compiler: 'GCC'
|
Compiler: 'GCC'
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ Configurations:
|
|||||||
Environment variables: []
|
Environment variables: []
|
||||||
Environment script: ['%ProgramFiles%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'amd64']
|
Environment script: ['%ProgramFiles%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'amd64']
|
||||||
-
|
-
|
||||||
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
|
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
||||||
Compiler: 'GCC'
|
Compiler: 'GCC'
|
||||||
Features: ['Sccache', 'DebugAndRelease']
|
Features: ['Sccache', 'DebugAndRelease']
|
||||||
Configure arguments: ''
|
Configure arguments: ''
|
||||||
@@ -21,7 +21,7 @@ Configurations:
|
|||||||
Configure arguments: ''
|
Configure arguments: ''
|
||||||
Environment variables: []
|
Environment variables: []
|
||||||
-
|
-
|
||||||
Template: 'qtci-macos-14-arm-106'
|
Template: 'qtci-macos-15-arm-104'
|
||||||
Compiler: 'Clang'
|
Compiler: 'Clang'
|
||||||
Features: ['Sccache', 'DebugAndRelease']
|
Features: ['Sccache', 'DebugAndRelease']
|
||||||
Configure arguments: ''
|
Configure arguments: ''
|
||||||
@@ -43,17 +43,30 @@ Configurations:
|
|||||||
Environment variables: []
|
Environment variables: []
|
||||||
Environment script: ['%ProgramFiles%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'amd64']
|
Environment script: ['%ProgramFiles%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'amd64']
|
||||||
-
|
-
|
||||||
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
|
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
||||||
Compiler: 'GCC'
|
Compiler: 'GCC'
|
||||||
Features: ['Sccache', 'DebugAndRelease', 'OldestQt']
|
Features: ['Sccache', 'DebugAndRelease', 'OldestQt']
|
||||||
Configure arguments: ''
|
Configure arguments: ''
|
||||||
Environment variables: []
|
Environment variables: []
|
||||||
-
|
-
|
||||||
Template: 'qtci-macos-14-arm-106'
|
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
|
||||||
|
Compiler: 'GCC'
|
||||||
|
Features: ['Sccache', 'DebugAndRelease', 'OldestQt', 'QtC18AndEarlier']
|
||||||
|
Configure arguments: ''
|
||||||
|
Environment variables: []
|
||||||
|
-
|
||||||
|
Template: 'qtci-macos-15-arm-104'
|
||||||
Compiler: 'Clang'
|
Compiler: 'Clang'
|
||||||
Features: ['Sccache', 'DebugAndRelease', 'OldestQt']
|
Features: ['Sccache', 'DebugAndRelease', 'OldestQt']
|
||||||
Configure arguments: ''
|
Configure arguments: ''
|
||||||
Environment variables: []
|
Environment variables: []
|
||||||
|
# Tests GCC 11
|
||||||
|
-
|
||||||
|
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
|
||||||
|
Compiler: 'GCC'
|
||||||
|
Features: ['Sccache', 'DebugAndRelease', 'OldestQt']
|
||||||
|
Configure arguments: ''
|
||||||
|
Environment variables: []
|
||||||
# license check
|
# license check
|
||||||
-
|
-
|
||||||
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
|
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
|
||||||
|
|||||||
@@ -10,7 +10,8 @@ Include: [
|
|||||||
cmake_platforms_qemu_vxworks_buildtest_static.yaml,
|
cmake_platforms_qemu_vxworks_buildtest_static.yaml,
|
||||||
cmake_platforms_qemu_vxworks_tests_static.yaml,
|
cmake_platforms_qemu_vxworks_tests_static.yaml,
|
||||||
qtlite.yaml,
|
qtlite.yaml,
|
||||||
qtbase-new-compiler-testing.yaml
|
qtbase-new-compiler-testing.yaml,
|
||||||
|
quick-bridges.yaml
|
||||||
]
|
]
|
||||||
Configurations: []
|
Configurations: []
|
||||||
Overrides:
|
Overrides:
|
||||||
|
|||||||
@@ -7,7 +7,8 @@ Include: [
|
|||||||
cmake_platforms_static_tests.yaml,
|
cmake_platforms_static_tests.yaml,
|
||||||
cmake_platforms_qemu_vxworks_buildtest_static.yaml,
|
cmake_platforms_qemu_vxworks_buildtest_static.yaml,
|
||||||
cmake_platforms_qemu_vxworks_tests_static.yaml,
|
cmake_platforms_qemu_vxworks_tests_static.yaml,
|
||||||
qtlite.yaml
|
qtlite.yaml,
|
||||||
|
quick-bridges.yaml
|
||||||
]
|
]
|
||||||
Configurations: []
|
Configurations: []
|
||||||
Overrides:
|
Overrides:
|
||||||
|
|||||||
@@ -6,6 +6,11 @@ Configurations:
|
|||||||
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
||||||
Compiler: 'GCC'
|
Compiler: 'GCC'
|
||||||
Features: ['TestOnly']
|
Features: ['TestOnly']
|
||||||
|
-
|
||||||
|
Id: 'qtgp-on-linux-rhel_9_6'
|
||||||
|
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
|
||||||
|
Compiler: 'GCC'
|
||||||
|
Features: ['TestOnly', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
|
||||||
-
|
-
|
||||||
Id: 'qtgp-on-macos'
|
Id: 'qtgp-on-macos'
|
||||||
Template: 'qtci-macos-14-arm-106'
|
Template: 'qtci-macos-14-arm-106'
|
||||||
|
|||||||
@@ -4,7 +4,8 @@ Include: [
|
|||||||
address_sanitizer_platforms.yaml,
|
address_sanitizer_platforms.yaml,
|
||||||
integrity.yaml,
|
integrity.yaml,
|
||||||
cmake_platforms_qemu_vxworks_buildtest_static.yaml,
|
cmake_platforms_qemu_vxworks_buildtest_static.yaml,
|
||||||
cmake_platforms_qemu_vxworks_tests_static.yaml
|
cmake_platforms_qemu_vxworks_tests_static.yaml,
|
||||||
|
quick-bridges.yaml
|
||||||
]
|
]
|
||||||
Configurations: []
|
Configurations: []
|
||||||
Overrides:
|
Overrides:
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ Include: [
|
|||||||
address_sanitizer_platforms.yaml,
|
address_sanitizer_platforms.yaml,
|
||||||
integrity.yaml,
|
integrity.yaml,
|
||||||
cmake_platforms_qemu_vxworks_buildtest_static.yaml,
|
cmake_platforms_qemu_vxworks_buildtest_static.yaml,
|
||||||
cmake_platforms_qemu_vxworks_tests_static.yaml
|
cmake_platforms_qemu_vxworks_tests_static.yaml,
|
||||||
|
quick-bridges.yaml
|
||||||
]
|
]
|
||||||
Configurations: []
|
Configurations: []
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ Version: 2
|
|||||||
Configurations:
|
Configurations:
|
||||||
-
|
-
|
||||||
Id: 'ubuntu-24.04-x86-static-qtlite'
|
Id: 'ubuntu-24.04-x86-static-qtlite'
|
||||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
|
||||||
Compiler: 'GCC'
|
Compiler: 'GCC'
|
||||||
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests', 'MinimalStaticTests']
|
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests', 'MinimalStaticTests']
|
||||||
Configure arguments: >
|
Configure arguments: >
|
||||||
@@ -224,7 +224,7 @@ Configurations:
|
|||||||
]
|
]
|
||||||
-
|
-
|
||||||
Id: 'ubuntu-24.04-x86-static-qtlite-tests'
|
Id: 'ubuntu-24.04-x86-static-qtlite-tests'
|
||||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
|
||||||
Compiler: 'GCC'
|
Compiler: 'GCC'
|
||||||
Features: ['Sccache', 'TestOnly','InsignificantTests']
|
Features: ['Sccache', 'TestOnly','InsignificantTests']
|
||||||
Platform dependency: 'ubuntu-24.04-x86-static-qtlite'
|
Platform dependency: 'ubuntu-24.04-x86-static-qtlite'
|
||||||
|
|||||||
@@ -12,11 +12,11 @@ Include: [
|
|||||||
"sles-15_sp6-static",
|
"sles-15_sp6-static",
|
||||||
"windows-10_22h2-msvc2022",
|
"windows-10_22h2-msvc2022",
|
||||||
"rhel-8.10",
|
"rhel-8.10",
|
||||||
"windows-10_22h2-mingw13",
|
"windows-11_24h2-mingw13",
|
||||||
"windows-11_24H2-mingw13-developer-build",
|
"windows-11_24H2-mingw13-developer-build",
|
||||||
"windows-11_24H2-llvm",
|
"windows-11_24H2-llvm",
|
||||||
"windows-11_24H2-msvc2022",
|
"windows-11_24H2-msvc2022",
|
||||||
"windows-11_22h2-arm64-msvc2022"
|
"windows-11_23h2-arm64-msvc2022"
|
||||||
],
|
],
|
||||||
cmake_platforms_qemu_qnx710.yaml: [
|
cmake_platforms_qemu_qnx710.yaml: [
|
||||||
"qnx-710-x86_64-developer-build-on-linux",
|
"qnx-710-x86_64-developer-build-on-linux",
|
||||||
|
|||||||
@@ -13,11 +13,11 @@ Include: [
|
|||||||
"sles-15_sp6-static",
|
"sles-15_sp6-static",
|
||||||
"windows-10_22h2-msvc2022",
|
"windows-10_22h2-msvc2022",
|
||||||
"rhel-8.10",
|
"rhel-8.10",
|
||||||
"windows-10_22h2-mingw13",
|
"windows-11_24h2-mingw13",
|
||||||
"windows-11_24H2-mingw13-developer-build",
|
"windows-11_24H2-mingw13-developer-build",
|
||||||
"windows-11_24H2-llvm",
|
"windows-11_24H2-llvm",
|
||||||
"windows-11_24H2-msvc2022",
|
"windows-11_24H2-msvc2022",
|
||||||
"windows-11_22h2-arm64-msvc2022"
|
"windows-11_23h2-arm64-msvc2022"
|
||||||
],
|
],
|
||||||
cmake_platforms_qemu_qnx710.yaml: [
|
cmake_platforms_qemu_qnx710.yaml: [
|
||||||
"qnx-710-x86_64-developer-build-on-linux",
|
"qnx-710-x86_64-developer-build-on-linux",
|
||||||
@@ -61,17 +61,6 @@ Configurations:
|
|||||||
]
|
]
|
||||||
-
|
-
|
||||||
Id: 'Windows-MSVC2022-arm64_Static'
|
Id: 'Windows-MSVC2022-arm64_Static'
|
||||||
Template: 'qtci-windows-11_22H2-aarch64-54'
|
|
||||||
Compiler: 'MSVC2022'
|
|
||||||
Features: ['Packaging', 'UseConfigure', 'MinimalStaticTests']
|
|
||||||
Configure arguments: '-release -headersclean -nomake examples -qt-zlib -static -no-icu -no-sql-psql -no-opengl'
|
|
||||||
Environment variables: [
|
|
||||||
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_arm64}}\..',
|
|
||||||
'NON_QTBASE_CMAKE_ARGS= -DFEATURE_clangcpp=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE',
|
|
||||||
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
|
|
||||||
]
|
|
||||||
-
|
|
||||||
Id: 'Windows-MSVC2022-arm64_Static-23H2'
|
|
||||||
Template: 'qtci-windows-11_23H2-aarch64-53'
|
Template: 'qtci-windows-11_23H2-aarch64-53'
|
||||||
Compiler: 'MSVC2022'
|
Compiler: 'MSVC2022'
|
||||||
Features: ['Packaging', 'UseConfigure', 'MinimalStaticTests']
|
Features: ['Packaging', 'UseConfigure', 'MinimalStaticTests']
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ Include: [
|
|||||||
address_sanitizer_platforms.yaml,
|
address_sanitizer_platforms.yaml,
|
||||||
integrity.yaml,
|
integrity.yaml,
|
||||||
cmake_platforms_qemu_vxworks_buildtest_static.yaml,
|
cmake_platforms_qemu_vxworks_buildtest_static.yaml,
|
||||||
cmake_platforms_qemu_vxworks_tests_static.yaml
|
cmake_platforms_qemu_vxworks_tests_static.yaml,
|
||||||
|
quick-bridges.yaml
|
||||||
]
|
]
|
||||||
Configurations: []
|
Configurations: []
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ Include: [
|
|||||||
address_sanitizer_platforms.yaml,
|
address_sanitizer_platforms.yaml,
|
||||||
integrity.yaml,
|
integrity.yaml,
|
||||||
cmake_platforms_qemu_vxworks_buildtest_static.yaml,
|
cmake_platforms_qemu_vxworks_buildtest_static.yaml,
|
||||||
cmake_platforms_qemu_vxworks_tests_static.yaml
|
cmake_platforms_qemu_vxworks_tests_static.yaml,
|
||||||
|
quick-bridges.yaml
|
||||||
]
|
]
|
||||||
Configurations: []
|
Configurations: []
|
||||||
|
|||||||
70
coin/platform_configs/quick-bridges.yaml
Normal file
70
coin/platform_configs/quick-bridges.yaml
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
Version: 2
|
||||||
|
Configurations:
|
||||||
|
-
|
||||||
|
Id: 'macos-quick-bridges'
|
||||||
|
Template: 'qtci-macos-15-arm-104'
|
||||||
|
Compiler: 'Clang'
|
||||||
|
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'Insignificant']
|
||||||
|
Configure arguments: >
|
||||||
|
-nomake examples
|
||||||
|
-nomake tests
|
||||||
|
-release
|
||||||
|
-force-debug-info
|
||||||
|
-separate-debug-info
|
||||||
|
-optimize-size
|
||||||
|
-shared
|
||||||
|
-disable-deprecated-up-to 0x070000
|
||||||
|
-no-feature-widgets
|
||||||
|
-no-feature-sql
|
||||||
|
-no-feature-printsupport
|
||||||
|
-no-feature-dbus
|
||||||
|
-no-feature-vnc
|
||||||
|
-no-feature-picture
|
||||||
|
-no-feature-pdf
|
||||||
|
-no-feature-network
|
||||||
|
Environment variables: []
|
||||||
|
-
|
||||||
|
Id: 'linux-quick-bridges'
|
||||||
|
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
|
||||||
|
Compiler: 'GCC'
|
||||||
|
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'Insignificant']
|
||||||
|
Configure arguments: >
|
||||||
|
-nomake examples
|
||||||
|
-nomake tests
|
||||||
|
-release
|
||||||
|
-force-debug-info
|
||||||
|
-separate-debug-info
|
||||||
|
-optimize-size
|
||||||
|
-shared
|
||||||
|
-disable-deprecated-up-to 0x070000
|
||||||
|
-no-feature-widgets
|
||||||
|
-no-feature-sql
|
||||||
|
-no-feature-printsupport
|
||||||
|
-no-feature-dbus
|
||||||
|
-no-feature-vnc
|
||||||
|
-no-feature-picture
|
||||||
|
-no-feature-pdf
|
||||||
|
Environment variables: []
|
||||||
|
-
|
||||||
|
Id: 'windows-quick-bridges'
|
||||||
|
Template: 'qtci-windows-11_24H2-x86_64-71'
|
||||||
|
Compiler: 'MSVC2022'
|
||||||
|
Features: ['Packaging', 'Sccache', "DebugAndRelease", 'UseConfigure', 'DisableTests', 'Insignificant']
|
||||||
|
Configure arguments: >
|
||||||
|
-nomake examples
|
||||||
|
-nomake tests
|
||||||
|
-debug-and-release
|
||||||
|
-force-debug-info
|
||||||
|
-optimize-size
|
||||||
|
-shared
|
||||||
|
-disable-deprecated-up-to 0x070000
|
||||||
|
-no-feature-widgets
|
||||||
|
-no-feature-sql
|
||||||
|
-no-feature-printsupport
|
||||||
|
-no-feature-dbus
|
||||||
|
-no-feature-vnc
|
||||||
|
-no-feature-picture
|
||||||
|
-no-feature-pdf
|
||||||
|
Environment variables: [
|
||||||
|
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON',
|
||||||
|
]
|
||||||
@@ -2,8 +2,9 @@ Version: 2
|
|||||||
Include: [
|
Include: [
|
||||||
cmake_platforms.yaml: [
|
cmake_platforms.yaml: [
|
||||||
"documentation-warnings",
|
"documentation-warnings",
|
||||||
"rhel-8.10",
|
"rhel-9.4",
|
||||||
'windows-10_22h2-mingw13',
|
"rhel-9.6",
|
||||||
|
'windows-11_24h2-mingw13',
|
||||||
],
|
],
|
||||||
macos.yaml: [
|
macos.yaml: [
|
||||||
'macos-universal-on-arm64'
|
'macos-universal-on-arm64'
|
||||||
@@ -12,19 +13,19 @@ Include: [
|
|||||||
'android-arm64-on-macos',
|
'android-arm64-on-macos',
|
||||||
'android-armv7-on-windows',
|
'android-armv7-on-windows',
|
||||||
'android-9-x86-on-linux',
|
'android-9-x86-on-linux',
|
||||||
'android-15-x86_64-on-linux'
|
'android-16-x86_64-on-linux'
|
||||||
],
|
],
|
||||||
offline_documentation.yaml
|
offline_documentation.yaml
|
||||||
]
|
]
|
||||||
Configurations:
|
Configurations:
|
||||||
-
|
-
|
||||||
Id: "automotive-android-14-x86_64-on-linux"
|
Id: "automotive-android-14-x86_64-on-linux"
|
||||||
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
|
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
||||||
Target os: 'Android_ANY'
|
Target os: 'Android_ANY'
|
||||||
Target arch: 'x86_64'
|
Target arch: 'x86_64'
|
||||||
Compiler: 'GCC'
|
Compiler: 'GCC'
|
||||||
Target compiler: 'Clang'
|
Target compiler: 'Clang'
|
||||||
Platform dependency: 'rhel-8.10'
|
Platform dependency: 'rhel-9.4'
|
||||||
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure']
|
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure']
|
||||||
Environment variables: [
|
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_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',
|
||||||
@@ -35,12 +36,12 @@ Configurations:
|
|||||||
]
|
]
|
||||||
-
|
-
|
||||||
Id: "automotive-android-10-x86_64-on-linux"
|
Id: "automotive-android-10-x86_64-on-linux"
|
||||||
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
|
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
|
||||||
Target os: 'Android_ANY'
|
Target os: 'Android_ANY'
|
||||||
Target arch: 'x86_64'
|
Target arch: 'x86_64'
|
||||||
Compiler: 'GCC'
|
Compiler: 'GCC'
|
||||||
Target compiler: 'Clang'
|
Target compiler: 'Clang'
|
||||||
Platform dependency: 'rhel-8.10'
|
Platform dependency: 'rhel-9.4'
|
||||||
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure']
|
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure']
|
||||||
Environment variables: [
|
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_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',
|
||||||
@@ -49,3 +50,35 @@ Configurations:
|
|||||||
'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
|
'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
|
||||||
'ANDROID_EMULATOR=automotive_emulator_x86_64_api_29'
|
'ANDROID_EMULATOR=automotive_emulator_x86_64_api_29'
|
||||||
]
|
]
|
||||||
|
-
|
||||||
|
Id: "automotive-android-14-x86_64-on-linux-rhel_9_6"
|
||||||
|
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
|
||||||
|
Target os: 'Android_ANY'
|
||||||
|
Target arch: 'x86_64'
|
||||||
|
Compiler: 'GCC'
|
||||||
|
Target compiler: 'Clang'
|
||||||
|
Platform dependency: 'rhel-9.6'
|
||||||
|
Features: ['Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
|
||||||
|
Environment variables: [
|
||||||
|
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
|
||||||
|
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}}',
|
||||||
|
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID}}',
|
||||||
|
'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
|
||||||
|
'ANDROID_EMULATOR=automotive_emulator_x86_64_api_34'
|
||||||
|
]
|
||||||
|
-
|
||||||
|
Id: "automotive-android-10-x86_64-on-linux-rhel_9_6"
|
||||||
|
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
|
||||||
|
Target os: 'Android_ANY'
|
||||||
|
Target arch: 'x86_64'
|
||||||
|
Compiler: 'GCC'
|
||||||
|
Target compiler: 'Clang'
|
||||||
|
Platform dependency: 'rhel-9.6'
|
||||||
|
Features: ['Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
|
||||||
|
Environment variables: [
|
||||||
|
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
|
||||||
|
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}}',
|
||||||
|
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID}}',
|
||||||
|
'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
|
||||||
|
'ANDROID_EMULATOR=automotive_emulator_x86_64_api_29'
|
||||||
|
]
|
||||||
|
|||||||
64
coin/platform_configs/tqtc-qtbridges.yaml
Normal file
64
coin/platform_configs/tqtc-qtbridges.yaml
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
Version: 2
|
||||||
|
Include: [
|
||||||
|
quick-bridges.yaml: [
|
||||||
|
"macos-quick-bridges",
|
||||||
|
"linux-quick-bridges",
|
||||||
|
"windows-quick-bridges"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
Configurations:
|
||||||
|
-
|
||||||
|
Id: 'windows-quick-bridges-dotnet'
|
||||||
|
Template: 'qtci-windows-11_24H2-x86_64-71'
|
||||||
|
Compiler: 'MSVC2022'
|
||||||
|
Platform dependency: 'windows-quick-bridges'
|
||||||
|
Features: ['Packaging', 'Sccache', "DebugAndRelease", 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesDotnet']
|
||||||
|
|
||||||
|
-
|
||||||
|
Id: 'windows-quick-bridges-rust'
|
||||||
|
Template: 'qtci-windows-11_24H2-x86_64-71'
|
||||||
|
Compiler: 'MSVC2022'
|
||||||
|
Platform dependency: 'windows-quick-bridges'
|
||||||
|
Features: ['Packaging', 'Sccache', "DebugAndRelease", 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesRust']
|
||||||
|
|
||||||
|
-
|
||||||
|
Id: 'linux-quick-bridges-python'
|
||||||
|
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
||||||
|
Compiler: 'GCC'
|
||||||
|
Platform dependency: 'linux-quick-bridges'
|
||||||
|
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesPython']
|
||||||
|
|
||||||
|
-
|
||||||
|
Id: 'linux-quick-bridges-java'
|
||||||
|
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
||||||
|
Compiler: 'GCC'
|
||||||
|
Platform dependency: 'linux-quick-bridges'
|
||||||
|
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'RunAsPlatformDependency', 'QtBridgesJava']
|
||||||
|
|
||||||
|
-
|
||||||
|
Id: 'linux-quick-bridges-rust'
|
||||||
|
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
||||||
|
Compiler: 'GCC'
|
||||||
|
Platform dependency: 'linux-quick-bridges'
|
||||||
|
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'RunAsPlatformDependency', 'QtBridgesRust']
|
||||||
|
|
||||||
|
-
|
||||||
|
Id: 'macos-quick-bridges-java'
|
||||||
|
Template: 'qtci-macos-15-arm-104'
|
||||||
|
Compiler: 'Clang'
|
||||||
|
Platform dependency: 'macos-quick-bridges'
|
||||||
|
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesJava']
|
||||||
|
|
||||||
|
-
|
||||||
|
Id: 'macos-quick-bridges-python'
|
||||||
|
Template: 'qtci-macos-15-arm-104'
|
||||||
|
Compiler: 'Clang'
|
||||||
|
Platform dependency: 'macos-quick-bridges'
|
||||||
|
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesPython']
|
||||||
|
|
||||||
|
-
|
||||||
|
Id: 'macos-quick-bridges-swift'
|
||||||
|
Template: 'qtci-macos-15-arm-104'
|
||||||
|
Compiler: 'Clang'
|
||||||
|
Platform dependency: 'macos-quick-bridges'
|
||||||
|
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesSwift']
|
||||||
0
coin/pre-provisioning/qtci-linux-RHEL-9.2-x86_64/01-disable-automounting.sh
Normal file → Executable file
0
coin/pre-provisioning/qtci-linux-RHEL-9.2-x86_64/01-disable-automounting.sh
Normal file → Executable file
0
coin/pre-provisioning/qtci-linux-RHEL-9.4-x86_64/01-disable-automounting.sh
Normal file → Executable file
0
coin/pre-provisioning/qtci-linux-RHEL-9.4-x86_64/01-disable-automounting.sh
Normal file → Executable file
13
coin/pre-provisioning/qtci-linux-RHEL-9.6-x86_64/01-disable-automounting.sh
Executable file
13
coin/pre-provisioning/qtci-linux-RHEL-9.6-x86_64/01-disable-automounting.sh
Executable file
@@ -0,0 +1,13 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# Copyright (C) 2023 The Qt Company Ltd.
|
||||||
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
sudo tee -a /etc/dconf/db/local.d/00-media-automount <<"EOF"
|
||||||
|
[org/gnome/desktop/media-handling]
|
||||||
|
automount=false
|
||||||
|
automount-open=false
|
||||||
|
EOF
|
||||||
|
|
||||||
|
sudo dconf update
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
### RHEL 9.6 ###
|
||||||
|
|
||||||
|
Language: English (United States)
|
||||||
|
|
||||||
|
# Installation Summary #
|
||||||
|
|
||||||
|
Keyboard: English (US), Norwegian (Windows), Finnish (Windows)
|
||||||
|
Language Support: English (United States)
|
||||||
|
Time & Date: Etc/Coordinated Universal Time
|
||||||
|
|
||||||
|
Connect to Red Hat: Registered
|
||||||
|
Installation Source: Local media
|
||||||
|
Software Selection: Server with GUI
|
||||||
|
|
||||||
|
Installation Destination: Automatic partitioning selected
|
||||||
|
KDUMP enabled: Memory Reservation: automatic
|
||||||
|
Network & Host Name: Connected
|
||||||
|
Security Profile: No profile selected
|
||||||
|
|
||||||
|
Root Password: set
|
||||||
|
User Creation: set. Make this user administrator. Require password.
|
||||||
|
|
||||||
|
# Configure Settings
|
||||||
|
Notifications:
|
||||||
|
* Lock Screen Notifications: OFF
|
||||||
|
* Applications: Set notification off
|
||||||
|
* Do Not Disturb: on
|
||||||
|
Applications:
|
||||||
|
* Disable notifications from all applications
|
||||||
|
Privacy:
|
||||||
|
* Blank Screen Delay: Never
|
||||||
|
* Screen Lock: OFF
|
||||||
|
Power:
|
||||||
|
* Blank screen: Never
|
||||||
|
Displays:
|
||||||
|
* Resolution: 1280 x 800
|
||||||
|
Users:
|
||||||
|
* Automatic login on
|
||||||
|
# Add user to sudoers
|
||||||
|
Add 'qt ALL=NOPASSWD: ALL' to /etc/sudoers.d/qt
|
||||||
|
Add 'GRUB_GFXMODE=1280x800' to /etc/default/grub
|
||||||
|
sudo grub2-mkconfig -o /etc/grub2.cfg
|
||||||
|
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
|
||||||
|
# Add support for virtio driver
|
||||||
|
su
|
||||||
|
echo "add_drivers+=\" virtio-blk \"" >> /etc/dracut.conf.d/virtio.conf
|
||||||
|
dracut -f
|
||||||
|
|
||||||
|
yum -y install qemu-guest-agent
|
||||||
|
|
||||||
|
# Do these from Opennebula UI!
|
||||||
|
|
||||||
|
# Enable network connection from right upper corner
|
||||||
|
This is done when the VM is launched as persistent in OpenNebula.
|
||||||
|
# Fetch and run coin-setup
|
||||||
|
Download http://coin/coin/binary/linux_amd64/coin-setup
|
||||||
|
# run as qt user
|
||||||
|
run './coin-setup'
|
||||||
|
# Switch to use GNOME Classic user interface
|
||||||
|
# GNOME Classic was selected because there's an issue with Starndard (wayland display server). Autotest start failing because terminal session remains in Activities Overview.
|
||||||
|
# https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3854
|
||||||
|
First execute script ./01-disable-automounting.sh (dconf update crash in GNOME Classic)
|
||||||
|
logout -> Select user (without it the drop down menu won't appear) -> switch to 'GNOME Classic' from drop down menu in login screen
|
||||||
|
Reboot
|
||||||
@@ -53,6 +53,17 @@ run 'sudo ufw disable'
|
|||||||
|
|
||||||
run 'sudo apt install qemu-guest-agent'
|
run 'sudo apt install qemu-guest-agent'
|
||||||
|
|
||||||
|
# Install no-overview gnome extension to prevent desktop overview at boot (QTBUG-132070)
|
||||||
|
# - https://extensions.gnome.org/extension/4099/no-overview/
|
||||||
|
# - Select GNOME Shell version 46 to download
|
||||||
|
# - Unpack extension to (mkdir): /usr/share/gnome-shell/extensions/no-overview@fthx
|
||||||
|
sudo chown -R root /usr/share/gnome-shell/extensions/no-overview@fthx
|
||||||
|
sudo chmod 755 -R /usr/share/gnome-shell/extensions/no-overview@fthx
|
||||||
|
sudo reboot
|
||||||
|
gnome-extensions list
|
||||||
|
gnome-extensions enable no-overview@fthx
|
||||||
|
gnome-extensions info no-overview@fthx # Check for "Active"
|
||||||
|
|
||||||
# Fetch and run coin-setup (in Opennebula)
|
# Fetch and run coin-setup (in Opennebula)
|
||||||
Download http://coin/coin/binary/linux_amd64/coin-setup
|
Download http://coin/coin/binary/linux_amd64/coin-setup
|
||||||
run 'chmod +x ./coin-setup' to make it executable
|
run 'chmod +x ./coin-setup' to make it executable
|
||||||
|
|||||||
@@ -4,12 +4,12 @@ plugins {
|
|||||||
|
|
||||||
android {
|
android {
|
||||||
namespace 'com.example.gradle_project'
|
namespace 'com.example.gradle_project'
|
||||||
compileSdk 35
|
compileSdk 36
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "com.example.gradle_project"
|
applicationId "com.example.gradle_project"
|
||||||
minSdk 28
|
minSdk 28
|
||||||
targetSdk 35
|
targetSdk 36
|
||||||
versionCode 1
|
versionCode 1
|
||||||
versionName "1.0"
|
versionName "1.0"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
android:allowBackup="true"
|
android:allowBackup="true"
|
||||||
android:label="gradle_project"
|
android:label="gradle_project"
|
||||||
android:supportsRtl="true"
|
android:supportsRtl="true"
|
||||||
tools:targetApi="34">
|
tools:targetApi="35">
|
||||||
<activity
|
<activity
|
||||||
android:name=".MainActivity"
|
android:name=".MainActivity"
|
||||||
android:exported="true">
|
android:exported="true">
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
[versions]
|
[versions]
|
||||||
agp = "8.8.0"
|
agp = "8.10.1"
|
||||||
core = "1.13.1"
|
core = "1.16.0"
|
||||||
appcompat = "1.6.1"
|
appcompat = "1.7.1"
|
||||||
material = "1.11.0"
|
material = "1.12.0"
|
||||||
constraintlayout = "2.1.4"
|
constraintlayout = "2.2.1"
|
||||||
|
|
||||||
[libraries]
|
[libraries]
|
||||||
core = { group = 'androidx.core', name = "core", version.ref = "core" }
|
core = { group = 'androidx.core', name = "core", version.ref = "core" }
|
||||||
|
|||||||
@@ -7,15 +7,65 @@
|
|||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
function print_help {
|
||||||
|
echo "Usage: [ANDROID_EMULATOR=<name>] $0 [--avd <name>] [--window] [--help]"
|
||||||
|
echo ""
|
||||||
|
echo "This script launches the Android emulator on Qt CI."
|
||||||
|
echo ""
|
||||||
|
echo "Options:"
|
||||||
|
echo " --avd <name> Set the AVD name to launch (overrides ANDROID_EMULATOR env var)"
|
||||||
|
echo " --window Show the emulator window (default is headless via -no-window)"
|
||||||
|
echo " --help Show this help message"
|
||||||
|
echo ""
|
||||||
|
}
|
||||||
|
|
||||||
|
WINDOW_ARG="-no-window"
|
||||||
|
AVD_NAME_ARG=""
|
||||||
|
while [ $# -gt 0 ]; do
|
||||||
|
arg="$1"
|
||||||
|
case "$arg" in
|
||||||
|
--help)
|
||||||
|
print_help
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
--window)
|
||||||
|
WINDOW_ARG=""
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
--avd)
|
||||||
|
if [ -n "$2" ]; then
|
||||||
|
AVD_NAME_ARG="$2"
|
||||||
|
shift 2
|
||||||
|
else
|
||||||
|
echo "Error: --avd requires an argument"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
EMULATOR_MAX_RETRIES=3
|
EMULATOR_MAX_RETRIES=3
|
||||||
ADB_MAX_TIMEOUT=180
|
ADB_MAX_TIMEOUT=180
|
||||||
EMULATOR_EXEC="$ANDROID_SDK_ROOT/emulator/emulator"
|
EMULATOR_EXEC="$ANDROID_SDK_ROOT/emulator/emulator"
|
||||||
ADB_EXEC="$ANDROID_SDK_ROOT/platform-tools/adb"
|
ADB_EXEC="$ANDROID_SDK_ROOT/platform-tools/adb"
|
||||||
|
|
||||||
|
if [ -z "$COIN_CTEST_RESULTSDIR" ]; then
|
||||||
|
COIN_CTEST_RESULTSDIR="$(pwd)"
|
||||||
|
fi
|
||||||
|
|
||||||
LOGCAT_PATH="$COIN_CTEST_RESULTSDIR/emulator_logcat_%iter.txt"
|
LOGCAT_PATH="$COIN_CTEST_RESULTSDIR/emulator_logcat_%iter.txt"
|
||||||
EMULATOR_RUN_LOG_PATH="$COIN_CTEST_RESULTSDIR/emulator_run_log_%iter.txt"
|
EMULATOR_RUN_LOG_PATH="$COIN_CTEST_RESULTSDIR/emulator_run_log_%iter.txt"
|
||||||
|
|
||||||
if [ -z "${ANDROID_EMULATOR}" ]; then
|
if [ -n "$AVD_NAME_ARG" ]; then
|
||||||
echo "No AVD name provided via ANDROID_EMULATOR env variable. Aborting!"
|
AVD_NAME="$AVD_NAME_ARG"
|
||||||
|
else
|
||||||
|
AVD_NAME="$ANDROID_EMULATOR"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${AVD_NAME}" ]; then
|
||||||
|
echo "No AVD name provided via --avd option or ANDROID_EMULATOR env variable. Aborting!"
|
||||||
|
echo "Available AVDs names:"
|
||||||
|
$EMULATOR_EXEC -list-avds | sed 's/^/ /'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -25,13 +75,12 @@ function check_for_android_device
|
|||||||
}
|
}
|
||||||
|
|
||||||
# WARNING: On the very first boot of the emulator it happens that the device
|
# WARNING: On the very first boot of the emulator it happens that the device
|
||||||
# "finishes" booting and getprop shows bootanim=stopped and
|
# "finishes" booting and getprop shows boot_completed=1. But sometimes not all
|
||||||
# boot_completed=1. But sometimes not all packages have been installed (`pm
|
# packages have been installed (`pm list packages` shows only 16 packages
|
||||||
# list packages` shows only 16 packages installed), and after around half a
|
# installed), and after around half a minute the boot animation starts spinning
|
||||||
# minute the boot animation starts spinning (bootanim=running) again despite
|
# again despite boot_completed=1 all the time. After some minutes the boot
|
||||||
# boot_completed=1 all the time. After some minutes the boot animation stops
|
# animation stops again and the list of packages contains 80 packages.
|
||||||
# again and the list of packages contains 80 packages. Only then the device is
|
# Only then the device is fully booted, and only then is dev.bootcomplete=1.
|
||||||
# fully booted, and only then is dev.bootcomplete=1.
|
|
||||||
#
|
#
|
||||||
# To reproduce the emulator booting as the first time, you have to delete the
|
# To reproduce the emulator booting as the first time, you have to delete the
|
||||||
# cached images found inside $HOME/.android/avd/{avd_name}.avd/ especially the
|
# cached images found inside $HOME/.android/avd/{avd_name}.avd/ especially the
|
||||||
@@ -39,11 +88,10 @@ function check_for_android_device
|
|||||||
function check_if_fully_booted
|
function check_if_fully_booted
|
||||||
{
|
{
|
||||||
# The "getprop" command separates lines with \r\n so we trim them
|
# The "getprop" command separates lines with \r\n so we trim them
|
||||||
bootanim=$( timeout 1 "$ADB_EXEC" shell getprop init.svc.bootanim | tr -d '\r\n')
|
|
||||||
boot_completed=$(timeout 1 "$ADB_EXEC" shell getprop sys.boot_completed | tr -d '\r\n')
|
boot_completed=$(timeout 1 "$ADB_EXEC" shell getprop sys.boot_completed | tr -d '\r\n')
|
||||||
bootcomplete=$( timeout 1 "$ADB_EXEC" shell getprop dev.bootcomplete | tr -d '\r\n')
|
bootcomplete=$( timeout 1 "$ADB_EXEC" shell getprop dev.bootcomplete | tr -d '\r\n')
|
||||||
echo "bootanim=$bootanim boot_completed=$boot_completed bootcomplete=$bootcomplete"
|
echo "boot_completed=$boot_completed bootcomplete=$bootcomplete"
|
||||||
[ "$bootanim" = stopped ] && [ "$boot_completed" = 1 ] && [ "$bootcomplete" = 1 ]
|
[ "$boot_completed" = 1 ] && [ "$bootcomplete" = 1 ]
|
||||||
}
|
}
|
||||||
|
|
||||||
for counter in $(seq ${EMULATOR_MAX_RETRIES})
|
for counter in $(seq ${EMULATOR_MAX_RETRIES})
|
||||||
@@ -61,10 +109,10 @@ do
|
|||||||
LOGCAT_PATH=${LOGCAT_PATH//%iter/${counter}}
|
LOGCAT_PATH=${LOGCAT_PATH//%iter/${counter}}
|
||||||
EMULATOR_RUN_LOG_PATH=${EMULATOR_RUN_LOG_PATH//%iter/${counter}}
|
EMULATOR_RUN_LOG_PATH=${EMULATOR_RUN_LOG_PATH//%iter/${counter}}
|
||||||
|
|
||||||
echo "Starting emulator ${ANDROID_EMULATOR}, try ${counter}/${EMULATOR_MAX_RETRIES}" \
|
echo "Starting emulator ${AVD_NAME}, try ${counter}/${EMULATOR_MAX_RETRIES}" \
|
||||||
| tee "${EMULATOR_RUN_LOG_PATH}"
|
| tee "${EMULATOR_RUN_LOG_PATH}"
|
||||||
$EMULATOR_EXEC -avd "$ANDROID_EMULATOR" \
|
$EMULATOR_EXEC -avd "$AVD_NAME" \
|
||||||
-gpu swiftshader_indirect -no-audio -no-window -no-boot-anim \
|
-gpu swiftshader_indirect -no-audio $WINDOW_ARG -no-boot-anim \
|
||||||
-cores 4 -memory 16000 -partition-size 4096 \
|
-cores 4 -memory 16000 -partition-size 4096 \
|
||||||
-detect-image-hang -restart-when-stalled -no-snapshot-save \
|
-detect-image-hang -restart-when-stalled -no-snapshot-save \
|
||||||
-no-nested-warnings -logcat '*:v' -logcat-output "${LOGCAT_PATH}" \
|
-no-nested-warnings -logcat '*:v' -logcat-output "${LOGCAT_PATH}" \
|
||||||
@@ -72,7 +120,7 @@ do
|
|||||||
emulator_pid=$!
|
emulator_pid=$!
|
||||||
disown $emulator_pid
|
disown $emulator_pid
|
||||||
|
|
||||||
echo "Waiting ${ADB_MAX_TIMEOUT} seconds for emulated device to appear..."
|
echo "Waiting ${ADB_MAX_TIMEOUT} seconds for emulated device to start..."
|
||||||
timeout ${ADB_MAX_TIMEOUT} "$ADB_EXEC" wait-for-device
|
timeout ${ADB_MAX_TIMEOUT} "$ADB_EXEC" wait-for-device
|
||||||
|
|
||||||
# Due to some bug in Coin/Go, we can't have the emulator command stream
|
# Due to some bug in Coin/Go, we can't have the emulator command stream
|
||||||
|
|||||||
@@ -24,8 +24,8 @@ basePath="http://ci-files01-hki.ci.qt.io/input/android"
|
|||||||
|
|
||||||
toolsVersion="2.1"
|
toolsVersion="2.1"
|
||||||
toolsFile="commandlinetools-linux-6609375_latest.zip"
|
toolsFile="commandlinetools-linux-6609375_latest.zip"
|
||||||
sdkBuildToolsVersion="35.0.1"
|
sdkBuildToolsVersion="36.0.0"
|
||||||
sdkApiLevel="android-35"
|
sdkApiLevel="android-36"
|
||||||
toolsSha1="9172381ff070ee2a416723c1989770cf4b0d1076"
|
toolsSha1="9172381ff070ee2a416723c1989770cf4b0d1076"
|
||||||
|
|
||||||
ndkVersionLatest="r27c"
|
ndkVersionLatest="r27c"
|
||||||
@@ -158,7 +158,7 @@ echo "Download and unzip Android 9 System Image"
|
|||||||
minVersionFileName="x86-28_r08.zip"
|
minVersionFileName="x86-28_r08.zip"
|
||||||
minVersionDestination="$sdkTargetFolder/system-images/android-28/google_apis/"
|
minVersionDestination="$sdkTargetFolder/system-images/android-28/google_apis/"
|
||||||
minVersionFilePath="$minVersionDestination/$minVersionFileName"
|
minVersionFilePath="$minVersionDestination/$minVersionFileName"
|
||||||
minVersionCiUrl="$basePath/system-images/google_apis/$minVersionFileName"
|
minVersionCiUrl="$basePath/system_images/google_apis/$minVersionFileName"
|
||||||
minVersionUrl="https://dl.google.com/android/repository/sys-img/google_apis/$minVersionFileName"
|
minVersionUrl="https://dl.google.com/android/repository/sys-img/google_apis/$minVersionFileName"
|
||||||
minVersionSha1="41e3b854d7987a3d8b7500631dae1f1d32d3db4e"
|
minVersionSha1="41e3b854d7987a3d8b7500631dae1f1d32d3db4e"
|
||||||
|
|
||||||
@@ -169,45 +169,27 @@ echo "Unzipping the Android 9 to $minVersionDestination"
|
|||||||
sudo unzip -o -q "$minVersionFilePath" -d "$minVersionDestination"
|
sudo unzip -o -q "$minVersionFilePath" -d "$minVersionDestination"
|
||||||
rm "$minVersionFilePath"
|
rm "$minVersionFilePath"
|
||||||
|
|
||||||
echo "Download and unzip Android 15 System Image"
|
echo "Download and unzip Android 16 System Image"
|
||||||
maxVersionFileName="x86_64-35_r08.zip"
|
maxVersionFileName="x86_64-36_r07.zip"
|
||||||
maxVersionDestination="$sdkTargetFolder/system-images/android-35/google_apis/"
|
maxVersionDestination="$sdkTargetFolder/system-images/android-36/google_apis/"
|
||||||
maxVersionFilePath="$maxVersionDestination/$maxVersionFileName"
|
maxVersionFilePath="$maxVersionDestination/$maxVersionFileName"
|
||||||
maxVersionCiUrl="$basePath/system-images/google_apis/$maxVersionFileName"
|
maxVersionCiUrl="$basePath/system_images/google_apis/$maxVersionFileName"
|
||||||
maxVersionUrl="https://dl.google.com/android/repository/sys-img/google_apis/$maxVersionFileName"
|
maxVersionUrl="https://dl.google.com/android/repository/sys-img/google_apis/$maxVersionFileName"
|
||||||
maxVersionSha1="d79169884cabc6680cb29d32c2112ad46c858c1b"
|
maxVersionSha1="c6bf44bdcd885bb902b4ba752d111a073ad7a817"
|
||||||
|
|
||||||
mkdir -p "$maxVersionDestination"
|
mkdir -p "$maxVersionDestination"
|
||||||
DownloadURL "$maxVersionCiUrl" "$maxVersionUrl" "$maxVersionSha1" "$maxVersionFilePath"
|
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"
|
sudo unzip -o -q "$maxVersionFilePath" -d "$maxVersionDestination"
|
||||||
rm "$maxVersionFilePath"
|
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..."
|
echo "Checking the contents of Android SDK again..."
|
||||||
ls -l "$sdkTargetFolder"
|
ls -l "$sdkTargetFolder"
|
||||||
|
|
||||||
echo "no" | ./avdmanager create avd -n emulator_x86_api_28 -c 2048M -f \
|
echo "no" | ./avdmanager create avd -n emulator_x86_api_28 -c 2048M -f \
|
||||||
-k "system-images;android-28;google_apis;x86"
|
-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 \
|
echo "no" | ./avdmanager create avd -n emulator_x86_64_api_36 -c 2048M -f \
|
||||||
-k "system-images;android-36;google_apis;x86_64"
|
-k "system-images;android-36;google_apis;x86_64"
|
||||||
|
|
||||||
@@ -235,12 +217,16 @@ cp "${scripts_dir_name}/${emulator_script_filename}" "${HOME}"
|
|||||||
ANDROID_EMULATOR_RUNNER="${HOME}/${emulator_script_filename}"
|
ANDROID_EMULATOR_RUNNER="${HOME}/${emulator_script_filename}"
|
||||||
SetEnvVar "ANDROID_EMULATOR_RUNNER" "$ANDROID_EMULATOR_RUNNER"
|
SetEnvVar "ANDROID_EMULATOR_RUNNER" "$ANDROID_EMULATOR_RUNNER"
|
||||||
|
|
||||||
|
SetEnvVar "PATH" "\$PATH:$sdkTargetFolder/emulator"
|
||||||
|
SetEnvVar "PATH" "\$PATH:$sdkTargetFolder/platform-tools"
|
||||||
|
SetEnvVar "PATH" "\$PATH:$sdkTargetFolder/cmdline-tools/latest/bin"
|
||||||
|
|
||||||
# Gradle Caching
|
# Gradle Caching
|
||||||
cp -r "${scripts_dir_name}/android/gradle_project" /tmp/gradle_project
|
cp -r "${scripts_dir_name}/android/gradle_project" /tmp/gradle_project
|
||||||
cd /tmp/gradle_project
|
cd /tmp/gradle_project
|
||||||
# Get Gradle files from qtbase
|
# Get Gradle files from qtbase
|
||||||
qtbaseGradleUrl="https://code.qt.io/cgit/qt/qtbase.git/plain/src/3rdparty/gradle"
|
qtbaseGradleUrl="https://code.qt.io/cgit/qt/qtbase.git/plain/src/3rdparty/gradle"
|
||||||
commit_sha="e5f79573fe2f21cf7bea8f63386f39bb18b351f0"
|
commit_sha="5bc160bc8385f6a2e590ffb964d1d390c1ab4ce6"
|
||||||
curl "$qtbaseGradleUrl/gradle.properties?h=$commit_sha" > gradle.properties
|
curl "$qtbaseGradleUrl/gradle.properties?h=$commit_sha" > gradle.properties
|
||||||
curl "$qtbaseGradleUrl/gradlew?h=$commit_sha" > gradlew
|
curl "$qtbaseGradleUrl/gradlew?h=$commit_sha" > gradlew
|
||||||
curl "$qtbaseGradleUrl/gradlew.bat?h=$commit_sha" > gradlew.bat
|
curl "$qtbaseGradleUrl/gradlew.bat?h=$commit_sha" > gradlew.bat
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
"Project": {
|
"Project": {
|
||||||
"Git": {
|
"Git": {
|
||||||
"_active": true,
|
"_active": true,
|
||||||
|
"author_line": "author-mail",
|
||||||
"sourceserver_gitdir": "/data/axivion/databases/$(env:TESTED_MODULE_COIN).git",
|
"sourceserver_gitdir": "/data/axivion/databases/$(env:TESTED_MODULE_COIN).git",
|
||||||
"sourceserver_remote_url": "ssh://codereview.qt-project.org:29418/qt/$(env:TESTED_MODULE_COIN)"
|
"sourceserver_remote_url": "ssh://codereview.qt-project.org:29418/qt/$(env:TESTED_MODULE_COIN)"
|
||||||
},
|
},
|
||||||
@@ -11,7 +12,12 @@
|
|||||||
},
|
},
|
||||||
"directory": "../work/qt/$(env:TESTED_MODULE_COIN)",
|
"directory": "../work/qt/$(env:TESTED_MODULE_COIN)",
|
||||||
"ir": "$(env:IRNAME)",
|
"ir": "$(env:IRNAME)",
|
||||||
"name": "qt_$(env:PACKAGE)_$(env:MODULE)_dev_$(env:TARGET_OS_COIN)"
|
"name": "qt_$(env:PACKAGE)_$(env:MODULE)_$(env:TESTED_MODULE_BRANCH_COIN)_$(env:TARGET_OS_COIN)"
|
||||||
|
},
|
||||||
|
"VCSIntegration": {
|
||||||
|
"vcs_mapping": {
|
||||||
|
"vcs_account_callback": "dsquery * forestroot -filter \"(&(objectCategory=Person)(mail=%1)) -attr sAMAccountName -l"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Results": {
|
"Results": {
|
||||||
|
|||||||
@@ -1,5 +1,23 @@
|
|||||||
{
|
{
|
||||||
"Analysis": {
|
"Analysis": {
|
||||||
|
"CWE-119": {
|
||||||
|
"_active": true
|
||||||
|
},
|
||||||
|
"CWE-125": {
|
||||||
|
"_active": true
|
||||||
|
},
|
||||||
|
"CWE-190": {
|
||||||
|
"_active": true
|
||||||
|
},
|
||||||
|
"CWE-416": {
|
||||||
|
"_active": true
|
||||||
|
},
|
||||||
|
"CWE-476": {
|
||||||
|
"_active": true
|
||||||
|
},
|
||||||
|
"CWE-787": {
|
||||||
|
"_active": true
|
||||||
|
},
|
||||||
"CloneDetection": {
|
"CloneDetection": {
|
||||||
"_active": true,
|
"_active": true,
|
||||||
"excludes": [
|
"excludes": [
|
||||||
@@ -203,8 +221,8 @@
|
|||||||
"_Format": "1.0",
|
"_Format": "1.0",
|
||||||
"_VersionNum": [
|
"_VersionNum": [
|
||||||
7,
|
7,
|
||||||
8,
|
10,
|
||||||
0,
|
4,
|
||||||
15004
|
17655
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
0
coin/provisioning/common/linux/fix-bwrap-apparmor.sh
Normal file → Executable file
0
coin/provisioning/common/linux/fix-bwrap-apparmor.sh
Normal file → Executable file
0
coin/provisioning/common/linux/install-dummy-alsa-device.sh
Normal file → Executable file
0
coin/provisioning/common/linux/install-dummy-alsa-device.sh
Normal file → Executable file
@@ -15,18 +15,20 @@ case "$uname_m" in
|
|||||||
x86_64|amd64)
|
x86_64|amd64)
|
||||||
sha256="6f98805688d19672bd699fbbfa2c2cf0fc054ac3df1f0e6a47664d963d530255"
|
sha256="6f98805688d19672bd699fbbfa2c2cf0fc054ac3df1f0e6a47664d963d530255"
|
||||||
pkgname="ninja-$version-linux-x64.zip"
|
pkgname="ninja-$version-linux-x64.zip"
|
||||||
|
pkgnameExt="ninja-linux.zip"
|
||||||
dirname="ninja-$version-linux-x64"
|
dirname="ninja-$version-linux-x64"
|
||||||
;;
|
;;
|
||||||
arm64|aarch64)
|
arm64|aarch64)
|
||||||
sha256="5c25c6570b0155e95fce5918cb95f1ad9870df5768653afe128db822301a05a1"
|
sha256="5c25c6570b0155e95fce5918cb95f1ad9870df5768653afe128db822301a05a1"
|
||||||
pkgname="ninja-$version-linux-arm64.zip"
|
pkgname="ninja-$version-linux-arm64.zip"
|
||||||
|
pkgnameExt="ninja-linux-aarch64.zip"
|
||||||
dirname="ninja-$version-linux-arm64"
|
dirname="ninja-$version-linux-arm64"
|
||||||
;;
|
;;
|
||||||
*) fatal "Unknown architecture in uname: $uname_m" 43 ;;
|
*) fatal "Unknown architecture in uname: $uname_m" 43 ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
internalUrl="http://ci-files01-hki.ci.qt.io/input/ninja/$pkgname"
|
internalUrl="http://ci-files01-hki.ci.qt.io/input/ninja/$pkgname"
|
||||||
externalUrl="https://github.com/ninja-build/ninja/releases/download/v$version/$pkgname"
|
externalUrl="https://github.com/ninja-build/ninja/releases/download/v$version/$pkgnameExt"
|
||||||
|
|
||||||
targetFile="$HOME/$pkgname"
|
targetFile="$HOME/$pkgname"
|
||||||
DownloadURL "$internalUrl" "$externalUrl" "$sha256" "$targetFile"
|
DownloadURL "$internalUrl" "$externalUrl" "$sha256" "$targetFile"
|
||||||
|
|||||||
@@ -8,17 +8,17 @@ source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
|
|||||||
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
|
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
|
||||||
|
|
||||||
# This script will install node.js 18.16.0
|
# This script will install node.js 18.16.0
|
||||||
version="18.16.0"
|
version="22.21.1"
|
||||||
|
|
||||||
uname_m="$(uname -m)"
|
uname_m="$(uname -m)"
|
||||||
case "$uname_m" in
|
case "$uname_m" in
|
||||||
x86_64|amd64)
|
x86_64|amd64)
|
||||||
sha256="44d93d9b4627fe5ae343012d855491d62c7381b236c347f7666a7ad070f26548"
|
sha256="680d3f30b24a7ff24b98db5e96f294c0070f8f9078df658da1bce1b9c9873c88"
|
||||||
pkgname="node-v$version-linux-x64.tar.xz"
|
pkgname="node-v$version-linux-x64.tar.xz"
|
||||||
dirname="node-v$version-linux-x64"
|
dirname="node-v$version-linux-x64"
|
||||||
;;
|
;;
|
||||||
arm64|aarch64)
|
arm64|aarch64)
|
||||||
sha256="c81dfa0bada232cb4583c44d171ea207934f7356f85f9184b32d0dde69e2e0ea"
|
sha256="e660365729b434af422bcd2e8e14228637ecf24a1de2cd7c916ad48f2a0521e1"
|
||||||
pkgname="node-v$version-linux-arm64.tar.xz"
|
pkgname="node-v$version-linux-arm64.tar.xz"
|
||||||
dirname="node-v$version-linux-arm64"
|
dirname="node-v$version-linux-arm64"
|
||||||
;;
|
;;
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ QEMU_VER="8.2.3"
|
|||||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/qemu/qemu-$QEMU_VER.tar.xz"
|
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/qemu/qemu-$QEMU_VER.tar.xz"
|
||||||
AltUrl="https://download.qemu.org/qemu-$QEMU_VER.tar.xz"
|
AltUrl="https://download.qemu.org/qemu-$QEMU_VER.tar.xz"
|
||||||
SHA1="1b29c8105cf8d15b9e7fb6f8e85170b6c54a1788"
|
SHA1="1b29c8105cf8d15b9e7fb6f8e85170b6c54a1788"
|
||||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "/tmp" "$appPrefix"
|
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "/tmp" ""
|
||||||
|
|
||||||
targetFolder=/tmp/qemu-${QEMU_VER}
|
targetFolder=/tmp/qemu-${QEMU_VER}
|
||||||
mkdir -p "$targetFolder/build"
|
mkdir -p "$targetFolder/build"
|
||||||
|
|||||||
@@ -6,14 +6,13 @@ set -ex
|
|||||||
|
|
||||||
source "${BASH_SOURCE%/*}/../unix/sccache.sh"
|
source "${BASH_SOURCE%/*}/../unix/sccache.sh"
|
||||||
|
|
||||||
targetVersion=0.2.14
|
targetVersion=v0.11.0
|
||||||
|
|
||||||
if [[ $(uname -m) == 'aarch64' ]]; then
|
if [[ $(uname -m) == 'aarch64' ]]; then
|
||||||
targetArch=aarch64-unknown-linux-musl
|
targetArch=aarch64-unknown-linux-musl
|
||||||
sha1=0f9b57c423d77f7aa89bb642864ac7689d84d6a0
|
sha1=b7606d0fb461c0aa7351f511d9223416a322d52a
|
||||||
else
|
else
|
||||||
targetArch=x86_64-unknown-linux-musl
|
targetArch=x86_64-unknown-linux-musl
|
||||||
sha1=281680c0fc2c09173e94d12ba45d9f1b8e62e5b3
|
sha1=ef389a20c85b732cccd48436a5e28ed40bed2806
|
||||||
fi
|
fi
|
||||||
|
|
||||||
installSccache "$targetArch" "$targetVersion" "$sha1"
|
installSccache "$targetArch" "$targetVersion" "$sha1"
|
||||||
|
|||||||
@@ -27,9 +27,9 @@ ndkVersionLatest="r27c"
|
|||||||
ndkVersionNightly1="$ndkVersionLatest" # If same version as latest = skip NDK install for nightly
|
ndkVersionNightly1="$ndkVersionLatest" # If same version as latest = skip NDK install for nightly
|
||||||
ndkVersionNightly2="$ndkVersionLatest"
|
ndkVersionNightly2="$ndkVersionLatest"
|
||||||
|
|
||||||
sdkBuildToolsVersion="35.0.1"
|
sdkBuildToolsVersion="36.0.0"
|
||||||
# this is compile sdk version
|
# this is compile sdk version
|
||||||
sdkApiLevel="android-35"
|
sdkApiLevel="android-36"
|
||||||
|
|
||||||
toolsSourceFile="$basePath/$toolsFile"
|
toolsSourceFile="$basePath/$toolsFile"
|
||||||
|
|
||||||
|
|||||||
9
coin/provisioning/common/macos/clean_gca_keys.sh
Executable file
9
coin/provisioning/common/macos/clean_gca_keys.sh
Executable file
@@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Copyright (C) 2025 The Qt Company Ltd.
|
||||||
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||||
|
|
||||||
|
# Delete GCA plists and leases plist to force their regeneration after next reboot
|
||||||
|
# This avoids IPv6 link-local address collision that would happen with
|
||||||
|
# multiple VMs from same image.
|
||||||
|
|
||||||
|
sudo rm -rf /var/db/dhcpclient
|
||||||
@@ -15,6 +15,13 @@ disableSpotlight() {
|
|||||||
sudo mdutil -E / || return 1
|
sudo mdutil -E / || return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fixUnknownIndexingState() {
|
||||||
|
echo "Fix unknown indexing state by enabling indexing back one by one"
|
||||||
|
sudo mdutil -i on / || return 1
|
||||||
|
sudo mdutil -i on /System/Volumes/Preboot || return 1
|
||||||
|
sudo mdutil -i on /System/Volumes/Data || return 1
|
||||||
|
}
|
||||||
|
|
||||||
# Disabling spotlight tends to be flaky, add some retry
|
# Disabling spotlight tends to be flaky, add some retry
|
||||||
for i in $(seq 1 5)
|
for i in $(seq 1 5)
|
||||||
do
|
do
|
||||||
@@ -25,7 +32,8 @@ do
|
|||||||
echo "Spotlight disabled"
|
echo "Spotlight disabled"
|
||||||
break
|
break
|
||||||
else
|
else
|
||||||
echo "Failed to disable spotlight, $i retry..."
|
echo "Failed to disable spotlight, $i run fix and retry..."
|
||||||
|
fixUnknownIndexingState
|
||||||
sleep 2
|
sleep 2
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|||||||
@@ -12,10 +12,10 @@ INSTALLTYPE="$1"
|
|||||||
VERSION="$2"
|
VERSION="$2"
|
||||||
CHECKSUM="$3"
|
CHECKSUM="$3"
|
||||||
|
|
||||||
DEFAULT_PKG_VERSION="4.4.21"
|
DEFAULT_PKG_VERSION="4.6.8"
|
||||||
DEFAULT_PKG_VERSION_CHECKSUM="cd83c4123d5db7d07eb3042f1c785ed7f599183c5c542040bc6abfa722583861"
|
DEFAULT_PKG_VERSION_CHECKSUM="91157b34fcc58eeaf4149f2f2b3063f2904a3d5e5cc3bf84d3c79627ba26afd9"
|
||||||
DEFAULT_GIT_VERSION="deb02e27d99fd2cb27ae16760e3a5272b612fded"
|
DEFAULT_GIT_VERSION="bce07c53def3dbe54aa14a88adfc63eb7ba91f48"
|
||||||
DEFAULT_GIT_VERSION_CHECKSUM="a30b9fbf0d5c2cff3eb1d0643cceee30d8ba6ea1bb7bcabf60d3188bd62e6ba6"
|
DEFAULT_GIT_VERSION_CHECKSUM="c95d3a95a38f9c2cb122335a2101d49af196a1c5"
|
||||||
|
|
||||||
source "$(dirname "$0")"/../../common/unix/DownloadURL.sh
|
source "$(dirname "$0")"/../../common/unix/DownloadURL.sh
|
||||||
source "$(dirname "$0")"/../../common/unix/SetEnvVar.sh
|
source "$(dirname "$0")"/../../common/unix/SetEnvVar.sh
|
||||||
@@ -53,7 +53,7 @@ installGit() {
|
|||||||
DownloadURL "http://ci-files01-hki.ci.qt.io/input/semisecure/sign/pw" "http://ci-files01-hki.ci.qt.io/input/semisecure/sign/pw" "aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" "/Users/qt/pw"
|
DownloadURL "http://ci-files01-hki.ci.qt.io/input/semisecure/sign/pw" "http://ci-files01-hki.ci.qt.io/input/semisecure/sign/pw" "aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" "/Users/qt/pw"
|
||||||
{ pw=$(cat "/Users/qt/pw"); } 2> /dev/null
|
{ pw=$(cat "/Users/qt/pw"); } 2> /dev/null
|
||||||
sudo chmod 755 /tmp/homebrew_install.sh
|
sudo chmod 755 /tmp/homebrew_install.sh
|
||||||
{ (echo "$pw" | /tmp/homebrew_install.sh); } 2> /dev/null
|
{ (echo "$pw" | CI=1 /tmp/homebrew_install.sh); } 2> /dev/null
|
||||||
rm -f "/Users/qt/pw"
|
rm -f "/Users/qt/pw"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
283
coin/provisioning/common/macos/install-ffmpeg-ios.sh
Executable file
283
coin/provisioning/common/macos/install-ffmpeg-ios.sh
Executable file
@@ -0,0 +1,283 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# Copyright (C) 2024 The Qt Company Ltd.
|
||||||
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||||
|
|
||||||
|
# This script will build and install FFmpeg static libs
|
||||||
|
# Can take an optional final parameter to control installation directory
|
||||||
|
set -eoux pipefail
|
||||||
|
|
||||||
|
# Must match or be lower than the minimum iOS version supported by the version of Qt that is
|
||||||
|
# is currently being built.
|
||||||
|
readonly MINIMUM_IOS_VERSION="16.0"
|
||||||
|
|
||||||
|
source "${BASH_SOURCE%/*}/../unix/ffmpeg-installation-utils.sh"
|
||||||
|
|
||||||
|
ffmpeg_version=$(ffmpeg_version_default)
|
||||||
|
ffmpeg_source_dir=$(download_ffmpeg)
|
||||||
|
ffmpeg_config_options=$(get_ffmpeg_config_options "shared")
|
||||||
|
default_prefix="/usr/local/ios/ffmpeg"
|
||||||
|
prefix="${1:-$default_prefix}"
|
||||||
|
|
||||||
|
# Qt doesn't utilize all FFmpeg components. This is a list of the ones
|
||||||
|
# we care about
|
||||||
|
ffmpeg_components="libavcodec libavformat libavutil libswresample libswscale"
|
||||||
|
|
||||||
|
target_platform_to_sdk() {
|
||||||
|
local target_platform="$1"
|
||||||
|
if [[ "$target_platform" == "arm64-simulator" ]] \
|
||||||
|
|| [[ "$target_platform" == "x86_64-simulator" ]]; then
|
||||||
|
echo "iphonesimulator"
|
||||||
|
elif [ "$target_platform" == "arm64-iphoneos" ]; then
|
||||||
|
echo "iphoneos"
|
||||||
|
else
|
||||||
|
echo "Error finding corresponding iOS SDK for target platform: ${target_platform}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
build_ffmpeg_ios() {
|
||||||
|
local target_platform="$1"
|
||||||
|
local target_cpu_arch=""
|
||||||
|
local target_sdk;
|
||||||
|
target_sdk="$(target_platform_to_sdk "${target_platform}")"
|
||||||
|
|
||||||
|
if [ "$target_platform" == "arm64-simulator" ]; then
|
||||||
|
target_cpu_arch="arm64"
|
||||||
|
minos="-mios-simulator-version-min=$MINIMUM_IOS_VERSION"
|
||||||
|
elif [ "$target_platform" == "x86_64-simulator" ]; then
|
||||||
|
target_cpu_arch="x86_64"
|
||||||
|
minos="-mios-simulator-version-min=$MINIMUM_IOS_VERSION"
|
||||||
|
elif [ "$target_platform" == "arm64-iphoneos" ]; then
|
||||||
|
target_cpu_arch="arm64"
|
||||||
|
minos="-miphoneos-version-min=$MINIMUM_IOS_VERSION"
|
||||||
|
else
|
||||||
|
echo "Error when building FFmpeg for iOS. Unknown parameter given for target_platform: '${target_platform}'"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
local build_dir="$ffmpeg_source_dir/build_ios/$target_platform"
|
||||||
|
sudo mkdir -p "$build_dir"
|
||||||
|
pushd "$build_dir"
|
||||||
|
|
||||||
|
local sysroot;
|
||||||
|
sysroot="$(xcrun --sdk "${target_sdk}" --show-sdk-path)"
|
||||||
|
local cc;
|
||||||
|
cc="$(xcrun -f --sdk ${target_sdk} clang)"
|
||||||
|
local cxx;
|
||||||
|
cxx="$(xcrun -f --sdk ${target_sdk} clang++)"
|
||||||
|
|
||||||
|
# We add -g so we get debug symbols.
|
||||||
|
local common_arch_flags="${minos} -arch ${target_cpu_arch} -g"
|
||||||
|
|
||||||
|
local config_parameters=(
|
||||||
|
$ffmpeg_config_options
|
||||||
|
--sysroot="${sysroot}"
|
||||||
|
--enable-cross-compile
|
||||||
|
--enable-optimizations
|
||||||
|
--prefix="$prefix"
|
||||||
|
--arch="$target_cpu_arch"
|
||||||
|
--cc="$cc"
|
||||||
|
--cxx="$cxx"
|
||||||
|
--extra-cflags="${common_arch_flags}"
|
||||||
|
--extra-cxxflags="${common_arch_flags}"
|
||||||
|
--extra-ldflags="${common_arch_flags}"
|
||||||
|
--target-os=darwin
|
||||||
|
--enable-shared
|
||||||
|
--disable-static
|
||||||
|
--install-name-dir="@rpath"
|
||||||
|
--disable-audiotoolbox
|
||||||
|
|
||||||
|
# We perform manual stripping after generating dSYMs.
|
||||||
|
# Make sure to skip it during FFmpeg compilation.
|
||||||
|
--disable-stripping
|
||||||
|
)
|
||||||
|
sudo "$ffmpeg_source_dir/configure" "${config_parameters[@]}"
|
||||||
|
|
||||||
|
sudo make install DESTDIR="$build_dir/installed" -j4
|
||||||
|
popd
|
||||||
|
}
|
||||||
|
|
||||||
|
build_info_plist() {
|
||||||
|
local file_path="$1"
|
||||||
|
local framework_name="$2"
|
||||||
|
local framework_id="$3"
|
||||||
|
|
||||||
|
# Apple plist format has a strict requirement that the version string
|
||||||
|
# contains up to 3 numerics separated by a dot. Meanwhile, FFmpeg versioning
|
||||||
|
# tends to use an 'n' prefix in their versioning. We use a regex to convert
|
||||||
|
# and verify the version string.
|
||||||
|
#
|
||||||
|
# https://developer.apple.com/documentation/bundleresources/information-property-list/cfbundleversion
|
||||||
|
local formatted_ffmpeg_version
|
||||||
|
if [[ $ffmpeg_version =~ ([0-9]+(\.[0-9]+){0,2}) ]]; then
|
||||||
|
formatted_ffmpeg_version="${BASH_REMATCH[1]}"
|
||||||
|
else
|
||||||
|
echo "Unable to format FFmpeg version string '$ffmpeg_version' into corresponding Apple Info.plist format"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
local minimum_version_key="MinimumOSVersion"
|
||||||
|
local supported_platforms="iPhoneOS"
|
||||||
|
|
||||||
|
info_plist="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
|
||||||
|
<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
|
||||||
|
<plist version=\"1.0\">
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
|
<string>en</string>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>${framework_name}</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>${framework_id}</string>
|
||||||
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
|
<string>6.0</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>${framework_name}</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>FMWK</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>${formatted_ffmpeg_version}</string>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>${formatted_ffmpeg_version}</string>
|
||||||
|
<key>CFBundleSignature</key>
|
||||||
|
<string>????</string>
|
||||||
|
<key>${minimum_version_key}</key>
|
||||||
|
<string>${MINIMUM_IOS_VERSION}</string>
|
||||||
|
<key>CFBundleSupportedPlatforms</key>
|
||||||
|
<array>
|
||||||
|
<string>${supported_platforms}</string>
|
||||||
|
</array>
|
||||||
|
<key>NSPrincipalClass</key>
|
||||||
|
<string></string>
|
||||||
|
</dict>
|
||||||
|
</plist>"
|
||||||
|
echo $info_plist | sudo tee ${file_path} 1>/dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
# Create a 'traditional' framework from the corresponding dylib.
|
||||||
|
# This includes creating a folder for it, and inserting Info.plist
|
||||||
|
# and dylib. We also patch runpaths in the dylib to match the
|
||||||
|
# frameworks directory structure.
|
||||||
|
create_framework() {
|
||||||
|
local ffmpeg_component_name="$1"
|
||||||
|
local platform="$2"
|
||||||
|
|
||||||
|
local ffmpeg_build_path="${ffmpeg_source_dir}/build_ios/${platform}/installed/${prefix}"
|
||||||
|
local ffmpeg_component_src_dylib="${ffmpeg_build_path}/lib/${ffmpeg_component_name}.dylib"
|
||||||
|
local ffmpeg_component_framework="${ffmpeg_build_path}/framework/${ffmpeg_component_name}.framework"
|
||||||
|
local ffmpeg_component_target_dylib="${ffmpeg_component_framework}/${ffmpeg_component_name}"
|
||||||
|
|
||||||
|
# Make directory for the .framework
|
||||||
|
sudo mkdir -p "${ffmpeg_component_framework}"
|
||||||
|
|
||||||
|
# Inser the Info.plist
|
||||||
|
build_info_plist \
|
||||||
|
"${ffmpeg_component_framework}/Info.plist" \
|
||||||
|
"${ffmpeg_component_name}" \
|
||||||
|
"io.qt.ffmpegkit.${ffmpeg_component_name}"
|
||||||
|
|
||||||
|
# Copy in the dylib
|
||||||
|
sudo cp \
|
||||||
|
"${ffmpeg_component_src_dylib}" \
|
||||||
|
"${ffmpeg_component_target_dylib}"
|
||||||
|
|
||||||
|
# By default, runpaths will look for FFmpeg dependencies in
|
||||||
|
# '@rpath/libavcodec.xx.yy.dylib'. We want this path to be in the form
|
||||||
|
# '@rpath/libavcodec.framework/libavcodec.dylib'.
|
||||||
|
|
||||||
|
# Set the dylibs self-identity
|
||||||
|
sudo install_name_tool \
|
||||||
|
-id "@rpath/${ffmpeg_component_name}.framework/${ffmpeg_component_name}" \
|
||||||
|
"${ffmpeg_component_target_dylib}"
|
||||||
|
|
||||||
|
# Update the runpaths for each FFmpeg dependency entry
|
||||||
|
otool -L "$ffmpeg_component_target_dylib" \
|
||||||
|
| tail -n +2 \
|
||||||
|
| awk '{print $1}' \
|
||||||
|
| while read -r dep; do
|
||||||
|
# Go through all dependency entries of this .dylib,
|
||||||
|
# see if they point to a FFmpeg component. If it does,
|
||||||
|
# modify the entry to match the final
|
||||||
|
# directory structure.
|
||||||
|
for ffdep in $ffmpeg_components; do
|
||||||
|
if [[ "$dep" == */${ffdep}.* ]]; then
|
||||||
|
echo "Rewriting dependency: $dep -> @rpath/${ffdep}.framework/${ffdep}"
|
||||||
|
sudo install_name_tool -change \
|
||||||
|
"$dep" \
|
||||||
|
"@rpath/${ffdep}.framework/${ffdep}" \
|
||||||
|
"$ffmpeg_component_target_dylib"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# dSYM symbols must be generated manually, these are required for
|
||||||
|
# App Store deployment. We generate them from the .dylibs inside
|
||||||
|
# our .frameworks. This has to be done after patching the runpaths.
|
||||||
|
# At the end, we strip the dylib.
|
||||||
|
create_dsym() {
|
||||||
|
local ffmpeg_component_name="$1"
|
||||||
|
local platform="$2"
|
||||||
|
|
||||||
|
local ffmpeg_build_path="${ffmpeg_source_dir}/build_ios/${platform}/installed/${prefix}"
|
||||||
|
local target_dylib="${ffmpeg_build_path}/framework/${ffmpeg_component_name}.framework/${ffmpeg_component_name}"
|
||||||
|
|
||||||
|
sudo dsymutil "${target_dylib}" \
|
||||||
|
-o "${ffmpeg_build_path}/framework/${ffmpeg_component_name}.framework.dSYM"
|
||||||
|
|
||||||
|
local target_sdk;
|
||||||
|
target_sdk=$(target_platform_to_sdk "${platform}")
|
||||||
|
|
||||||
|
local strip;
|
||||||
|
strip="$(xcrun -f --sdk ${target_sdk} strip)"
|
||||||
|
sudo ${strip} -x "${target_dylib}"
|
||||||
|
}
|
||||||
|
|
||||||
|
create_xcframework() {
|
||||||
|
# Create 'traditional' framework from the corresponding dylib,
|
||||||
|
# also creating
|
||||||
|
local framework_name="$1"
|
||||||
|
local target_platform_a="$2"
|
||||||
|
local target_platform_b="$3"
|
||||||
|
|
||||||
|
local platform_a_build="${ffmpeg_source_dir}/build_ios/${target_platform_a}/installed/${prefix}"
|
||||||
|
local fw_a="${platform_a_build}/framework/${framework_name}.framework"
|
||||||
|
local dsym_a="${fw_a}.dSYM"
|
||||||
|
|
||||||
|
local platform_b_build="${ffmpeg_source_dir}/build_ios/${target_platform_b}/installed/${prefix}"
|
||||||
|
local fw_b="${platform_b_build}/framework/${framework_name}.framework"
|
||||||
|
local dsym_b="${fw_b}.dSYM"
|
||||||
|
|
||||||
|
sudo mkdir -p "$prefix/framework/"
|
||||||
|
sudo xcodebuild -create-xcframework \
|
||||||
|
-framework "$fw_a" -debug-symbols "$dsym_a" \
|
||||||
|
-framework $fw_b -debug-symbols "$dsym_b" \
|
||||||
|
-output "${prefix}/lib/${framework_name}.xcframework"
|
||||||
|
}
|
||||||
|
|
||||||
|
build_ffmpeg_ios "arm64-iphoneos"
|
||||||
|
build_ffmpeg_ios "x86_64-simulator"
|
||||||
|
|
||||||
|
for name in $ffmpeg_components; do
|
||||||
|
create_framework "$name" "arm64-iphoneos"
|
||||||
|
create_framework "$name" "x86_64-simulator"
|
||||||
|
|
||||||
|
create_dsym "$name" "arm64-iphoneos"
|
||||||
|
create_dsym "$name" "x86_64-simulator"
|
||||||
|
done
|
||||||
|
|
||||||
|
# Create corresponding xcframeworks containing both arm64 and x86_64-simulator frameworks:
|
||||||
|
for name in $ffmpeg_components; do
|
||||||
|
create_xcframework "$name" "arm64-iphoneos" "x86_64-simulator"
|
||||||
|
done
|
||||||
|
|
||||||
|
# xcframeworks are already installed directly into the target output directory.
|
||||||
|
# We need to install headers
|
||||||
|
sudo cp -r "${ffmpeg_source_dir}/build_ios/arm64-iphoneos/installed/${prefix}/include" "$prefix"
|
||||||
|
|
||||||
|
# The set_ffmpeg_dir_env_var requires the presence of the "lib" subfolder in order to validate
|
||||||
|
# our FFmpeg install. On iOS we don't use this subfolder, we only rely on the "framework" subfolder.
|
||||||
|
# So we create a dummy "lib" folder to pass the check.
|
||||||
|
sudo mkdir -p "${prefix}/lib"
|
||||||
|
|
||||||
|
set_ffmpeg_dir_env_var "FFMPEG_DIR_IOS" "$prefix"
|
||||||
23
coin/provisioning/common/macos/install-pyenv.sh
Executable file
23
coin/provisioning/common/macos/install-pyenv.sh
Executable file
@@ -0,0 +1,23 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
#Copyright (C) 2025 The Qt Company Ltd
|
||||||
|
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
# shellcheck source=../common/unix/SetEnvVar.sh
|
||||||
|
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
|
||||||
|
|
||||||
|
# shellcheck source=./DownloadURL.sh
|
||||||
|
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
|
||||||
|
|
||||||
|
installerFile="pyenv-installer"
|
||||||
|
sha="1c2f20c26dc8bb7409a6031e8777c0c1b2aae9da"
|
||||||
|
cacheUrl="https://ci-files01-hki.ci.qt.io/input/python/pyenv/${installerFile}"
|
||||||
|
target="${installerFile}"
|
||||||
|
|
||||||
|
DownloadURL "$cacheUrl" "" "$sha" "$target"
|
||||||
|
chmod +x "$target"
|
||||||
|
"./$target"
|
||||||
|
SetEnvVar "PYENV_ROOT" "/Users/qt/.pyenv"
|
||||||
|
SetEnvVar "PATH" "\$PYENV_ROOT/bin:\$PATH"
|
||||||
|
rm -f "$target"
|
||||||
@@ -7,10 +7,10 @@ source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
|
|||||||
|
|
||||||
# This script will install Nodejs
|
# 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"
|
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"
|
urlOffcial="https://nodejs.org/dist/v$version/node-v$version.pkg"
|
||||||
sha256="156aa5b9580288fb0b3c6134eb8fac64e50745d78d33eebe9e29eb7ff87b8e1e"
|
sha256="182ad62634eabbb11497c2284a3172771944f1cd17e23b143e778bd189af6d65"
|
||||||
|
|
||||||
DownloadURL $urlCache $urlOffcial $sha256 "/tmp/node-v$version.pkg"
|
DownloadURL $urlCache $urlOffcial $sha256 "/tmp/node-v$version.pkg"
|
||||||
sudo installer -pkg "/tmp/node-v$version.pkg" -target /
|
sudo installer -pkg "/tmp/node-v$version.pkg" -target /
|
||||||
|
|||||||
8
coin/provisioning/common/macos/p7zip.sh
Executable file
8
coin/provisioning/common/macos/p7zip.sh
Executable file
@@ -0,0 +1,8 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
#Copyright (C) 2025 The Qt Company Ltd
|
||||||
|
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||||
|
# Install 7z to be used from command line
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
brew install p7zip
|
||||||
@@ -6,12 +6,12 @@ set -ex
|
|||||||
|
|
||||||
source "${BASH_SOURCE%/*}/../unix/sccache.sh"
|
source "${BASH_SOURCE%/*}/../unix/sccache.sh"
|
||||||
|
|
||||||
targetVersion=0.2.14
|
targetVersion=v0.11.0
|
||||||
if [[ `arch` == arm* ]]; then
|
if [[ `arch` == arm* ]]; then
|
||||||
targetArch=aarch64-apple-darwin
|
targetArch=aarch64-apple-darwin
|
||||||
sha1=ad10cd4b8889fa08e193a4165ac664876a27c0dc
|
sha1=3261ab99e5bb1f9f36eafa597d11491bd85da5ec
|
||||||
else
|
else
|
||||||
targetArch=x86_64-apple-darwin
|
targetArch=x86_64-apple-darwin
|
||||||
sha1=764bc1664c0ff616d9980a6d127175d0a2041781
|
sha1=57810789bf2813dfa9bf5da26a712dc30b56ce16
|
||||||
fi
|
fi
|
||||||
installSccache "$targetArch" "$targetVersion" "$sha1"
|
installSccache "$targetArch" "$targetVersion" "$sha1"
|
||||||
|
|||||||
@@ -41,6 +41,9 @@ SERVICES+=("kTCCServiceBluetoothAlways|$HOME")
|
|||||||
# a test fails.
|
# a test fails.
|
||||||
SERVICES+=("kTCCServiceScreenCapture|/")
|
SERVICES+=("kTCCServiceScreenCapture|/")
|
||||||
|
|
||||||
|
# Squish requires kTCCServiceAccessibility
|
||||||
|
SERVICES+=("kTCCServiceAccessibility|/")
|
||||||
|
|
||||||
# ------ Implementation ------
|
# ------ Implementation ------
|
||||||
|
|
||||||
function add_permission_for_client() {
|
function add_permission_for_client() {
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ set -euox pipefail
|
|||||||
lib_dir="$1/lib"
|
lib_dir="$1/lib"
|
||||||
additional_suffix="${2:-}"
|
additional_suffix="${2:-}"
|
||||||
set_rpath="${3:-yes}"
|
set_rpath="${3:-yes}"
|
||||||
|
page_size="${4:-}"
|
||||||
|
|
||||||
# readelf and patchelf are prerequisite tools for this script. Check
|
# readelf and patchelf are prerequisite tools for this script. Check
|
||||||
# that they are available.
|
# that they are available.
|
||||||
@@ -81,7 +82,12 @@ for lib_name in "${ffmpeg_libs[@]}"; do
|
|||||||
stub_name="${stub_name%%.*}${additional_suffix}.${stub_name#*.}" # Add additional_suffix
|
stub_name="${stub_name%%.*}${additional_suffix}.${stub_name#*.}" # Add additional_suffix
|
||||||
fi
|
fi
|
||||||
|
|
||||||
patchelf --replace-needed "${BASH_REMATCH[1]}" "${stub_name}" "$lib_path"
|
additional_command_args=""
|
||||||
|
if [ -n "$page_size" ]; then
|
||||||
|
additional_command_args+="--page-size ${page_size}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
patchelf ${additional_command_args} --replace-needed "${BASH_REMATCH[1]}" "${stub_name}" "$lib_path"
|
||||||
fi
|
fi
|
||||||
done <<< "$(read_needed_deps)"
|
done <<< "$(read_needed_deps)"
|
||||||
|
|
||||||
|
|||||||
@@ -3,5 +3,5 @@ spdx-tools>=0.8.0 ; python_version >= '3.9'
|
|||||||
ntia-conformance-checker ; python_version >= '3.9'
|
ntia-conformance-checker ; python_version >= '3.9'
|
||||||
sbomaudit ; python_version >= '3.9'
|
sbomaudit ; python_version >= '3.9'
|
||||||
sbom2doc ; python_version >= '3.9'
|
sbom2doc ; python_version >= '3.9'
|
||||||
reuse ; 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.0.0 ; python_version >= '3.9'
|
||||||
|
|||||||
@@ -1,5 +1,10 @@
|
|||||||
FROM ubuntu:16.04
|
FROM ubuntu:16.04
|
||||||
ARG COIN_RUNS_IN_QT_COMPANY
|
ARG COIN_RUNS_IN_QT_COMPANY
|
||||||
RUN test x"$COIN_RUNS_IN_QT_COMPANY" = xtrue \
|
RUN test x"$COIN_RUNS_IN_QT_COMPANY" = xtrue \
|
||||||
&& sed -i 's;\(archive\|security\)\.ubuntu\.com;repo-clones.ci.qt.io/apt-mirror/mirror;' /etc/apt/sources.list \
|
&& { printf '%s\n' \
|
||||||
|| echo "Internal package repository not found. Using public repositories."
|
'deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 xenial-amd64 main restricted universe multiverse' \
|
||||||
|
'deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 xenial-updates-amd64 main restricted universe multiverse' \
|
||||||
|
'deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 xenial-backports-amd64 main restricted universe' \
|
||||||
|
'deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 xenial-security-amd64 main restricted universe multiverse' \
|
||||||
|
> /etc/apt/sources.list; \
|
||||||
|
} \
|
||||||
|
|||||||
@@ -1,5 +1,10 @@
|
|||||||
FROM ubuntu:18.04
|
FROM ubuntu:18.04
|
||||||
ARG COIN_RUNS_IN_QT_COMPANY
|
ARG COIN_RUNS_IN_QT_COMPANY
|
||||||
RUN test x"$COIN_RUNS_IN_QT_COMPANY" = xtrue \
|
RUN test x"$COIN_RUNS_IN_QT_COMPANY" = xtrue \
|
||||||
&& sed -i 's;\(archive\|security\)\.ubuntu\.com;repo-clones.ci.qt.io/apt-mirror/mirror;' /etc/apt/sources.list \
|
&& { printf '%s\n' \
|
||||||
|| echo "Internal package repository not found. Using public repositories."
|
'deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 bionic-amd64 main restricted universe multiverse' \
|
||||||
|
'deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 bionic-updates-amd64 main restricted universe multiverse' \
|
||||||
|
'deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 bionic-backports-amd64 main restricted universe' \
|
||||||
|
'deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 bionic-security-amd64 main restricted universe multiverse' \
|
||||||
|
> /etc/apt/sources.list; \
|
||||||
|
} \
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ set_common_environment () {
|
|||||||
CMD_INSTALL="sudo install"
|
CMD_INSTALL="sudo install"
|
||||||
|
|
||||||
COIN_RUNS_IN_QT_COMPANY=false
|
COIN_RUNS_IN_QT_COMPANY=false
|
||||||
if ping -c1 repo-clones.ci.qt.io >/dev/null 2>&1
|
if ping -c1 repo-clones-apt.ci.qt.io >/dev/null 2>&1
|
||||||
then
|
then
|
||||||
COIN_RUNS_IN_QT_COMPANY=true
|
COIN_RUNS_IN_QT_COMPANY=true
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -2,9 +2,13 @@
|
|||||||
# Copyright (C) 2024 The Qt Company Ltd.
|
# Copyright (C) 2024 The Qt Company Ltd.
|
||||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||||
|
|
||||||
|
ffmpeg_version_default() {
|
||||||
|
echo "n7.1.3"
|
||||||
|
}
|
||||||
|
|
||||||
download_ffmpeg() {
|
download_ffmpeg() {
|
||||||
local version="${1:-n7.1.1}"
|
local version="${1:-$(ffmpeg_version_default)}"
|
||||||
local sha1="${2:-479291e8555fe036ca760f95cea829a21e9b8365}"
|
local sha1="${2:-27051817deec88bed3b9652d49f9127d22268d83}"
|
||||||
|
|
||||||
local ffmpeg_name="FFmpeg-$version"
|
local ffmpeg_name="FFmpeg-$version"
|
||||||
local target_dir="$HOME"
|
local target_dir="$HOME"
|
||||||
@@ -65,3 +69,11 @@ set_ffmpeg_dir_env_var() {
|
|||||||
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
|
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
|
||||||
SetEnvVar "$envvar" "$dir"
|
SetEnvVar "$envvar" "$dir"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
set_ffmpeg_env_var() {
|
||||||
|
local envvar="$1"
|
||||||
|
local value="$2"
|
||||||
|
|
||||||
|
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
|
||||||
|
SetEnvVar "$envvar" "$value"
|
||||||
|
}
|
||||||
|
|||||||
@@ -9,7 +9,8 @@ source "${BASH_SOURCE%/*}/../unix/ffmpeg-installation-utils.sh"
|
|||||||
|
|
||||||
os="$1"
|
os="$1"
|
||||||
# Optional parameter to set output installation directory. Useful for local builds.
|
# Optional parameter to set output installation directory. Useful for local builds.
|
||||||
target_install_dir_param="$2"
|
page_size="$2"
|
||||||
|
target_install_dir_param="$3"
|
||||||
build_type=$(get_ffmpeg_build_type)
|
build_type=$(get_ffmpeg_build_type)
|
||||||
ffmpeg_source_dir=$(download_ffmpeg)
|
ffmpeg_source_dir=$(download_ffmpeg)
|
||||||
|
|
||||||
@@ -81,14 +82,23 @@ build_ffmpeg_android() {
|
|||||||
local cc=${toolchain_bin}/${target_toolchain_arch}${api_version}-clang
|
local cc=${toolchain_bin}/${target_toolchain_arch}${api_version}-clang
|
||||||
local ar=${toolchain_bin}/llvm-ar
|
local ar=${toolchain_bin}/llvm-ar
|
||||||
local ranlib=${toolchain_bin}/llvm-ranlib
|
local ranlib=${toolchain_bin}/llvm-ranlib
|
||||||
|
local strip=${toolchain_bin}/llvm-strip
|
||||||
local ffmpeg_config_options
|
local ffmpeg_config_options
|
||||||
|
|
||||||
ffmpeg_config_options=$(get_ffmpeg_config_options $build_type)
|
ffmpeg_config_options=$(get_ffmpeg_config_options $build_type)
|
||||||
ffmpeg_config_options+=" --enable-cross-compile --target-os=android --enable-jni --enable-mediacodec --enable-openssl --enable-pthreads --enable-neon --disable-asm --disable-indev=android_camera"
|
ffmpeg_config_options+=" --enable-cross-compile --target-os=android --enable-jni --enable-mediacodec --enable-openssl --enable-pthreads --enable-neon --disable-asm --disable-indev=android_camera"
|
||||||
ffmpeg_config_options+=" --arch=$target_arch --cpu=${target_cpu} --sysroot=${sysroot} --sysinclude=${sysroot}/usr/include/"
|
ffmpeg_config_options+=" --arch=$target_arch --cpu=${target_cpu} --sysroot=${sysroot} --sysinclude=${sysroot}/usr/include/"
|
||||||
ffmpeg_config_options+=" --cc=${cc} --cxx=${cxx} --ar=${ar} --ranlib=${ranlib}"
|
ffmpeg_config_options+=" --cc=${cc} --cxx=${cxx} --ar=${ar} --ranlib=${ranlib} --strip=${strip}"
|
||||||
ffmpeg_config_options+=" --extra-cflags=-I${openssl_include} --extra-ldflags=-L${openssl_libs}"
|
ffmpeg_config_options+=" --extra-cflags=-I${openssl_include} --extra-ldflags=-L${openssl_libs}"
|
||||||
|
if [ $page_size == "use_16kb_page_size" ]; then
|
||||||
|
ffmpeg_config_options+=" --extra-ldflags=-Wl,-z,max-page-size=16384"
|
||||||
|
echo "FFmpeg Android using 16KB page sizes"
|
||||||
|
elif [ $page_size == "use_4kb_page_size" ]; then
|
||||||
|
echo "FFmpeg Android using 4KB page sizes"
|
||||||
|
else
|
||||||
|
echo "Error: FFmpeg Android page_size must be: use_16kb_page_size or: use_4kb_page_size got: $page_size" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
local build_dir="$ffmpeg_source_dir/build_android/$target_arch"
|
local build_dir="$ffmpeg_source_dir/build_android/$target_arch"
|
||||||
mkdir -p "$build_dir"
|
mkdir -p "$build_dir"
|
||||||
pushd "$build_dir"
|
pushd "$build_dir"
|
||||||
@@ -106,7 +116,13 @@ build_ffmpeg_android() {
|
|||||||
|
|
||||||
if [[ "$build_type" == "shared" ]]; then
|
if [[ "$build_type" == "shared" ]]; then
|
||||||
local fix_dependencies="${BASH_SOURCE%/*}/../shared/fix_ffmpeg_dependencies.sh"
|
local fix_dependencies="${BASH_SOURCE%/*}/../shared/fix_ffmpeg_dependencies.sh"
|
||||||
sudo "${fix_dependencies}" "${target_dir}" "${libs_prefix}" "no"
|
|
||||||
|
local page_size_arg=""
|
||||||
|
if [ $page_size == "use_16kb_page_size" ]; then
|
||||||
|
page_size_arg="16384"
|
||||||
|
fi
|
||||||
|
|
||||||
|
sudo "${fix_dependencies}" "${target_dir}" "${libs_prefix}" "no" "$page_size_arg"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,175 +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_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"
|
|
||||||
|
|
||||||
local minimum_version_key="MinimumOSVersion"
|
|
||||||
local supported_platforms="iPhoneOS"
|
|
||||||
|
|
||||||
# TODO: This should be filled out with the actual version of FFmpeg that we are
|
|
||||||
# deploying.
|
|
||||||
info_plist="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
|
|
||||||
<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
|
|
||||||
<plist version=\"1.0\">
|
|
||||||
<dict>
|
|
||||||
<key>CFBundleDevelopmentRegion</key>
|
|
||||||
<string>en</string>
|
|
||||||
<key>CFBundleExecutable</key>
|
|
||||||
<string>${framework_name}</string>
|
|
||||||
<key>CFBundleIdentifier</key>
|
|
||||||
<string>${framework_id}</string>
|
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
|
||||||
<string>6.0</string>
|
|
||||||
<key>CFBundleName</key>
|
|
||||||
<string>${framework_name}</string>
|
|
||||||
<key>CFBundlePackageType</key>
|
|
||||||
<string>FMWK</string>
|
|
||||||
<key>CFBundleShortVersionString</key>
|
|
||||||
<string>7.0.2</string>
|
|
||||||
<key>CFBundleVersion</key>
|
|
||||||
<string>7.0.2</string>
|
|
||||||
<key>CFBundleSignature</key>
|
|
||||||
<string>????</string>
|
|
||||||
<key>${minimum_version_key}</key>
|
|
||||||
<string>${MINIMUM_IOS_VERSION}</string>
|
|
||||||
<key>CFBundleSupportedPlatforms</key>
|
|
||||||
<array>
|
|
||||||
<string>${supported_platforms}</string>
|
|
||||||
</array>
|
|
||||||
<key>NSPrincipalClass</key>
|
|
||||||
<string></string>
|
|
||||||
</dict>
|
|
||||||
</plist>"
|
|
||||||
echo $info_plist | sudo tee ${file_path} 1>/dev/null
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
create_framework() {
|
|
||||||
# Create a 'traditional' framework from the corresponding dylib.
|
|
||||||
local framework_name="$1"
|
|
||||||
local platform="$2" # For now it's either arm64 or arm64-simulator, see below.
|
|
||||||
local ffmpeg_library_path="$ffmpeg_source_dir/build_ios/${platform}/installed$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
|
|
||||||
@@ -34,6 +34,7 @@ if [[ "$os" == "linux" ]]; then
|
|||||||
make && make install_sw install_ssldirs
|
make && make install_sw install_ssldirs
|
||||||
SetEnvVar "OPENSSL_HOME" "$opensslHome"
|
SetEnvVar "OPENSSL_HOME" "$opensslHome"
|
||||||
SetEnvVar "PATH" "\"$opensslHome/bin:\$PATH\""
|
SetEnvVar "PATH" "\"$opensslHome/bin:\$PATH\""
|
||||||
|
SetEnvVar "PKG_CONFIG_PATH" "\"$opensslHome/lib64/pkgconfig:\$PKG_CONFIG_PATH\""
|
||||||
if uname -a |grep -q "Debian"; then
|
if uname -a |grep -q "Debian"; then
|
||||||
SetEnvVar "LD_LIBRARY_PATH" "\"$opensslHome/lib:$LD_LIBRARY_PATH\""
|
SetEnvVar "LD_LIBRARY_PATH" "\"$opensslHome/lib:$LD_LIBRARY_PATH\""
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -15,14 +15,21 @@ sha1="ddd46a2e2a16a308245c008721d877455b23bba8"
|
|||||||
target_source_dir="$HOME/patchelf-$patchelf_version"
|
target_source_dir="$HOME/patchelf-$patchelf_version"
|
||||||
|
|
||||||
if [ ! -d "$target_source_dir" ]; then
|
if [ ! -d "$target_source_dir" ]; then
|
||||||
InstallFromCompressedFileFromURL "$url_cached" "$url_public" "$sha1" "$HOME" ""
|
InstallFromCompressedFileFromURL "$url_cached" "$url_public" "$sha1" "$HOME" ""
|
||||||
fi
|
fi
|
||||||
|
|
||||||
pushd "$target_source_dir"
|
pushd "$target_source_dir" || exit
|
||||||
|
|
||||||
./bootstrap.sh
|
./bootstrap.sh
|
||||||
./configure
|
./configure
|
||||||
make
|
make
|
||||||
sudo make install
|
sudo make install
|
||||||
|
|
||||||
popd
|
popd || exit
|
||||||
|
|
||||||
|
if [[ "$(uname -s)" = "Linux" && -f /etc/redhat-release ]]; then
|
||||||
|
# RHEL-9 with sudo or non-interactive shells do not include /usr/local/bin/ in PATH
|
||||||
|
# Add a symlink so patchelf is found in later scripts
|
||||||
|
echo "Creating symlink for patchelf in /usr/bin"
|
||||||
|
sudo ln -sf /usr/local/bin/patchelf /usr/bin/patchelf
|
||||||
|
fi
|
||||||
|
|||||||
@@ -63,6 +63,7 @@ cmake "$targetDir" -G"Ninja Multi-Config" \
|
|||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
|
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
|
||||||
-DCMAKE_CONFIGURATION_TYPES="Release;Debug;RelWithDebugInfo" \
|
-DCMAKE_CONFIGURATION_TYPES="Release;Debug;RelWithDebugInfo" \
|
||||||
-DCMAKE_INSTALL_PREFIX="$installPrefix" \
|
-DCMAKE_INSTALL_PREFIX="$installPrefix" \
|
||||||
|
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||||
"${extraCMakeArgs[@]}" \
|
"${extraCMakeArgs[@]}" \
|
||||||
"$extraOpenSslArg" \
|
"$extraOpenSslArg" \
|
||||||
-DgRPC_BUILD_TESTS=OFF \
|
-DgRPC_BUILD_TESTS=OFF \
|
||||||
|
|||||||
@@ -13,14 +13,17 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
|
|||||||
|
|
||||||
sslVersionForLatest="3.0.7"
|
sslVersionForLatest="3.0.7"
|
||||||
ndkVersionLatest="r27c"
|
ndkVersionLatest="r27c"
|
||||||
prebuiltOpensslShaLatest="733cff853b6ee7738e78b90f46b5f028c8490e1e"
|
featureSuffixLatest="_16kb"
|
||||||
|
prebuiltOpensslShaLatest="2cc15dd990460c2c7157ab257a47071fbd9e0ac8"
|
||||||
|
|
||||||
ndkVersionNightly1=$ndkVersionLatest
|
ndkVersionNightly1=$ndkVersionLatest
|
||||||
sslVersionForNightly1=$sslVersionForLatest
|
sslVersionForNightly1=$sslVersionForLatest
|
||||||
|
featureSuffixNightly1=""
|
||||||
prebuiltOpensslShaNightly1=$prebuiltOpensslShaLatest
|
prebuiltOpensslShaNightly1=$prebuiltOpensslShaLatest
|
||||||
|
|
||||||
ndkVersionNightly2=$ndkVersionLatest
|
ndkVersionNightly2=$ndkVersionLatest
|
||||||
sslVersionForNightly2=$sslVersionForLatest
|
sslVersionForNightly2=$sslVersionForLatest
|
||||||
|
featureSuffixNightly2=""
|
||||||
prebuiltOpensslShaNightly2=$prebuiltOpensslShaLatest
|
prebuiltOpensslShaNightly2=$prebuiltOpensslShaLatest
|
||||||
|
|
||||||
: <<'EOB' SOURCE BUILD INSTRUCTIONS - Openssl prebuilt was made using Android NDK r27c
|
: <<'EOB' SOURCE BUILD INSTRUCTIONS - Openssl prebuilt was made using Android NDK r27c
|
||||||
@@ -58,32 +61,46 @@ EOB
|
|||||||
function InstallPrebuiltOpenssl() {
|
function InstallPrebuiltOpenssl() {
|
||||||
|
|
||||||
ndkVersion=$1
|
ndkVersion=$1
|
||||||
sha=$2
|
suffix=$2
|
||||||
sslVersion=$3
|
sha=$3
|
||||||
|
sslVersion=$4
|
||||||
|
|
||||||
opensslHome="${HOME}/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}"
|
renamed_root="${HOME}/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}${suffix}"
|
||||||
if [[ ! -d ${opensslHome} ]]; then
|
|
||||||
prebuiltUrl="http://ci-files01-hki.ci.qt.io/input/openssl/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}.zip"
|
|
||||||
targetFile="/tmp/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}.zip"
|
|
||||||
|
|
||||||
DownloadURL "$prebuiltUrl" "$prebuiltUrl" "$sha" "$targetFile"
|
prebuiltUrl="http://ci-files01-hki.ci.qt.io/input/openssl/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}${suffix}.zip"
|
||||||
unzip -o "$targetFile" -d "${HOME}"
|
targetFile="/tmp/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}${suffix}.zip"
|
||||||
sudo rm -f "$targetFile"
|
|
||||||
|
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
|
fi
|
||||||
|
|
||||||
|
mv "$temp_openssl_root" "$renamed_root"
|
||||||
|
rm -rf "$tmp_extract"
|
||||||
|
|
||||||
|
opensslHome="${renamed_root}"
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ "$ndkVersionNightly1" != "$ndkVersionLatest" ]; then
|
if [ "$ndkVersionNightly1" != "$ndkVersionLatest" ]; then
|
||||||
InstallPrebuiltOpenssl $ndkVersionNightly1 $prebuiltOpensslShaNightly1 $sslVersionForNightly1
|
InstallPrebuiltOpenssl "$ndkVersionNightly1" "$featureSuffixNightly1" "$prebuiltOpensslShaNightly1" "$sslVersionForNightly1"
|
||||||
SetEnvVar "OPENSSL_ANDROID_HOME_NIGHTLY1" "$opensslHome"
|
SetEnvVar "OPENSSL_ANDROID_HOME_NIGHTLY1" "$opensslHome"
|
||||||
echo "OpenSSL for Android $ndkVersionNightly1 = $sslVersionForNightly1" >> ~/versions.txt
|
echo "OpenSSL for Android $ndkVersionNightly1 = $sslVersionForNightly1" >> ~/versions.txt
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$ndkVersionNightly2" != "$ndkVersionLatest" ]; then
|
if [ "$ndkVersionNightly2" != "$ndkVersionLatest" ]; then
|
||||||
InstallPrebuiltOpenssl $ndkVersionNightly2 $prebuiltOpensslShaNightly2 $sslVersionForNightly2
|
InstallPrebuiltOpenssl "$ndkVersionNightly2" "$featureSuffixNightly2" "$prebuiltOpensslShaNightly2" "$sslVersionForNightly2"
|
||||||
SetEnvVar "OPENSSL_ANDROID_HOME_NIGHTLY2" "$opensslHome"
|
SetEnvVar "OPENSSL_ANDROID_HOME_NIGHTLY2" "$opensslHome"
|
||||||
echo "OpenSSL for Android $ndkVersionNightly2 = $sslVersionForNightly2" >> ~/versions.txt
|
echo "OpenSSL for Android $ndkVersionNightly2 = $sslVersionForNightly2" >> ~/versions.txt
|
||||||
fi
|
fi
|
||||||
|
|
||||||
InstallPrebuiltOpenssl $ndkVersionLatest $prebuiltOpensslShaLatest $sslVersionForLatest
|
InstallPrebuiltOpenssl "$ndkVersionLatest" "$featureSuffixLatest" "$prebuiltOpensslShaLatest" "$sslVersionForLatest"
|
||||||
SetEnvVar "OPENSSL_ANDROID_HOME_LATEST" "$opensslHome"
|
SetEnvVar "OPENSSL_ANDROID_HOME_LATEST" "$opensslHome"
|
||||||
echo "OpenSSL for Android $ndkVersionLatest = $sslVersionForLatest" >> ~/versions.txt
|
echo "OpenSSL for Android $ndkVersionLatest = $sslVersionForLatest" >> ~/versions.txt
|
||||||
|
|||||||
@@ -34,8 +34,8 @@ $ndkOfficialUrlNightly2 = "https://dl.google.com/android/repository/android-ndk-
|
|||||||
$toolsVersion = "2.1"
|
$toolsVersion = "2.1"
|
||||||
$toolsFile = "commandlinetools-win-6609375_latest.zip"
|
$toolsFile = "commandlinetools-win-6609375_latest.zip"
|
||||||
$sdkApi = "ANDROID_API_VERSION"
|
$sdkApi = "ANDROID_API_VERSION"
|
||||||
$sdkApiLevel = "android-35"
|
$sdkApiLevel = "android-36"
|
||||||
$sdkBuildToolsVersion = "35.0.1"
|
$sdkBuildToolsVersion = "36.0.0"
|
||||||
$toolsCachedUrl= "\\ci-files01-hki.ci.qt.io\provisioning\android\$toolsFile"
|
$toolsCachedUrl= "\\ci-files01-hki.ci.qt.io\provisioning\android\$toolsFile"
|
||||||
$toolsOfficialUrl = "https://dl.google.com/android/repository/$toolsFile"
|
$toolsOfficialUrl = "https://dl.google.com/android/repository/$toolsFile"
|
||||||
$toolsChecksum = "e2e19c2ff584efa87ef0cfdd1987f92881323208"
|
$toolsChecksum = "e2e19c2ff584efa87ef0cfdd1987f92881323208"
|
||||||
|
|||||||
21
coin/provisioning/common/windows/drivers_versions.ps1
Normal file
21
coin/provisioning/common/windows/drivers_versions.ps1
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
# Copyright (C) 2025 The Qt Company Ltd.
|
||||||
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||||
|
|
||||||
|
# This script will output usable drivers' versions in provision log
|
||||||
|
|
||||||
|
function LogDriverVersion
|
||||||
|
{
|
||||||
|
Param (
|
||||||
|
[string]$Name = $(BadParam("a name of the driver"))
|
||||||
|
)
|
||||||
|
|
||||||
|
$version = (Get-WmiObject Win32_PnPSignedDriver -Filter "DeviceName = '$Name'" | Format-Table Driverversion -HideTableHeaders | Out-String).Trim()
|
||||||
|
if ([string]::IsNullOrEmpty($version) -eq $true) {
|
||||||
|
Write-Host "No driver version found: '$Name'"
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
Write-Host "$Name = $version"
|
||||||
|
}
|
||||||
|
|
||||||
|
LogDriverVersion "VirtIO Serial Driver"
|
||||||
@@ -382,3 +382,22 @@ function Invoke-MtCommand {
|
|||||||
& $Env:SystemRoot\system32\cmd.exe /c $cmdLine | Write-Output
|
& $Env:SystemRoot\system32\cmd.exe /c $cmdLine | Write-Output
|
||||||
Remove-Item $tempFile
|
Remove-Item $tempFile
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function Invoke-NMake {
|
||||||
|
param([string[]]$NmakeArgs)
|
||||||
|
# Temporarily remove MAKE flags for NMAKE process
|
||||||
|
$old = @{
|
||||||
|
MAKEFLAGS = (Get-Item Env:MAKEFLAGS -ErrorAction Ignore).Value
|
||||||
|
MFLAGS = (Get-Item Env:MFLAGS -ErrorAction Ignore).Value
|
||||||
|
MAKE = (Get-Item Env:MAKE -ErrorAction Ignore).Value
|
||||||
|
NMAKEFLAGS = (Get-Item Env:NMAKEFLAGS -ErrorAction Ignore).Value
|
||||||
|
}
|
||||||
|
foreach ($n in $old.Keys) {Remove-Item "Env:$n" -ErrorAction SilentlyContinue}
|
||||||
|
try {& nmake @NmakeArgs}
|
||||||
|
finally {
|
||||||
|
foreach ($n in $old.Keys) {
|
||||||
|
if ($old[$n]) {Set-EnvironmentVariable -Key "$n" -Value $old[$n]}
|
||||||
|
else {Remove-Item "Env:$n" -ErrorAction SilentlyContinue}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -7,9 +7,9 @@
|
|||||||
# This script will install FFmpeg
|
# This script will install FFmpeg
|
||||||
$msys = "C:\Utils\msys64\usr\bin\bash"
|
$msys = "C:\Utils\msys64\usr\bin\bash"
|
||||||
|
|
||||||
$version="n7.1.1"
|
$version="n7.1.3"
|
||||||
$url_public="https://github.com/FFmpeg/FFmpeg/archive/refs/tags/$version.tar.gz"
|
$url_public="https://github.com/FFmpeg/FFmpeg/archive/refs/tags/$version.tar.gz"
|
||||||
$sha1="479291e8555fe036ca760f95cea829a21e9b8365"
|
$sha1="27051817deec88bed3b9652d49f9127d22268d83"
|
||||||
$url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/$version.tar.gz"
|
$url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/$version.tar.gz"
|
||||||
$ffmpeg_name="FFmpeg-$version"
|
$ffmpeg_name="FFmpeg-$version"
|
||||||
|
|
||||||
@@ -205,7 +205,8 @@ function InstallAndroidArmv7 {
|
|||||||
[string]$ndk_root,
|
[string]$ndk_root,
|
||||||
[string]$ffmpeg_dir_android_envvar_name,
|
[string]$ffmpeg_dir_android_envvar_name,
|
||||||
[string]$ndk_version,
|
[string]$ndk_version,
|
||||||
[string]$android_openssl_path # OpenSSL is built for Android using NDK, NDK versions for OpenSSL+FFmpeg should match
|
[string]$android_openssl_path, # OpenSSL is built for Android using NDK, NDK versions for OpenSSL+FFmpeg should match
|
||||||
|
[string]$android_page_size
|
||||||
)
|
)
|
||||||
$shared=$true
|
$shared=$true
|
||||||
$target_toolchain_arch="armv7a-linux-androideabi"
|
$target_toolchain_arch="armv7a-linux-androideabi"
|
||||||
@@ -227,8 +228,10 @@ function InstallAndroidArmv7 {
|
|||||||
$strip="${toolchain_bin}/llvm-strip.exe"
|
$strip="${toolchain_bin}/llvm-strip.exe"
|
||||||
$openssl_path = $android_openssl_path.Replace("\", "/")
|
$openssl_path = $android_openssl_path.Replace("\", "/")
|
||||||
|
|
||||||
New-Item -ItemType SymbolicLink -Path ${openssl_path}/armeabi-v7a/libcrypto.so -Target ${openssl_path}/armeabi-v7a/libcrypto_3.so
|
Write-Host "Copying _3.so's to .so's"
|
||||||
New-Item -ItemType SymbolicLink -Path ${openssl_path}/armeabi-v7a/libssl.so -Target ${openssl_path}/armeabi-v7a/libssl_3.so
|
Copy-Item -Path ${openssl_path}/armeabi-v7a/libcrypto_3.so -Destination ${openssl_path}/armeabi-v7a/libcrypto.so
|
||||||
|
Copy-Item -Path ${openssl_path}/armeabi-v7a/libssl_3.so -Destination ${openssl_path}/armeabi-v7a/libssl.so
|
||||||
|
|
||||||
|
|
||||||
$config = GetFfmpegDefaultConfiguration
|
$config = GetFfmpegDefaultConfiguration
|
||||||
$config += " --enable-cross-compile --target-os=android --enable-jni --enable-mediacodec --enable-openssl --enable-pthreads --enable-neon --disable-asm --disable-indev=android_camera"
|
$config += " --enable-cross-compile --target-os=android --enable-jni --enable-mediacodec --enable-openssl --enable-pthreads --enable-neon --disable-asm --disable-indev=android_camera"
|
||||||
@@ -236,6 +239,16 @@ function InstallAndroidArmv7 {
|
|||||||
$config += " --cc=${cc} --cxx=${cxx} --ar=${ar} --ranlib=${ranlib}"
|
$config += " --cc=${cc} --cxx=${cxx} --ar=${ar} --ranlib=${ranlib}"
|
||||||
$config += " --extra-cflags=-I${android_openssl_path}/include --extra-ldflags=-L${android_openssl_path}/armeabi-v7a"
|
$config += " --extra-cflags=-I${android_openssl_path}/include --extra-ldflags=-L${android_openssl_path}/armeabi-v7a"
|
||||||
$config += " --extra-cflags=-I${openssl_path}/include --extra-ldflags=-L${openssl_path}/armeabi-v7a"
|
$config += " --extra-cflags=-I${openssl_path}/include --extra-ldflags=-L${openssl_path}/armeabi-v7a"
|
||||||
|
if ($android_page_size -eq "use_16kb_page_size"){
|
||||||
|
$config += " --extra-ldflags=-Wl,-z,max-page-size=16384"
|
||||||
|
Write-Host "FFmpeg Android using 16KB page sizes"
|
||||||
|
} elseif ($android_page_size -eq "use_4kb_page_size") {
|
||||||
|
Write-Host "FFmpeg Android using 4KB page sizes"
|
||||||
|
} else {
|
||||||
|
Write-Host "Error: FFmpeg Android page_size must be: use_16kb_page_size or: use_16kb_page_size got: $android_page_size"
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
$config += " --strip=$strip"
|
$config += " --strip=$strip"
|
||||||
|
|
||||||
$buildSystem = "android-arm"
|
$buildSystem = "android-arm"
|
||||||
@@ -283,7 +296,7 @@ function InstallFfmpegsAMD64 {
|
|||||||
$llvmMingwRes = InstallLlvmMingwFfmpeg
|
$llvmMingwRes = InstallLlvmMingwFfmpeg
|
||||||
if ($env:ANDROID_NDK_ROOT_LATEST) {
|
if ($env:ANDROID_NDK_ROOT_LATEST) {
|
||||||
Write-Host "Install ffmpeg using latest supported Android NDK"
|
Write-Host "Install ffmpeg using latest supported Android NDK"
|
||||||
$androidArmV7Res = InstallAndroidArmv7 -ndk_root $env:ANDROID_NDK_ROOT_LATEST -ffmpeg_dir_android_envvar_name "FFMPEG_DIR_ANDROID_ARMV7_NDK_LATEST" -ndk_version "latest" -android_openssl_path $env:OPENSSL_ANDROID_HOME_LATEST
|
$androidArmV7Res = InstallAndroidArmv7 -ndk_root $env:ANDROID_NDK_ROOT_LATEST -ffmpeg_dir_android_envvar_name "FFMPEG_DIR_ANDROID_ARMV7_NDK_LATEST" -ndk_version "latest" -android_openssl_path $env:OPENSSL_ANDROID_HOME_LATEST -android_page_size "use_4kb_page_size"
|
||||||
} else {
|
} else {
|
||||||
throw "Error: env.var ANDROID_NDK_ROOT_LATEST is not set for FFmpeg"
|
throw "Error: env.var ANDROID_NDK_ROOT_LATEST is not set for FFmpeg"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,6 @@
|
|||||||
# This script will install Java SE
|
# This script will install Java SE
|
||||||
# https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html
|
# https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html
|
||||||
$version_major = "17"
|
$version_major = "17"
|
||||||
$installdir = "C:\Program Files\Java\jdk-$version_major"
|
|
||||||
|
|
||||||
$cpu_arch = Get-CpuArchitecture
|
$cpu_arch = Get-CpuArchitecture
|
||||||
switch ($cpu_arch) {
|
switch ($cpu_arch) {
|
||||||
@@ -19,6 +18,9 @@ switch ($cpu_arch) {
|
|||||||
$url_official = "https://aka.ms/download-jdk/microsoft-jdk-${version}-windows-${arch}.msi"
|
$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"
|
$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\microsoft-jdk-${version}-windows-${arch}.msi"
|
||||||
$javaPackage = "C:\Windows\Temp\jdk-$version.msi"
|
$javaPackage = "C:\Windows\Temp\jdk-$version.msi"
|
||||||
|
# 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"
|
||||||
Break
|
Break
|
||||||
}
|
}
|
||||||
x64 {
|
x64 {
|
||||||
@@ -28,6 +30,7 @@ switch ($cpu_arch) {
|
|||||||
$url_official = "https://download.oracle.com/java/17/archive/jdk-${version}_windows-${arch}_bin.exe"
|
$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"
|
$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\jdk-$version-windows-$arch.exe"
|
||||||
$javaPackage = "C:\Windows\Temp\jdk-$version.exe"
|
$javaPackage = "C:\Windows\Temp\jdk-$version.exe"
|
||||||
|
$installdir = "C:\Program Files\Java\jdk-$version_major"
|
||||||
Break
|
Break
|
||||||
}
|
}
|
||||||
default {
|
default {
|
||||||
|
|||||||
@@ -10,17 +10,17 @@ $temp = "$env:tmp"
|
|||||||
$cpu_arch = Get-CpuArchitecture
|
$cpu_arch = Get-CpuArchitecture
|
||||||
switch ($cpu_arch) {
|
switch ($cpu_arch) {
|
||||||
arm64 {
|
arm64 {
|
||||||
$zipPackage = "OpenSSH-ARM64"
|
$base_file_name = "OpenSSH-ARM64"
|
||||||
$sha1 = "ca3e8f44a550b7ae71c8e122acd4ed905d66feb0"
|
$sha1 = "ca3e8f44a550b7ae71c8e122acd4ed905d66feb0"
|
||||||
Break
|
Break
|
||||||
}
|
}
|
||||||
x64 {
|
x64 {
|
||||||
$zipPackage = "OpenSSH-Win64"
|
$base_file_name = "OpenSSH-Win64"
|
||||||
$sha1 = "1397d40d789ae0911b3cc818b9dcd9321fed529b"
|
$sha1 = "1397d40d789ae0911b3cc818b9dcd9321fed529b"
|
||||||
Break
|
Break
|
||||||
}
|
}
|
||||||
x86 {
|
x86 {
|
||||||
$zipPackage = "OpenSSH-Win32"
|
$base_file_name = "OpenSSH-Win32"
|
||||||
$sha1 = "4642C62F72C108C411E27CE282A863791B63329B"
|
$sha1 = "4642C62F72C108C411E27CE282A863791B63329B"
|
||||||
Break
|
Break
|
||||||
}
|
}
|
||||||
@@ -29,20 +29,27 @@ switch ($cpu_arch) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Write-Host "Fetching $zipPackage $version..."
|
Write-Host "Fetching $base_file_name $version..."
|
||||||
$url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/openssh/" + $version + "/" + $zipPackage + ".zip"
|
$url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/openssh/$version/$base_file_name.zip"
|
||||||
$url_official = "https://github.com/PowerShell/Win32-OpenSSH/releases/download/" + $version + "/" + $zipPackage + ".zip"
|
$url_official = "https://github.com/PowerShell/Win32-OpenSSH/releases/download/$version/$base_file_name.zip"
|
||||||
Download $url_official $url_cache "$temp\$zipPackage"
|
$output_zip_file = "$temp\$base_file_name.zip"
|
||||||
Verify-Checksum "$temp\$zipPackage" $sha1
|
Download $url_official $url_cache $output_zip_file
|
||||||
|
Verify-Checksum $output_zip_file $sha1
|
||||||
|
|
||||||
Write-Host "Extracting the package"
|
Write-Host "Extracting the package"
|
||||||
Extract-7Zip "$temp\$zipPackage" C:\"Program Files"
|
Extract-7Zip $output_zip_file "C:\Program Files"
|
||||||
|
# We assume the incoming zip contains exactly one directory, named the same
|
||||||
|
# as the base file name of th zip.
|
||||||
|
$output_dir = "C:\Program Files\$base_file_name"
|
||||||
|
if (-not (Test-Path $output_dir -PathType Container)) {
|
||||||
|
throw "Error. Expected output directory '$output_dir' does not exist."
|
||||||
|
}
|
||||||
|
|
||||||
Write-Host "Installing $zipPackage $version..."
|
Write-Host "Installing $base_file_name $version..."
|
||||||
$path = "C:\Program Files\" + $zipPackage + "\install-sshd.ps1"
|
$install_script = "$output_dir\install-sshd.ps1"
|
||||||
|
|
||||||
# Installation done as shown at https://github.com/PowerShell/Win32-OpenSSH/wiki/Install-Win32-OpenSSH
|
# Installation done as shown at https://github.com/PowerShell/Win32-OpenSSH/wiki/Install-Win32-OpenSSH
|
||||||
powershell.exe -ExecutionPolicy Bypass -File $path
|
powershell.exe -ExecutionPolicy Bypass -File $install_script
|
||||||
netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
|
netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
|
||||||
net start sshd
|
net start sshd
|
||||||
Set-Service sshd -StartupType Automatic
|
Set-Service sshd -StartupType Automatic
|
||||||
|
|||||||
@@ -3,14 +3,34 @@
|
|||||||
|
|
||||||
# Install mozilla sccache
|
# Install mozilla sccache
|
||||||
|
|
||||||
param(
|
|
||||||
[string]$arch="x86_64-pc-windows-msvc",
|
|
||||||
[string]$version="0.2.14",
|
|
||||||
[string]$sha1="bbdceb59d6fd7b6a3af02fb36f65c8bf324757b0"
|
|
||||||
)
|
|
||||||
|
|
||||||
. "$PSScriptRoot\helpers.ps1"
|
. "$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
|
$basename = "sccache-" + $version + "-" + $arch
|
||||||
$zipfile = $basename + ".tar.gz"
|
$zipfile = $basename + ".tar.gz"
|
||||||
$tempfile = "C:\Windows\Temp\" + $zipfile
|
$tempfile = "C:\Windows\Temp\" + $zipfile
|
||||||
@@ -28,6 +48,9 @@ Remove-Item -Path $tempfile
|
|||||||
# Turnoff idle timeout to avoid sccache shutting down
|
# Turnoff idle timeout to avoid sccache shutting down
|
||||||
Set-EnvironmentVariable "SCCACHE_IDLE_TIMEOUT" "0"
|
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
|
# add sccache to PATH
|
||||||
Set-EnvironmentVariable "PATH" "C:\Program Files\$basename\;$([Environment]::GetEnvironmentVariable('PATH', 'Machine'))"
|
Set-EnvironmentVariable "PATH" "C:\Program Files\$basename\;$([Environment]::GetEnvironmentVariable('PATH', 'Machine'))"
|
||||||
|
|
||||||
|
|||||||
@@ -2,11 +2,12 @@
|
|||||||
|
|
||||||
# This script installs Windows App SDK
|
# This script installs Windows App SDK
|
||||||
|
|
||||||
$script:nugetPackage = "nuget.exe"
|
$script:nugetVersion = "v6.11.0"
|
||||||
|
$script:nugetPackage = "nuget_$nugetVersion.exe"
|
||||||
$script:packageRoot = "C:\Utils\WindowsAppSdk\"
|
$script:packageRoot = "C:\Utils\WindowsAppSdk\"
|
||||||
|
|
||||||
$script:cachedUrl = "\\ci-files01-hki.ci.qt.io\provisioning\windows\nuget\$nugetPackage"
|
$script:cachedUrl = "\\ci-files01-hki.ci.qt.io\provisioning\windows\nuget\$nugetPackage"
|
||||||
$script:officialUrl = "https://dist.nuget.org/win-x86-commandline/v6.11.0/nuget.exe"
|
$script:officialUrl = "https://dist.nuget.org/win-x86-commandline/$nugetVersion/nuget.exe"
|
||||||
$script:sdkChecksumSha1 = "5443887cfb5283da5021388d146ebb5febdc82e9"
|
$script:sdkChecksumSha1 = "5443887cfb5283da5021388d146ebb5febdc82e9"
|
||||||
$script:package_path = "$packageRoot\\$nugetPackage"
|
$script:package_path = "$packageRoot\\$nugetPackage"
|
||||||
|
|
||||||
|
|||||||
@@ -42,8 +42,7 @@ function BuildZlib {
|
|||||||
)
|
)
|
||||||
|
|
||||||
PrepareBuildEnvironment -HostArchitecture $HostArchitecture -TargetArchitecture $TargetArchitecture
|
PrepareBuildEnvironment -HostArchitecture $HostArchitecture -TargetArchitecture $TargetArchitecture
|
||||||
|
Invoke-NMake -NmakeArgs @('/f', "$MAKEFILE")
|
||||||
nmake /f $MAKEFILE
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function CopySource {
|
function CopySource {
|
||||||
|
|||||||
@@ -54,7 +54,9 @@ installPackages+=(libgbm-dev)
|
|||||||
installPackages+=(libxkbfile-dev)
|
installPackages+=(libxkbfile-dev)
|
||||||
installPackages+=(libxshmfence-dev)
|
installPackages+=(libxshmfence-dev)
|
||||||
installPackages+=(libxss-dev)
|
installPackages+=(libxss-dev)
|
||||||
# installPackages+=(nodejs) too old
|
installPackages+=(rustc)
|
||||||
|
installPackages+=(bindgen)
|
||||||
|
installPackages+=(clang)
|
||||||
installPackages+=(python3-html5lib)
|
installPackages+=(python3-html5lib)
|
||||||
#
|
#
|
||||||
## Common event loop handling
|
## Common event loop handling
|
||||||
@@ -249,6 +251,10 @@ installPackages+=(zlib1g-dev)
|
|||||||
installPackages+=(libusb-1.0-0-dev)
|
installPackages+=(libusb-1.0-0-dev)
|
||||||
# password management support for Qt Creator
|
# password management support for Qt Creator
|
||||||
installPackages+=(libsecret-1-dev)
|
installPackages+=(libsecret-1-dev)
|
||||||
|
installPackages+=(debian-archive-keyring)
|
||||||
|
# Keep zoneinfo up-to-date (COIN-1282)
|
||||||
|
installPackages+=(tzdata)
|
||||||
|
|
||||||
|
|
||||||
echo "Running update for apt"
|
echo "Running update for apt"
|
||||||
waitLoop
|
waitLoop
|
||||||
|
|||||||
0
coin/provisioning/qtci-linux-Debian-11.6-aarch64/09-openssl.sh
Normal file → Executable file
0
coin/provisioning/qtci-linux-Debian-11.6-aarch64/09-openssl.sh
Normal file → Executable file
0
coin/provisioning/qtci-linux-Debian-11.6-aarch64/22-mqtt_broker.sh
Normal file → Executable file
0
coin/provisioning/qtci-linux-Debian-11.6-aarch64/22-mqtt_broker.sh
Normal file → Executable file
0
coin/provisioning/qtci-linux-Debian-11.6-aarch64/60-install_protobuf.sh
Normal file → Executable file
0
coin/provisioning/qtci-linux-Debian-11.6-aarch64/60-install_protobuf.sh
Normal file → Executable file
0
coin/provisioning/qtci-linux-RHEL-8.10-x86_64/01-disable-automounting.sh
Normal file → Executable file
0
coin/provisioning/qtci-linux-RHEL-8.10-x86_64/01-disable-automounting.sh
Normal file → Executable file
0
coin/provisioning/qtci-linux-RHEL-8.10-x86_64/01-disable_net_lso.sh
Normal file → Executable file
0
coin/provisioning/qtci-linux-RHEL-8.10-x86_64/01-disable_net_lso.sh
Normal file → Executable file
0
coin/provisioning/qtci-linux-RHEL-8.10-x86_64/01-install_telegraf.sh
Normal file → Executable file
0
coin/provisioning/qtci-linux-RHEL-8.10-x86_64/01-install_telegraf.sh
Normal file → Executable file
0
coin/provisioning/qtci-linux-RHEL-8.10-x86_64/01-refresh-subscription-manager.sh
Normal file → Executable file
0
coin/provisioning/qtci-linux-RHEL-8.10-x86_64/01-refresh-subscription-manager.sh
Normal file → Executable file
0
coin/provisioning/qtci-linux-RHEL-8.10-x86_64/01-remove_network_manager_secret_key.sh
Normal file → Executable file
0
coin/provisioning/qtci-linux-RHEL-8.10-x86_64/01-remove_network_manager_secret_key.sh
Normal file → Executable file
0
coin/provisioning/qtci-linux-RHEL-8.10-x86_64/01-remove_stable-privacy.sh
Normal file → Executable file
0
coin/provisioning/qtci-linux-RHEL-8.10-x86_64/01-remove_stable-privacy.sh
Normal file → Executable file
0
coin/provisioning/qtci-linux-RHEL-8.10-x86_64/01-set-ulimit.sh
Normal file → Executable file
0
coin/provisioning/qtci-linux-RHEL-8.10-x86_64/01-set-ulimit.sh
Normal file → Executable file
0
coin/provisioning/qtci-linux-RHEL-8.10-x86_64/01-systemsetup.sh
Normal file → Executable file
0
coin/provisioning/qtci-linux-RHEL-8.10-x86_64/01-systemsetup.sh
Normal file → Executable file
35
coin/provisioning/qtci-linux-RHEL-8.10-x86_64/03-enable-repos.sh
Normal file → Executable file
35
coin/provisioning/qtci-linux-RHEL-8.10-x86_64/03-enable-repos.sh
Normal file → Executable file
@@ -14,7 +14,7 @@ while sudo fuser /usr/libexec/packagekitd >/dev/null 2>&1; do
|
|||||||
done
|
done
|
||||||
sudo yum -y remove PackageKit gnome-software
|
sudo yum -y remove PackageKit gnome-software
|
||||||
|
|
||||||
sudo subscription-manager config --rhsm.manage_repos=1
|
sudo subscription-manager config --rhsm.manage_repos=0
|
||||||
sudo subscription-manager refresh
|
sudo subscription-manager refresh
|
||||||
|
|
||||||
# List available RHEL versions and bind with correct one
|
# List available RHEL versions and bind with correct one
|
||||||
@@ -22,10 +22,35 @@ sudo subscription-manager release --list
|
|||||||
sudo subscription-manager release --set=8.10
|
sudo subscription-manager release --set=8.10
|
||||||
sudo yum clean all
|
sudo yum clean all
|
||||||
|
|
||||||
# sudo yum config-manager --enable 'rhceph-4-tools-for-rhel-8-x86_64-rpms'
|
sudo tee "/etc/yum.repos.d/local.repo" > /dev/null <<EOC
|
||||||
sudo yum config-manager --enable 'codeready-builder-for-rhel-8-x86_64-rpms'
|
[rhel-8-for-x86_64-baseos-rpms]
|
||||||
sudo yum config-manager --enable 'rhel-8-for-x86_64-baseos-rpms'
|
metadata_expire = 86400
|
||||||
sudo yum config-manager --enable 'rhel-8-for-x86_64-appstream-rpms'
|
baseurl = http://repo-clones.ci.qt.io/repos/rhel-8-for-x86_64-baseos-rpms
|
||||||
|
ui_repoid_vars = releasever basearch
|
||||||
|
name = Qt Red Hat Enterprise Linux 8 Base OS (RPMs)
|
||||||
|
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||||
|
enabled = 1
|
||||||
|
gpgcheck = 1
|
||||||
|
|
||||||
|
[rhel-8-for-x86_64-appstream-rpms]
|
||||||
|
metadata_expire = 86400
|
||||||
|
baseurl = http://repo-clones.ci.qt.io/repos/rhel-8-for-x86_64-appstream-rpms
|
||||||
|
ui_repoid_vars = releasever basearch
|
||||||
|
name = Qt Red Hat Enterprise Linux 8 Appstream (RPMs)
|
||||||
|
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||||
|
enabled = 1
|
||||||
|
gpgcheck = 1
|
||||||
|
|
||||||
|
[codeready-builder-for-rhel-8-x86_64-rpms]
|
||||||
|
metadata_expire = 86400
|
||||||
|
baseurl = http://repo-clones.ci.qt.io/repos/codeready-builder-for-rhel-8-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'
|
# Epel is required for 'double-conversion-devel', 'libsqlite3x' and 'p7zip'
|
||||||
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
|
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
|
||||||
|
|
||||||
|
|||||||
0
coin/provisioning/qtci-linux-RHEL-8.10-x86_64/03-install-gcc-toolset.sh
Normal file → Executable file
0
coin/provisioning/qtci-linux-RHEL-8.10-x86_64/03-install-gcc-toolset.sh
Normal file → Executable file
9
coin/provisioning/qtci-linux-RHEL-8.10-x86_64/04-install-packages.sh
Normal file → Executable file
9
coin/provisioning/qtci-linux-RHEL-8.10-x86_64/04-install-packages.sh
Normal file → Executable file
@@ -17,8 +17,6 @@ installPackages+=(ca-certificates)
|
|||||||
installPackages+=(git)
|
installPackages+=(git)
|
||||||
installPackages+=(zlib-devel)
|
installPackages+=(zlib-devel)
|
||||||
installPackages+=(glib2-devel)
|
installPackages+=(glib2-devel)
|
||||||
installPackages+=(openssl3)
|
|
||||||
installPackages+=(openssl3-devel)
|
|
||||||
installPackages+=(freetype-devel)
|
installPackages+=(freetype-devel)
|
||||||
installPackages+=(fontconfig-devel)
|
installPackages+=(fontconfig-devel)
|
||||||
installPackages+=(curl-devel)
|
installPackages+=(curl-devel)
|
||||||
@@ -157,10 +155,12 @@ installPackages+=(perl-IPC-Cmd)
|
|||||||
installPackages+=(libsecret-devel)
|
installPackages+=(libsecret-devel)
|
||||||
# For tst_license.pl with all the machines generating SBOM
|
# For tst_license.pl with all the machines generating SBOM
|
||||||
installPackages+=(perl-JSON)
|
installPackages+=(perl-JSON)
|
||||||
|
# Keep zoneinfo up-to-date (COIN-1282)
|
||||||
|
installPackages+=(tzdata)
|
||||||
|
|
||||||
sudo yum -y install "${installPackages[@]}"
|
sudo yum -y install "${installPackages[@]}"
|
||||||
|
|
||||||
sudo dnf -y module install nodejs:16
|
sudo dnf -y module install nodejs:20
|
||||||
|
|
||||||
# We shouldn't use yum to install virtualenv. The one found from package repo is not
|
# We shouldn't use yum to install virtualenv. The one found from package repo is not
|
||||||
# working, but we can use installed pip
|
# working, but we can use installed pip
|
||||||
@@ -184,8 +184,5 @@ echo "GCC = $gccVersion" >> versions.txt
|
|||||||
glibcVersion="$(ldd --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
|
glibcVersion="$(ldd --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
|
||||||
echo "glibc = $glibcVersion" >> versions.txt
|
echo "glibc = $glibcVersion" >> versions.txt
|
||||||
|
|
||||||
OpenSSLVersion="$(openssl3 version |cut -b 9-14)"
|
|
||||||
echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt
|
|
||||||
|
|
||||||
# List all available updates
|
# List all available updates
|
||||||
sudo yum -y list updates
|
sudo yum -y list updates
|
||||||
|
|||||||
0
coin/provisioning/qtci-linux-RHEL-8.10-x86_64/04-p7zip.sh
Normal file → Executable file
0
coin/provisioning/qtci-linux-RHEL-8.10-x86_64/04-p7zip.sh
Normal file → Executable file
0
coin/provisioning/qtci-linux-RHEL-8.10-x86_64/05-install-ninja.sh
Normal file → Executable file
0
coin/provisioning/qtci-linux-RHEL-8.10-x86_64/05-install-ninja.sh
Normal file → Executable file
0
coin/provisioning/qtci-linux-RHEL-8.10-x86_64/05-install-patchelf.sh
Normal file → Executable file
0
coin/provisioning/qtci-linux-RHEL-8.10-x86_64/05-install-patchelf.sh
Normal file → Executable file
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user