Skip to content

Build Aeolus plugin #35

Build Aeolus plugin

Build Aeolus plugin #35

Workflow file for this run

name: Build Aeolus plugin
defaults:
run:
shell: bash
on:
workflow_dispatch:
pull_request:
paths-ignore:
- 'docs/**'
push:
branches:
- main
paths-ignore:
- 'docs/**'
env:
type: Release
dir_build: ./build
dir_source: .
jobs:
build:
name: All platforms
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-2019]
include:
- os: ubuntu-latest
name: linux
generator: Unix Makefiles
path: ./build/Aeolus_artefacts/Release
asio: OFF
- os: macos-latest
name: mac
generator: Unix Makefiles
path: ./build/Aeolus_artefacts/Release
asio: OFF
- os: windows-2019
name: win
generator: Visual Studio 16 2019
path: ./build/Aeolus_artefacts/Release
asio: ON
steps:
- name: Install Linux dependencies
if: matrix.os == 'ubuntu-latest'
run: sudo apt-get update && sudo apt-get install ninja-build libx11-dev libfreetype-dev libasound2-dev libxrandr-dev libxinerama-dev libxcursor-dev
- name: Install macOS dependencies
if: matrix.os == 'macos-latest'
run: brew install ninja
- name: Install Windows dependencies
if: matrix.os == 'windows-2019'
run: choco install ninja
- name: Checkout code
uses: actions/checkout@v2
with:
submodules: recursive
- name: Download ASIO SDK
if: matrix.os == 'windows-2019'
shell: cmake -P {0}
env:
ASIOSDK_URL: 'https://download.steinberg.net/sdk_downloads/asiosdk_2.3.3_2019-06-14.zip'
run: |
file(DOWNLOAD $ENV{ASIOSDK_URL} $ENV{GITHUB_WORKSPACE}/asiosdk.zip)
execute_process(COMMAND 7z x $ENV{GITHUB_WORKSPACE}/asiosdk.zip -o$ENV{GITHUB_WORKSPACE})
- name: Build plugin
run: |
cmake \
-G "${{ matrix.generator }}" \
-DWITH_ASIO=${{ matrix.asio }} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" \
-S "${{ env.dir_source }}" \
-B "${{ env.dir_build }}"
cmake --build "${{ env.dir_build }}" --config "${{ env.type }}"
- name: List errors
run: cat "${{ env.dir_build }}/CMakeFiles/CMakeError.log" || true
- name: List files generated
run: |
cd ${{ matrix.path }}
find "$(pwd)"
- uses: actions/upload-artifact@v3
with:
name: aeolus-${{ matrix.name }}
path: |
${{ matrix.path }}/Standalone
${{ matrix.path }}/AU
${{ matrix.path }}/LV2
${{ matrix.path }}/VST3
!${{ matrix.path }}/VST3/*.exp
!${{ matrix.path }}/VST3/*.lib
if-no-files-found: ignore