Clean up .pro and update Linux CI

This commit is contained in:
Adam Honse 2024-08-10 14:58:47 -05:00
parent 2f31b489e4
commit 3c0041e2fd
2 changed files with 116 additions and 53 deletions

View file

@ -3,6 +3,7 @@
#-----------------------------------------------------------------------# #-----------------------------------------------------------------------#
variables: variables:
GIT_SUBMODULE_STRATEGY: recursive GIT_SUBMODULE_STRATEGY: recursive
GIT_DEPTH: 1
.shared_windows_runners: .shared_windows_runners:
tags: tags:
@ -18,45 +19,97 @@ before_script:
#reusable templates #reusable templates
.ccache_init: &ccache_init .ccache_init: &ccache_init
before_script: before_script:
- apt update - export QT_SELECT=qt5
- apt install -y build-essential qtcreator qt5-default qtdeclarative5-dev qtwebengine5-dev libusb-1.0-0-dev libhidapi-dev pkgconf wget git - export APPIMAGE_EXTRACT_AND_RUN=1
#-----------------------------------------------------------------------# #-----------------------------------------------------------------------#
# Linux (AppImage) 32-bit Build Target # # Linux i386 Build Target #
#-----------------------------------------------------------------------# #-----------------------------------------------------------------------#
build_linux_32: "Linux i386":
<<: *ccache_init <<: *ccache_init
image: i386/ubuntu:bionic image: registry.gitlab.com/openrgbdevelopers/openrgb-linux-ci-deb-builder:bookworm-i386
tags:
- linux
- i386
stage: build stage: build
script: script:
- export QT_SELECT=qt5
- export $(dpkg-architecture) - export $(dpkg-architecture)
- ./scripts/build-plugin.sh - ./scripts/build-plugin.sh
artifacts: artifacts:
name: "${CI_PROJECT_NAME}_Linux_i386_${CI_COMMIT_SHORT_SHA}"
paths: paths:
- libOpenRGBE131ReceiverPlugin.so.1.0.0 - ./libOpenRGBE131ReceiverPlugin.so
expire_in: 30 days expire_in: 30 days
#-----------------------------------------------------------------------# #-----------------------------------------------------------------------#
# Linux (AppImage) 64-bit Build Target # # Linux amd64 Build Target #
#-----------------------------------------------------------------------# #-----------------------------------------------------------------------#
build_linux_64: "Linux amd64":
<<: *ccache_init <<: *ccache_init
image: ubuntu:bionic image: registry.gitlab.com/openrgbdevelopers/openrgb-linux-ci-deb-builder:bookworm-amd64
tags:
- linux
- amd64
stage: build stage: build
script: script:
- export QT_SELECT=qt5
- export $(dpkg-architecture) - export $(dpkg-architecture)
- ./scripts/build-plugin.sh - ./scripts/build-plugin.sh
artifacts: artifacts:
name: "${CI_PROJECT_NAME}_Linux_amd64_${CI_COMMIT_SHORT_SHA}"
paths: paths:
- libOpenRGBE131ReceiverPlugin.so.1.0.0 - ./libOpenRGBE131ReceiverPlugin.so
expire_in: 30 days
#-----------------------------------------------------------------------#
# Linux armhf Build Target #
#-----------------------------------------------------------------------#
"Linux armhf":
<<: *ccache_init
image: registry.gitlab.com/openrgbdevelopers/openrgb-linux-ci-deb-builder:bookworm-armhf
tags:
- linux
- armhf
stage: build
script:
- export QT_SELECT=qt5
- export $(dpkg-architecture)
- ./scripts/build-plugin.sh
artifacts:
name: "${CI_PROJECT_NAME}_Linux_armhf_${CI_COMMIT_SHORT_SHA}"
paths:
- ./libOpenRGBE131ReceiverPlugin.so
expire_in: 30 days
#-----------------------------------------------------------------------#
# Linux arm64 Build Target #
#-----------------------------------------------------------------------#
"Linux arm64":
<<: *ccache_init
image: registry.gitlab.com/openrgbdevelopers/openrgb-linux-ci-deb-builder:bookworm-arm64
tags:
- linux
- arm64
stage: build
script:
- export QT_SELECT=qt5
- export $(dpkg-architecture)
- ./scripts/build-plugin.sh
artifacts:
name: "${CI_PROJECT_NAME}_Linux_arm64_${CI_COMMIT_SHORT_SHA}"
paths:
- ./libOpenRGBE131ReceiverPlugin.so
expire_in: 30 days expire_in: 30 days
#-----------------------------------------------------------------------# #-----------------------------------------------------------------------#
# Windows (32-bit) Build Target # # Windows (32-bit) Build Target #
#-----------------------------------------------------------------------# #-----------------------------------------------------------------------#
build_windows_32: "Windows 32":
extends: extends:
- .shared_windows_runners - .shared_windows_runners
stage: build stage: build
@ -117,7 +170,7 @@ build_windows_32:
#-----------------------------------------------------------------------# #-----------------------------------------------------------------------#
# Windows (64-bit) Build Target # # Windows (64-bit) Build Target #
#-----------------------------------------------------------------------# #-----------------------------------------------------------------------#
build_windows_64: "Windows 64":
extends: extends:
- .shared_windows_runners - .shared_windows_runners
stage: build stage: build
@ -178,7 +231,7 @@ build_windows_64:
#-----------------------------------------------------------------------# #-----------------------------------------------------------------------#
# MacOS Build Target # # MacOS Build Target #
#-----------------------------------------------------------------------# #-----------------------------------------------------------------------#
build_macos_arm64: "MacOS ARM64":
tags: tags:
- macos - macos
stage: build stage: build
@ -186,14 +239,14 @@ build_macos_arm64:
- eval $(/opt/homebrew/bin/brew shellenv) - eval $(/opt/homebrew/bin/brew shellenv)
- qmake OpenRGBE131ReceiverPlugin.pro - qmake OpenRGBE131ReceiverPlugin.pro
- make -j16 - make -j16
- install_name_tool libOpenRGBE131ReceiverPlugin.1.0.0.dylib -change /opt/homebrew/opt/qt@5/lib/QtWidgets.framework/Versions/5/QtWidgets @executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets - install_name_tool libOpenRGBE131ReceiverPlugin.dylib -change /opt/homebrew/opt/qt@5/lib/QtWidgets.framework/Versions/5/QtWidgets @executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets
- install_name_tool libOpenRGBE131ReceiverPlugin.1.0.0.dylib -change /opt/homebrew/opt/qt@5/lib/QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui - install_name_tool libOpenRGBE131ReceiverPlugin.dylib -change /opt/homebrew/opt/qt@5/lib/QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui
- install_name_tool libOpenRGBE131ReceiverPlugin.1.0.0.dylib -change /opt/homebrew/opt/qt@5/lib/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore - install_name_tool libOpenRGBE131ReceiverPlugin.dylib -change /opt/homebrew/opt/qt@5/lib/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore
- codesign --force --verify -s OpenRGB libOpenRGBE131ReceiverPlugin.1.0.0.dylib - codesign --force --verify -s OpenRGB libOpenRGBE131ReceiverPlugin.dylib
artifacts: artifacts:
paths: paths:
- libOpenRGBE131ReceiverPlugin.1.0.0.dylib - libOpenRGBE131ReceiverPlugin.dylib
expire_in: 30 days expire_in: 30 days
rules: rules:
@ -202,7 +255,7 @@ build_macos_arm64:
- if: '$BUILD_MACOS =~ /.+/' - if: '$BUILD_MACOS =~ /.+/'
when: on_success when: on_success
build_macos_intel: "MacOS Intel":
tags: tags:
- macos - macos
stage: build stage: build
@ -210,13 +263,13 @@ build_macos_intel:
- eval $(/usr/local/bin/brew shellenv) - eval $(/usr/local/bin/brew shellenv)
- arch -x86_64 /usr/local/bin/qmake OpenRGBE131ReceiverPlugin.pro - arch -x86_64 /usr/local/bin/qmake OpenRGBE131ReceiverPlugin.pro
- arch -x86_64 make -j16 - arch -x86_64 make -j16
- arch -x86_64 install_name_tool libOpenRGBE131ReceiverPlugin.1.0.0.dylib -change /usr/local/bin/opt/qt@5/lib/QtWidgets.framework/Versions/5/QtWidgets @executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets - arch -x86_64 install_name_tool libOpenRGBE131ReceiverPlugin.dylib -change /usr/local/bin/opt/qt@5/lib/QtWidgets.framework/Versions/5/QtWidgets @executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets
- arch -x86_64 install_name_tool libOpenRGBE131ReceiverPlugin.1.0.0.dylib -change /usr/local/bin/opt/qt@5/lib/QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui - arch -x86_64 install_name_tool libOpenRGBE131ReceiverPlugin.dylib -change /usr/local/bin/opt/qt@5/lib/QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui
- arch -x86_64 install_name_tool libOpenRGBE131ReceiverPlugin.1.0.0.dylib -change /usr/local/bin/opt/qt@5/lib/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore - arch -x86_64 install_name_tool libOpenRGBE131ReceiverPlugin.dylib -change /usr/local/bin/opt/qt@5/lib/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore
- arch -x86_64 codesign --force --verify -s OpenRGB libOpenRGBE131ReceiverPlugin.1.0.0.dylib - arch -x86_64 codesign --force --verify -s OpenRGB libOpenRGBE131ReceiverPlugin.dylib
artifacts: artifacts:
paths: paths:
- libOpenRGBE131ReceiverPlugin.1.0.0.dylib - libOpenRGBE131ReceiverPlugin.dylib
expire_in: 30 days expire_in: 30 days
rules: rules:

