mirror of
git://code.qt.io/qt/qt5.git
synced 2026-03-18 02:06:20 +08:00
Previously, iOS (where we mostly using static linking) was also using FFmpeg built as static libs, now switch to dynamic libraries, as it was already done for macOS. Requires changes in cmake file in qtmultimedia in order to configure with -DQT_DEPLOY_FFMPEG=TRUE. Pick-to: 6.8 Fixes: QTBUG-120991 Change-Id: I0b014f24db3127697b76c6d1774437faae64a7c8 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
271 lines
14 KiB
YAML
271 lines
14 KiB
YAML
Version: 2
|
|
Include: [
|
|
cmake_platforms_qemu.yaml,
|
|
cmake_platforms_qemu_qnx710.yaml,
|
|
cmake_platforms_target_android.yaml,
|
|
cmake_platforms_wasm.yaml,
|
|
macos.yaml
|
|
]
|
|
Configurations:
|
|
# Build on Ubuntu 22.04 and test on both X11 and Wayland later
|
|
-
|
|
Id: 'ubuntu-22.04-documentation'
|
|
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
|
|
Compiler: 'GCC'
|
|
Features: ['Sccache', 'Documentation', 'UseConfigure', 'DoNotRunTests']
|
|
Configure arguments: '-make examples -developer-build -c++std c++20 -linker gold -qtlibinfix TestInfix -qtnamespace TestNamespace'
|
|
Environment variables: ['NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE']
|
|
-
|
|
Id: 'ubuntu-22.04'
|
|
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
|
|
Compiler: 'GCC'
|
|
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests']
|
|
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
|
|
Environment variables: [
|
|
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
|
|
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DINPUT_headersclean=ON -DQT_DEPLOY_FFMPEG=TRUE'
|
|
]
|
|
# Test on Ubuntu 22.04 X11
|
|
-
|
|
Id: 'ubuntu-22.04-documentation-x11-tests'
|
|
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
|
|
Compiler: 'GCC'
|
|
Features: ['Sccache', 'TestDocs', 'TestOnly']
|
|
Platform dependency: 'ubuntu-22.04-documentation'
|
|
-
|
|
Id: 'ubuntu-22.04-x11-tests'
|
|
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
|
|
Compiler: 'GCC'
|
|
Features: ['Sccache', 'TestOnly']
|
|
Platform dependency: 'ubuntu-22.04'
|
|
# Build on Ubuntu 24.04 ARM64 Wayland and test on offscreen and Wayland later
|
|
-
|
|
Id: 'ubuntu-24.04-arm64'
|
|
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
|
|
Compiler: 'GCC'
|
|
Features: ['UseConfigure', 'DoNotRunTests']
|
|
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput -qpa offscreen\;xcb'
|
|
Environment variables: [
|
|
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
|
|
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DINPUT_headersclean=ON'
|
|
]
|
|
# Test on Ubuntu 24.04 ARM64 offscreen
|
|
-
|
|
Id: 'ubuntu-24.04-arm64-offscreen-tests'
|
|
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
|
|
Compiler: 'GCC'
|
|
Features: ['TestOnly', 'InsignificantTests']
|
|
Environment variables: [
|
|
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
|
|
'QT_QPA_OFFSCREEN_NO_GLX=1',
|
|
'QT_QPA_PLATFORM=offscreen'
|
|
]
|
|
Platform dependency: 'ubuntu-24.04-arm64'
|
|
# Build on Ubuntu 24.04 x64 Wayland and test on both X11 and Wayland (Wayland=default)
|
|
-
|
|
Id: 'ubuntu-24.04-x64-documentation'
|
|
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
|
|
Compiler: 'GCC'
|
|
Features: ['Sccache', 'Documentation', 'UseConfigure', 'DoNotRunTests']
|
|
Configure arguments: '-make examples -developer-build -c++std c++20 -linker gold -qtlibinfix TestInfix -qtnamespace TestNamespace'
|
|
Environment variables: ['NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE']
|
|
-
|
|
Id: 'ubuntu-24.04-x64'
|
|
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
|
|
Compiler: 'GCC'
|
|
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests']
|
|
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
|
|
Environment variables: [
|
|
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
|
|
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON'
|
|
]
|
|
# Test on Ubuntu 24.04 x64 X11
|
|
-
|
|
Id: 'ubuntu-24.04-x64-documentation-x11-tests'
|
|
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
|
Compiler: 'GCC'
|
|
Features: ['Sccache', 'TestOnly', 'InsignificantTests']
|
|
Platform dependency: 'ubuntu-24.04-x64-documentation'
|
|
-
|
|
Id: 'ubuntu-24.04-x64-x11-tests'
|
|
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
|
Compiler: 'GCC'
|
|
Features: ['Sccache', 'TestOnly', 'InsignificantTests']
|
|
Platform dependency: 'ubuntu-24.04-x64'
|
|
-
|
|
Id: 'opensuse-15.5-developer-build'
|
|
Template: 'qtci-linux-openSUSE-15.5-x86_64-52'
|
|
Compiler: 'GCC'
|
|
Features: ['Sccache', 'WarningsAreErrors', 'UseConfigure']
|
|
Configure arguments: '-nomake examples -developer-build'
|
|
Environment variables: [
|
|
'PATH={{.Env.CMAKE_MIN_SUPPORTED_BIN_PATH}}:{{.Env.PATH}}',
|
|
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}',
|
|
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE'
|
|
]
|
|
-
|
|
Id: 'sles-15_sp5-static'
|
|
Template: 'qtci-linux-SLES-15_SP5-x86_64-50'
|
|
Compiler: 'GCC'
|
|
Features: ['Sccache', 'DisableTests', 'UseConfigure']
|
|
Configure arguments: '-nomake examples -static -no-sql-mysql'
|
|
Environment variables: [
|
|
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}',
|
|
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}'
|
|
]
|
|
-
|
|
Id: 'windows-10_22h2-msvc2022'
|
|
Template: 'qtci-windows-10_22H2-x86_64-51'
|
|
Compiler: 'MSVC2022'
|
|
Features: ['Sccache', "DebugAndRelease", 'UseConfigure']
|
|
Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib'
|
|
Environment variables: [
|
|
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\.. -DMySQL_ROOT={{.Env.ENV_MySQL_ROOT}} -DMySQL_LIBRARY_DIR={{.Env.ENV_MySQL_LIBRARY_DIR}}',
|
|
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_native_grpc=OFF -DFEATURE_clangcpp=OFF -DINPUT_headersclean=ON',
|
|
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
|
|
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
|
|
]
|
|
-
|
|
Id: 'windows-11_23H2-msvc2022'
|
|
Template: 'qtci-windows-11_23H2-x86_64-52'
|
|
Compiler: 'MSVC2022'
|
|
Features: ['Sccache', "DebugAndRelease", 'UseConfigure', 'Packaging']
|
|
Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib -c++std c++20'
|
|
Environment variables: [
|
|
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\..',
|
|
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_native_grpc=OFF -DFEATURE_clangcpp=OFF -DINPUT_headersclean=ON',
|
|
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
|
|
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
|
|
]
|
|
-
|
|
Id: 'windows-11_22h2-arm64-msvc2022'
|
|
Template: 'qtci-windows-11_22H2-aarch64-52'
|
|
Compiler: 'MSVC2022'
|
|
Features: ['Packaging', 'DebugAndRelease', 'UseConfigure', 'InsignificantTests']
|
|
Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib -c++std c++20 -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_native_grpc=OFF -DFEATURE_clangcpp=OFF -DFEATURE_qdoc=OFF',
|
|
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
|
|
]
|
|
-
|
|
Id: 'rhel-8.8'
|
|
Template: 'qtci-linux-RHEL-8.8-x86_64-50'
|
|
Compiler: 'GCC'
|
|
Features: ['Packaging', 'Sccache', 'UseConfigure', 'InstallQt5Dependencies']
|
|
Configure arguments: '-nomake examples -release -force-debug-info -headersclean -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
|
|
Environment variables: [
|
|
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}',
|
|
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_native_grpc=OFF -DINPUT_headersclean=ON'
|
|
]
|
|
-
|
|
Id: 'rhel-9.2'
|
|
Template: 'qtci-linux-RHEL-9.2-x86_64-51'
|
|
Compiler: 'GCC'
|
|
Features: ['Sccache', 'UseConfigure', 'InstallQt5Dependencies']
|
|
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'
|
|
]
|
|
# Build on Debian-11.6 and split test on Wayland and offscreen later
|
|
-
|
|
Id: 'debian-11.6-arm64'
|
|
Template: 'qtci-linux-Debian-11.6-aarch64-50'
|
|
Compiler: 'GCC'
|
|
Features: ['Packaging', 'UseConfigure', 'InstallQt5Dependencies', 'DoNotRunTests']
|
|
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-doubleconversion -qt-harfbuzz -no-libudev -bundled-xcb-xinput -qpa offscreen\;xcb'
|
|
Environment variables: [
|
|
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}',
|
|
]
|
|
# Test on Debian-11.6 offscreen
|
|
-
|
|
Id: 'debian-11.6-arm64-offscreen-tests'
|
|
Template: 'qtci-linux-Debian-11.6-aarch64-50'
|
|
Compiler: 'GCC'
|
|
Features: ['Sccache', 'InsignificantTests', 'TestOnly']
|
|
Environment variables: [
|
|
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
|
|
'QT_QPA_OFFSCREEN_NO_GLX=1',
|
|
'QT_QPA_PLATFORM=offscreen'
|
|
]
|
|
Platform dependency: 'debian-11.6-arm64'
|
|
-
|
|
Id: 'ios-universal'
|
|
Template: 'qtci-macos-13-x86_64-103'
|
|
Target os: 'IOS_ANY'
|
|
Target arch: 'arm64'
|
|
Compiler: 'Clang'
|
|
Target compiler: 'Clang'
|
|
Platform dependency: 'macos-universal-on-x86_64'
|
|
Features: ['Packaging', 'Sccache', 'DebugAndRelease', 'DisableTests', 'UseConfigure', 'WarningsAreErrors']
|
|
Environment variables: [
|
|
'TARGET_CONFIGURE_ARGS=-debug-and-release -nomake examples -platform macx-ios-clang',
|
|
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include -DFFMPEG_DIR={{.Env.FFMPEG_DIR_IOS}} -DQT_DEPLOY_FFMPEG=TRUE',
|
|
]
|
|
-
|
|
Id: 'windows-10_22h2-mingw13'
|
|
Template: 'qtci-windows-10_22H2-x86_64-51'
|
|
Compiler: 'Mingw'
|
|
Features: ['Packaging', 'Sccache', 'UseConfigure']
|
|
Configure arguments: '-release -force-debug-info -separate-debug-info -nomake examples'
|
|
Environment variables: [
|
|
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
|
|
'CMAKE_ARGS=-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\.. -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
|
|
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MINGW}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_native_grpc=OFF -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
|
|
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_mingw}}',
|
|
'Protobuf_ROOT={{.Env.Protobuf_ROOT_mingw}}',
|
|
]
|
|
-
|
|
Id: 'windows-11_23H2-llvm'
|
|
Template: 'qtci-windows-11_23H2-x86_64-52'
|
|
Compiler: 'Clang'
|
|
Features: ['Packaging','Sccache', 'UseConfigure']
|
|
Configure arguments: '-release -force-debug-info -separate-debug-info -nomake examples'
|
|
Environment variables: [
|
|
'Path=C:\llvm-mingw\bin;{{.Env.Path}}',
|
|
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\.. -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
|
|
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_LLVM_MINGW}} -DQT_DEPLOY_FFMPEG=TRUE -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
|
|
'LLVM_INSTALL_DIR=C:\llvm-mingw',
|
|
'Protobuf_ROOT={{.Env.Protobuf_ROOT_llvm_mingw}}',
|
|
]
|
|
-
|
|
Id: 'windows-11_23H2-mingw13-developer-build'
|
|
Template: 'qtci-windows-11_23H2-x86_64-52'
|
|
Compiler: 'Mingw'
|
|
Features: ['Sccache', 'WarningsAreErrors', 'UseConfigure']
|
|
Configure arguments: '-developer-build -release -force-debug-info -separate-debug-info -make examples'
|
|
Environment variables: [
|
|
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
|
|
'CMAKE_ARGS=-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c -DMySQL_ROOT={{.Env.ENV_MySQL_ROOT}} -DMySQL_LIBRARY_DIR={{.Env.ENV_MySQL_LIBRARY_DIR}}',
|
|
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MINGW}} -DQT_DEPLOY_FFMPEG=TRUE -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c -DFEATURE_native_grpc=OFF',
|
|
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_mingw}}',
|
|
'Protobuf_ROOT={{.Env.Protobuf_ROOT_mingw}}',
|
|
]
|
|
-
|
|
Id: 'jammy-arm64-debian-pkg-packaging'
|
|
Template: 'qtci-linux-Debian-11.6-aarch64-50'
|
|
Compiler: 'GCC'
|
|
Features: ['Packaging','DebianPackaging','DisableTests', 'Insignificant']
|
|
Environment variables: [
|
|
'DEBIAN_RULES_REF=6.8_dev',
|
|
'COIN_TARGET_DIST=tqtc-jammy',
|
|
'COIN_EXTRA_DEBIAN_PACKAGES={{.Env.HOME}}/debian_packages/',
|
|
'COIN_SBUILD_CHROOT=jammy-arm64-sbuild',
|
|
'COIN_EXTRA_DEBIAN_REPO=deb http://ports.ubuntu.com/ubuntu-ports/ jammy main universe multiverse',
|
|
'COIN_SKIP_DEBIAN_MODULES=qt5 qtqa qtactiveqt qtdoc qtwebengine qtwebview',
|
|
]
|
|
-
|
|
Id: 'jammy-amd64-debian-pkg-packaging'
|
|
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
|
|
Compiler: 'GCC'
|
|
Features: ['Packaging','DebianPackaging','DisableTests', 'Insignificant']
|
|
Environment variables: [
|
|
'DEBIAN_RULES_REF=6.8_dev',
|
|
'COIN_TARGET_DIST=tqtc-jammy',
|
|
'COIN_EXTRA_DEBIAN_PACKAGES={{.Env.HOME}}/debian_packages/',
|
|
'COIN_SBUILD_CHROOT=jammy-amd64-sbuild',
|
|
'COIN_EXTRA_DEBIAN_REPO=deb http://archive.ubuntu.com/ubuntu/ jammy main universe multiverse',
|
|
'COIN_SKIP_DEBIAN_MODULES=qt5 qtqa qtactiveqt qtdoc qtwebengine qtwebview',
|
|
]
|