3 on: [push, pull_request]
7 name: ${{matrix.config.name}}
8 runs-on: ${{matrix.config.os}}
14 name: "Win32-Release",
16 cmake_opts: "-A Win32 \
18 -DALSOFT_BUILD_ROUTER=ON \
19 -DALSOFT_REQUIRE_WINMM=ON \
20 -DALSOFT_REQUIRE_DSOUND=ON \
21 -DALSOFT_REQUIRE_WASAPI=ON",
27 cmake_opts: "-A Win32 \
29 -DALSOFT_BUILD_ROUTER=ON \
30 -DALSOFT_REQUIRE_WINMM=ON \
31 -DALSOFT_REQUIRE_DSOUND=ON \
32 -DALSOFT_REQUIRE_WASAPI=ON",
36 name: "Win64-Release",
40 -DALSOFT_BUILD_ROUTER=ON \
41 -DALSOFT_REQUIRE_WINMM=ON \
42 -DALSOFT_REQUIRE_DSOUND=ON \
43 -DALSOFT_REQUIRE_WASAPI=ON",
51 -DALSOFT_BUILD_ROUTER=ON \
52 -DALSOFT_REQUIRE_WINMM=ON \
53 -DALSOFT_REQUIRE_DSOUND=ON \
54 -DALSOFT_REQUIRE_WASAPI=ON",
62 -DCMAKE_SYSTEM_NAME=WindowsStore \
63 \"-DCMAKE_SYSTEM_VERSION=10.0\" \
64 -DALSOFT_BUILD_ROUTER=ON \
65 -DALSOFT_REQUIRE_WASAPI=ON",
69 name: "macOS-Release",
71 cmake_opts: "-DALSOFT_REQUIRE_COREAUDIO=ON \
78 cmake_opts: "-GXcode \
79 -DCMAKE_SYSTEM_NAME=iOS \
80 -DALSOFT_REQUIRE_COREAUDIO=ON \
82 -DALSOFT_EXAMPLES=OFF \
84 -DALSOFT_INSTALL=OFF \
85 \"-DCMAKE_OSX_ARCHITECTURES=arm64\"",
89 name: "Linux-Release",
91 cmake_opts: "-DALSOFT_REQUIRE_RTKIT=ON \
92 -DALSOFT_REQUIRE_ALSA=ON \
93 -DALSOFT_REQUIRE_OSS=ON \
94 -DALSOFT_REQUIRE_PORTAUDIO=ON \
95 -DALSOFT_REQUIRE_PULSEAUDIO=ON \
96 -DALSOFT_REQUIRE_JACK=ON \
97 -DALSOFT_REQUIRE_PIPEWIRE=ON \
99 deps_cmdline: "sudo apt update && sudo apt-get install -qq \
104 libpipewire-0.3-dev \
107 build_type: "Release"
111 - uses: actions/checkout@v3
113 - name: Install Dependencies
116 if [[ ! -z "${{matrix.config.deps_cmdline}}" ]]; then
117 eval ${{matrix.config.deps_cmdline}}
123 cmake -B build -DCMAKE_BUILD_TYPE=${{matrix.config.build_type}} ${{matrix.config.cmake_opts}} .
128 cmake --build build --config ${{matrix.config.build_type}}
136 - name: Create Archive
137 if: ${{ matrix.config.os == 'windows-latest' }}
143 cp ${{matrix.config.build_type}}/soft_oal.dll archive
144 cp ${{matrix.config.build_type}}/OpenAL32.dll archive/router
146 - name: Upload Archive
147 # Upload package as an artifact of this workflow.
148 uses: actions/upload-artifact@v3.1.2
149 if: ${{ matrix.config.os == 'windows-latest' }}
151 name: soft_oal-${{matrix.config.name}}