View file

@ -11,30 +11,37 @@
QT += \ QT += \
core \ core \
gui \ gui \
widgets \
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets DEFINES += ORGBEXAMPLEPLUGIN_LIBRARY
TEMPLATE = lib
win32:CONFIG += c++17
unix:!macx {
QMAKE_CXXFLAGS += -std=c++17
}
#-----------------------------------------------------------------------------------------------# #-----------------------------------------------------------------------------------------------#
# Automatically generated build information # # Build Configuration #
#-----------------------------------------------------------------------------------------------# #-----------------------------------------------------------------------------------------------#
PLUGIN_VERSION = 0.9 CONFIG += \
GIT_COMMIT_ID = $$system(git --git-dir $$_PRO_FILE_PWD_/.git --work-tree $$_PRO_FILE_PWD_ rev-parse HEAD) plugin \
silent \
DEFINES += \
VERSION_STRING=\\"\"\"$$PLUGIN_VERSION\\"\"\" \
GIT_COMMIT_ID=\\"\"\"$$GIT_COMMIT_ID\\"\"\"
#-----------------------------------------------------------------------------------------------# #-----------------------------------------------------------------------------------------------#
# Application Configuration # # Application Configuration #
#-----------------------------------------------------------------------------------------------# #-----------------------------------------------------------------------------------------------#
TEMPLATE = lib MAJOR = 0
DEFINES += ORGBEXAMPLEPLUGIN_LIBRARY MINOR = 9
REVISION = 1
PLUGIN_VERSION = $$MAJOR"."$$MINOR$$REVISION
#-----------------------------------------------------------------------------------------------#
# Automatically generated build information #
#-----------------------------------------------------------------------------------------------#
GIT_COMMIT_ID = $$system(git --git-dir $$_PRO_FILE_PWD_/.git --work-tree $$_PRO_FILE_PWD_ rev-parse HEAD)
#-----------------------------------------------------------------------------------------------#
# Inject vars in defines #
#-----------------------------------------------------------------------------------------------#
DEFINES += \
VERSION_STRING=\\"\"\"$$PLUGIN_VERSION\\"\"\" \
GIT_COMMIT_ID=\\"\"\"$$GIT_COMMIT_ID\\"\"\"
#-----------------------------------------------------------------------------------------------# #-----------------------------------------------------------------------------------------------#
# Plugin Project Files # # Plugin Project Files #
@ -52,6 +59,9 @@ HEADERS +=
OpenRGBE131ReceiverDialog.h \ OpenRGBE131ReceiverDialog.h \
OpenRGBE131ReceiverPlugin.h \ OpenRGBE131ReceiverPlugin.h \
FORMS += \
OpenRGBE131ReceiverDialog.ui
#-----------------------------------------------------------------------------------------------# #-----------------------------------------------------------------------------------------------#
# OpenRGB Plugin SDK # # OpenRGB Plugin SDK #
#-----------------------------------------------------------------------------------------------# #-----------------------------------------------------------------------------------------------#
@ -80,6 +90,8 @@ HEADERS +=
#-----------------------------------------------------------------------------------------------# #-----------------------------------------------------------------------------------------------#
# Windows-specific Configuration # # Windows-specific Configuration #
#-----------------------------------------------------------------------------------------------# #-----------------------------------------------------------------------------------------------#
win32:CONFIG += c++17
win32:contains(QMAKE_TARGET.arch, x86_64) { win32:contains(QMAKE_TARGET.arch, x86_64) {
LIBS += \ LIBS += \
-lws2_32 \ -lws2_32 \
@ -101,20 +113,18 @@ win32:DEFINES +=
WIN32_LEAN_AND_MEAN WIN32_LEAN_AND_MEAN
#-----------------------------------------------------------------------------------------------# #-----------------------------------------------------------------------------------------------#
# Default rules for deployment. # # Linux-specific Configuration #
#-----------------------------------------------------------------------------------------------# #-----------------------------------------------------------------------------------------------#
unix:!macx { unix:!macx {
target.path = /usr/lib LIBS += -lopenal
QMAKE_CXXFLAGS += -std=c++17 -Wno-psabi
target.path=$$PREFIX/lib/openrgb/plugins/
INSTALLS += target
} }
!isEmpty(target.path): INSTALLS += target #-----------------------------------------------------------------------------------------------#
# MacOS-specific Configuration #
FORMS += \ #-----------------------------------------------------------------------------------------------#
OpenRGBE131ReceiverDialog.ui
#-----------------------------------------------------------------------#
# MacOS-specific Configuration #
#-----------------------------------------------------------------------#
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.15 QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.15
macx: { macx: {
@ -122,5 +132,5 @@ macx: {
LIBS += -framework OpenAL LIBS += -framework OpenAL
} }
RESOURCES += \ RESOURCES += \
resources.qrc resources.qrc