Add CLI to wrap CLAP plugins #584
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Pull Request Validation | |
on: | |
pull_request: | |
branches: | |
- main | |
- next | |
jobs: | |
build_feature: | |
name: ${{ matrix.name }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
include: | |
- os: windows-latest | |
name: Windows External SDK | |
- os: macos-latest | |
name: Mac External SDK | |
- os: ubuntu-latest | |
name: Linux External SDK | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Get Dependencies | |
run: | | |
mkdir deps | |
cd deps | |
git clone https://github.com/free-audio/clap | |
git clone https://github.com/steinbergmedia/vst3sdk | |
cd vst3sdk | |
# temporary workaround, switch to vst3 sdk 3.7.7 | |
git switch --detach v3.7.7_build_19 | |
git submodule update --init --recursive | |
cd ../.. | |
- name: Build project | |
run: | | |
cmake -S . -B ./build -DCMAKE_BUILD_TYPE=Debug -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" -DCLAP_SDK_ROOT=deps/clap -DVST3_SDK_ROOT=deps/vst3sdk -DCLAP_WRAPPER_OUTPUT_NAME=testplug | |
cmake --build ./build --config Debug | |
- name: Show Build Results | |
shell: bash | |
run: | | |
find build -name testplug.vst3 -print | |
find build -name testplug.component -print | |
build_feature_cpm_download: | |
name: ${{ matrix.name }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
include: | |
- os: windows-latest | |
cmakeargs: -A x64 | |
install_ninja: false | |
run_aptget: false | |
name: Windows 64bit MSVC | |
- os: windows-latest | |
cmakeargs: -A x64 -DCLAP_WRAPPER_CXX_STANDARD=20 | |
install_ninja: false | |
run_aptget: false | |
name: Windows 64bit C++20 MSVC | |
- os: windows-latest | |
cmakeargs: -GNinja -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILER=gcc | |
install_ninja: true | |
run_aptget: false | |
name: Windows gcc/minGW | |
#- os: windows-latest | |
# cmakeargs: -GNinja -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang | |
# install_ninja: true | |
# run_aptget: false | |
# name: Windows clang | |
- os: ubuntu-latest | |
cmakeargs: -DCMAKE_CXX_COMPILER=g++-11 -DCMAKE_C_COMPILER=gcc-11 | |
install_ninja: false | |
run_aptget: true | |
name: Linux gcc11 | |
- os: ubuntu-latest | |
cmakeargs: -DCMAKE_CXX_COMPILER=g++-12 -DCMAKE_C_COMPILER=gcc-12 | |
install_ninja: false | |
run_aptget: true | |
name: Linux gcc12 | |
- os: ubuntu-latest | |
cmakeargs: -DCLAP_WRAPPER_CXX_STANDARD=20 -DCMAKE_CXX_COMPILER=g++-12 -DCMAKE_C_COMPILER=gcc-12 | |
install_ninja: false | |
run_aptget: true | |
name: Linux gcc12 C++20 | |
- os: ubuntu-latest | |
cmakeargs: -DCLAP_WRAPPER_CXX_STANDARD=23 -DCMAKE_CXX_COMPILER=g++-12 -DCMAKE_C_COMPILER=gcc-12 | |
install_ninja: false | |
run_aptget: true | |
name: Linux gcc12 C++23 | |
- os: macos-latest | |
cmakeargs: -GNinja | |
install_ninja: true | |
run_aptget: false | |
name: MacOS Ninja | |
- os: macos-latest | |
cmakeargs: -G"Xcode" | |
install_ninja: false | |
run_aptget: false | |
name: MacOS Xcode | |
- os: macos-latest | |
cmakeargs: -G"Ninja Multi-Config" -DCLAP_WRAPPER_CXX_STANDARD=20 | |
install_ninja: true | |
run_aptget: false | |
name: MacOS Ninja Multi C++20 | |
- os: macos-latest | |
cmakeargs: -G"Unix Makefiles" | |
install_ninja: false | |
run_aptget: false | |
name: MacOS Unix Makefiles | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Apt Update | |
if: ${{ matrix.run_aptget }} | |
run: sudo apt-get update | |
- name: Get Deps | |
if: ${{ matrix.run_aptget }} | |
run: sudo apt-get install -y alsa alsa-tools libasound2-dev libjack-dev libgtk-3-dev | |
- name: Install Ninja | |
if: ${{ matrix.install_ninja }} | |
uses: seanmiddleditch/gha-setup-ninja@master | |
- name: Build project | |
run: | | |
cmake -S . -B ./build ${{ matrix.cmakeargs }} -DCMAKE_BUILD_TYPE=Debug -DCLAP_WRAPPER_DOWNLOAD_DEPENDENCIES=TRUE -DCLAP_WRAPPER_BUILD_AUV2=TRUE -DCLAP_WRAPPER_BUILD_STANDALONE=TRUE -DCLAP_WRAPPER_OUTPUT_NAME=downloadplug | |
cmake --build ./build --config Debug | |
- name: Show Build Results | |
shell: bash | |
run: | | |
find build -name downloadplug.vst3 -print | |
find build -name downloadplug.component -print | |
build_feature_clapfirst-test: | |
name: ${{ matrix.name }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
include: | |
- os: windows-latest | |
cmakeargs: -A x64 | |
install_ninja: false | |
run_aptget: false | |
name: ClapFirst Windows 64bit MSVC | |
- os: ubuntu-latest | |
cmakeargs: -DCMAKE_CXX_COMPILER=g++-11 -DCMAKE_C_COMPILER=gcc-11 | |
install_ninja: false | |
run_aptget: true | |
name: ClapFirst Linux gcc11 | |
- os: macos-latest | |
cmakeargs: -G"Xcode" | |
install_ninja: false | |
run_aptget: false | |
name: ClapFirst MacOS Xcode | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Apt Update | |
if: ${{ matrix.run_aptget }} | |
run: sudo apt-get update | |
- name: Get Deps | |
if: ${{ matrix.run_aptget }} | |
run: sudo apt-get install -y alsa alsa-tools libasound2-dev libjack-dev libgtk-3-dev | |
- name: Install Ninja | |
if: ${{ matrix.install_ninja }} | |
uses: seanmiddleditch/gha-setup-ninja@master | |
- name: Build project | |
run: | | |
cmake -S . -B ./build ${{ matrix.cmakeargs }} -DCMAKE_BUILD_TYPE=Debug -DCLAP_WRAPPER_DOWNLOAD_DEPENDENCIES=TRUE -DCLAP_WRAPPER_BUILD_TESTS=TRUE | |
cmake --build ./build --config Debug --target clap-first-distortion_all_plugins | |
- name: Show Build Results | |
shell: bash | |
run: | | |
find build -name "ClapFirst*" -print | |