From cc35c8d98c5fbddfbf4a847c847b39de42bd81fa Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Tue, 22 Jul 2025 20:42:55 -0500 Subject: [PATCH] Add Qt6 Linux builds --- .gitlab-ci.yml | 85 ++++++++++++++++++++++++++++++++++++++--- scripts/build-plugin.sh | 17 ++++++++- 2 files changed, 96 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a6702cc..931b00f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -20,9 +20,28 @@ before_script: #reusable templates .ccache_init: &ccache_init before_script: - - export QT_SELECT=qt5 - export APPIMAGE_EXTRACT_AND_RUN=1 +#-----------------------------------------------------------------------# +# Linux i386 Qt6 Build Target # +#-----------------------------------------------------------------------# +"Linux i386 Qt6": + <<: *ccache_init + image: registry.gitlab.com/openrgbdevelopers/openrgb-linux-ci-deb-builder:bookworm-i386 + tags: + - linux + - i386 + stage: build + script: + - export $(dpkg-architecture) + - ./scripts/build-plugin.sh qt6 + + artifacts: + name: "${CI_PROJECT_NAME}_Linux_i386_Qt6_${CI_COMMIT_SHORT_SHA}" + paths: + - ./libOpenRGBE131ReceiverPlugin.so + expire_in: 30 days + #-----------------------------------------------------------------------# # Linux i386 Build Target # #-----------------------------------------------------------------------# @@ -34,7 +53,6 @@ before_script: - i386 stage: build script: - - export QT_SELECT=qt5 - export $(dpkg-architecture) - ./scripts/build-plugin.sh @@ -44,6 +62,26 @@ before_script: - ./libOpenRGBE131ReceiverPlugin.so expire_in: 30 days +#-----------------------------------------------------------------------# +# Linux amd64 Qt6 Build Target # +#-----------------------------------------------------------------------# +"Linux amd64 Qt6": + <<: *ccache_init + image: registry.gitlab.com/openrgbdevelopers/openrgb-linux-ci-deb-builder:bookworm-amd64 + tags: + - linux + - amd64 + stage: build + script: + - export $(dpkg-architecture) + - ./scripts/build-plugin.sh Qt6 + + artifacts: + name: "${CI_PROJECT_NAME}_Linux_amd64_Qt6_${CI_COMMIT_SHORT_SHA}" + paths: + - ./libOpenRGBE131ReceiverPlugin.so + expire_in: 30 days + #-----------------------------------------------------------------------# # Linux amd64 Build Target # #-----------------------------------------------------------------------# @@ -55,7 +93,6 @@ before_script: - amd64 stage: build script: - - export QT_SELECT=qt5 - export $(dpkg-architecture) - ./scripts/build-plugin.sh @@ -65,6 +102,26 @@ before_script: - ./libOpenRGBE131ReceiverPlugin.so expire_in: 30 days +#-----------------------------------------------------------------------# +# Linux armhf Qt6 Build Target # +#-----------------------------------------------------------------------# +"Linux armhf Qt6": + <<: *ccache_init + image: registry.gitlab.com/openrgbdevelopers/openrgb-linux-ci-deb-builder:bookworm-armhf + tags: + - linux + - armhf + stage: build + script: + - export $(dpkg-architecture) + - ./scripts/build-plugin.sh qt6 + + artifacts: + name: "${CI_PROJECT_NAME}_Linux_armhf_Qt6_${CI_COMMIT_SHORT_SHA}" + paths: + - ./libOpenRGBE131ReceiverPlugin.so + expire_in: 30 days + #-----------------------------------------------------------------------# # Linux armhf Build Target # #-----------------------------------------------------------------------# @@ -76,7 +133,6 @@ before_script: - armhf stage: build script: - - export QT_SELECT=qt5 - export $(dpkg-architecture) - ./scripts/build-plugin.sh @@ -86,6 +142,26 @@ before_script: - ./libOpenRGBE131ReceiverPlugin.so expire_in: 30 days +#-----------------------------------------------------------------------# +# Linux arm64 Qt6 Build Target # +#-----------------------------------------------------------------------# +"Linux arm64 Qt6": + <<: *ccache_init + image: registry.gitlab.com/openrgbdevelopers/openrgb-linux-ci-deb-builder:bookworm-arm64 + tags: + - linux + - arm64 + stage: build + script: + - export $(dpkg-architecture) + - ./scripts/build-plugin.sh qt6 + + artifacts: + name: "${CI_PROJECT_NAME}_Linux_arm64_Qt6_${CI_COMMIT_SHORT_SHA}" + paths: + - ./libOpenRGBE131ReceiverPlugin.so + expire_in: 30 days + #-----------------------------------------------------------------------# # Linux arm64 Build Target # #-----------------------------------------------------------------------# @@ -97,7 +173,6 @@ before_script: - arm64 stage: build script: - - export QT_SELECT=qt5 - export $(dpkg-architecture) - ./scripts/build-plugin.sh diff --git a/scripts/build-plugin.sh b/scripts/build-plugin.sh index 9126f3f..26816ca 100755 --- a/scripts/build-plugin.sh +++ b/scripts/build-plugin.sh @@ -7,12 +7,27 @@ set -x set -e +#-----------------------------------------------------------------------# +# Setup environment # +#-----------------------------------------------------------------------# +if [ "$1" = "qt6" ]; then + export QT_SELECT=qt6 +else + export QT_SELECT=qt5 +fi + +if [ "$QT_SELECT" = "qt6" ]; then + export QMAKE=qmake6 +else + export QMAKE=qmake +fi + #-----------------------------------------------------------------------# # Configure build files with qmake # # we need to explicitly set the install prefix, as qmake's default is # # /usr/local for some reason... # #-----------------------------------------------------------------------# -qmake . +$QMAKE . #-----------------------------------------------------------------------# # Build project and install files into AppDir #