1010 build :
1111 strategy :
1212 matrix :
13- os : [macos-14, windows-latest, ubuntu-latest]
13+ os : [macos-14, macos-13, windows-latest, ubuntu-latest]
1414 build_type : [Release]
1515
1616 # The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac.
@@ -20,14 +20,20 @@ jobs:
2020
2121 steps :
2222 - name : List Xcode installations
23- if : matrix .os == 'macos-14 '
23+ if : runner .os == 'macOS '
2424 run : sudo ls -1 /Applications | grep "Xcode"
25- - name : Select Xcode 16.2
25+
26+ - name : Select Xcode 16.2 (macOS 14 ARM)
2627 if : matrix.os == 'macos-14'
2728 run : sudo xcode-select -s /Applications/Xcode_16.2.0.app/Contents/Developer
29+
30+ - name : Select Xcode 15.2 (macOS 13 Intel)
31+ if : matrix.os == 'macos-13'
32+ run : sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer
33+
2834 - uses : actions/checkout@v4
2935 with :
30- submodules : recursive # ← This ensures Eigen is fetched
36+ submodules : recursive
3137
3238 - name : Cache CPM dependencies
3339 uses : actions/cache@v4
@@ -66,19 +72,39 @@ jobs:
6672 libgl1-mesa-dev \
6773 pkg-config
6874
69- - name : Configure CMake
70- run : cmake -S . -B ${{github.workspace}}/build
71- -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
72- -DCMAKE_TOOLCHAIN_FILE=${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake
73- -DCMAKE_CXX_FLAGS="-Wno-error"
74- if : matrix.os != 'windows-latest'
75+ - name : Configure CMake (macOS ARM64)
76+ if : matrix.os == 'macos-14'
77+ run : |
78+ cmake -S . -B ${{github.workspace}}/build \
79+ -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
80+ -DCMAKE_TOOLCHAIN_FILE=${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake \
81+ -DVCPKG_TARGET_TRIPLET=arm64-osx-dynamic \
82+ -DCMAKE_CXX_FLAGS="-Wno-error"
83+
84+ - name : Configure CMake (macOS x64)
85+ if : matrix.os == 'macos-13'
86+ run : |
87+ cmake -S . -B ${{github.workspace}}/build \
88+ -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
89+ -DCMAKE_TOOLCHAIN_FILE=${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake \
90+ -DVCPKG_TARGET_TRIPLET=x64-osx-dynamic \
91+ -DCMAKE_CXX_FLAGS="-Wno-error"
92+
93+ - name : Configure CMake (Linux)
94+ if : matrix.os == 'ubuntu-latest'
95+ run : |
96+ cmake -S . -B ${{github.workspace}}/build \
97+ -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
98+ -DCMAKE_TOOLCHAIN_FILE=${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake \
99+ -DCMAKE_CXX_FLAGS="-Wno-error"
75100
76101 - name : Configure CMake (Windows)
77- run : cmake -S . -B ${{github.workspace}}/build
78- -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
79- -DCMAKE_TOOLCHAIN_FILE=${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake
80- -DCMAKE_CXX_FLAGS="/WX-"
81102 if : matrix.os == 'windows-latest'
103+ run : |
104+ cmake -S . -B ${{github.workspace}}/build \
105+ -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
106+ -DCMAKE_TOOLCHAIN_FILE=${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake \
107+ -DCMAKE_CXX_FLAGS="/WX-"
82108
83109 - name : Build
84110 # Build your program with the given configuration
87113 - name : Upload VST3 artifact
88114 uses : actions/upload-artifact@v4
89115 with :
90- name : XenRoll-${{ matrix.os }}-${{ matrix.build_type }}
116+ name : XenRoll-${{ matrix.os == 'macos-14' && 'macOS-arm64' || matrix.os == 'macos-13' && 'macOS-x64' || matrix.os == 'windows-latest' && 'windows' || 'linux_x86_64' }}-${{ matrix.build_type }}
91117 path : |
92118 ${{github.workspace}}/build/**/XenRoll.vst3/**
93119 ${{github.workspace}}/build/XenRoll_artefacts/**/VST3/*.vst3/**
0 commit comments