mirror of
https://github.com/Rosalie241/RMG.git
synced 2025-06-25 14:07:02 -04:00
142 lines
5.6 KiB
YAML
142 lines
5.6 KiB
YAML
name: RMG
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
build-linux:
|
|
runs-on: ubuntu-20.04
|
|
strategy:
|
|
matrix:
|
|
cmake_args: [-DDISCORD_RPC=ON -DDRAG_DROP=ON -DNETPLAY=ON -DVRU=ON -DUSE_ANGRYLION=ON, -DDISCORD_RPC=OFF -DDRAG_DROP=OFF -DNETPLAY=OFF -DVRU=OFF -DUSE_ANGRYLION=OFF]
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
- uses: hendrikmuhs/ccache-action@v1.2
|
|
with:
|
|
key: Linux
|
|
- name: Install Packages
|
|
run: |
|
|
sudo add-apt-repository ppa:okirby/qt6-backports --yes
|
|
sudo apt-get -y install cmake ninja-build libhidapi-dev libsamplerate0-dev libspeex-dev libminizip-dev libsdl2-dev libsdl2-net-dev libfreetype6-dev libgl1-mesa-dev libglu1-mesa-dev pkg-config zlib1g-dev binutils-dev libspeexdsp-dev qt6-base-dev libqt6svg6-dev libqt6websockets6-dev libvulkan-dev build-essential nasm git zip appstream
|
|
- name: Prepare Environment
|
|
run: |
|
|
echo "GIT_REVISION=$(git describe --tags --always)" >> $GITHUB_ENV
|
|
- name: Build RMG (AppImage)
|
|
run: |
|
|
export src_dir="$(pwd)"
|
|
|
|
if [ "${{ matrix.cmake_args }}" == "-DDISCORD_RPC=ON -DDRAG_DROP=ON -DNETPLAY=ON -DVRU=ON -DUSE_ANGRYLION=ON" ]
|
|
then
|
|
export build_dir="$(pwd)/Build/AppImage"
|
|
export bin_dir="$(pwd)/Bin/AppImage"
|
|
else
|
|
export build_dir="$(pwd)/Build/CI"
|
|
export bin_dir="$(pwd)/Bin/CI"
|
|
fi
|
|
|
|
mkdir $build_dir Bin/ -p
|
|
cmake -S "$src_dir" -B "$build_dir" -DCMAKE_BUILD_TYPE="Release" \
|
|
${{ matrix.cmake_args }} \
|
|
-DCMAKE_INSTALL_PREFIX="/usr" \
|
|
-DCMAKE_INSTALL_LIBDIR="lib" \
|
|
-DPORTABLE_INSTALL="OFF" \
|
|
-DUPDATER=ON -DAPPIMAGE_UPDATER=ON \
|
|
-G "Ninja"
|
|
cmake --build "$build_dir"
|
|
cmake --install "$build_dir" --strip --prefix="$bin_dir/usr"
|
|
shell: bash
|
|
- name: Create AppImage
|
|
if: ${{ matrix.cmake_args == '-DDISCORD_RPC=ON -DDRAG_DROP=ON -DNETPLAY=ON -DVRU=ON -DUSE_ANGRYLION=ON' }}
|
|
run: |
|
|
./Package/AppImage/Create.sh
|
|
shell: bash
|
|
- name: Upload RMG (AppImage)
|
|
if: ${{ matrix.cmake_args == '-DDISCORD_RPC=ON -DDRAG_DROP=ON -DNETPLAY=ON -DVRU=ON -DUSE_ANGRYLION=ON' }}
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: RMG-Portable-Linux64-${{ env.GIT_REVISION }}
|
|
path: Bin/*.AppImage
|
|
|
|
build-windows:
|
|
runs-on: windows-2019
|
|
strategy:
|
|
matrix:
|
|
cmake_args: [-DDISCORD_RPC=ON -DDRAG_DROP=ON -DNETPLAY=ON -DVRU=ON -DUSE_ANGRYLION=ON, -DDISCORD_RPC=OFF -DDRAG_DROP=OFF -DNETPLAY=OFF -DVRU=OFF -DUSE_ANGRYLION=OFF]
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
- uses: hendrikmuhs/ccache-action@v1.2
|
|
with:
|
|
key: Windows
|
|
- uses: msys2/setup-msys2@v2
|
|
with:
|
|
path-type: inherit
|
|
update: true
|
|
install: >-
|
|
make
|
|
mingw-w64-x86_64-cmake
|
|
mingw-w64-x86_64-ninja
|
|
mingw-w64-x86_64-gcc
|
|
mingw-w64-x86_64-hidapi
|
|
mingw-w64-x86_64-freetype
|
|
mingw-w64-x86_64-libpng
|
|
mingw-w64-x86_64-SDL2
|
|
mingw-w64-x86_64-SDL2_net
|
|
mingw-w64-x86_64-qt6
|
|
mingw-w64-x86_64-SDL2
|
|
mingw-w64-x86_64-hidapi
|
|
mingw-w64-x86_64-speexdsp
|
|
mingw-w64-x86_64-libsamplerate
|
|
mingw-w64-x86_64-nasm
|
|
mingw-w64-x86_64-minizip
|
|
mingw-w64-x86_64-vulkan-headers
|
|
git
|
|
- name: Prepare Environment
|
|
run: |
|
|
$env:revision = git describe --tags --always
|
|
echo "GIT_REVISION=$env:revision" >> $env:GITHUB_ENV
|
|
shell: pwsh
|
|
- name: Build RMG (Portable)
|
|
run: |
|
|
export src_dir="$(pwd)"
|
|
|
|
if [ "${{ matrix.cmake_args }}" == "-DDISCORD_RPC=ON -DDRAG_DROP=ON -DNETPLAY=ON -DVRU=ON -DUSE_ANGRYLION=ON" ]
|
|
then
|
|
export build_dir="$(pwd)/Build/Release"
|
|
else
|
|
export build_dir="$(pwd)/Build/CI"
|
|
fi
|
|
|
|
cmake -S "$src_dir" -B "$build_dir" -DCMAKE_BUILD_TYPE="Release" \
|
|
${{ matrix.cmake_args }} \
|
|
-DPORTABLE_INSTALL=ON -DUPDATER=ON
|
|
|
|
cmake --build "$build_dir"
|
|
|
|
if [ "${{ matrix.cmake_args }}" == "-DDISCORD_RPC=ON -DDRAG_DROP=ON -DNETPLAY=ON -DVRU=ON -DUSE_ANGRYLION=ON" ]
|
|
then
|
|
cmake --install "$build_dir" --strip --prefix="$src_dir"
|
|
cmake --build "$build_dir" --target=bundle_dependencies
|
|
fi
|
|
shell: msys2 {0}
|
|
- name: Create Installer
|
|
if: ${{ matrix.cmake_args == '-DDISCORD_RPC=ON -DDRAG_DROP=ON -DNETPLAY=ON -DVRU=ON -DUSE_ANGRYLION=ON' }}
|
|
run: .\Build\Release\Source\Installer\CreateInstaller.bat
|
|
- name: Configure RMG (Portable)
|
|
if: ${{ matrix.cmake_args == '-DDISCORD_RPC=ON -DDRAG_DROP=ON -DNETPLAY=ON -DVRU=ON -DUSE_ANGRYLION=ON' }}
|
|
run: touch Bin/Release/portable.txt
|
|
shell: msys2 {0}
|
|
- name: Upload RMG (Portable)
|
|
if: ${{ matrix.cmake_args == '-DDISCORD_RPC=ON -DDRAG_DROP=ON -DNETPLAY=ON -DVRU=ON -DUSE_ANGRYLION=ON' }}
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: RMG-Portable-Windows64-${{ env.GIT_REVISION }}
|
|
path: Bin/Release/*
|
|
- name: Upload RMG (Installer)
|
|
if: ${{ matrix.cmake_args == '-DDISCORD_RPC=ON -DDRAG_DROP=ON -DNETPLAY=ON -DVRU=ON -DUSE_ANGRYLION=ON' }}
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: RMG-Setup-Windows64-${{ env.GIT_REVISION }}
|
|
path: Bin/*.exe
|