@@ -151,54 +151,99 @@ jobs:
151151 run : meson test -C output/mini
152152
153153 build-macos :
154- runs-on : macos-latest
154+ strategy :
155+ matrix :
156+ compiler : [clang]
157+ include :
158+ - compiler : clang
159+ os : macos-latest
160+ cc : clang
161+ cxx : clang++
162+ brew_packages : >
163+ meson ninja
164+ ccache
165+ fmt
166+ googletest
167+ icu4c
168+ ffmpeg
169+ libnfs
170+ libupnp
171+ libid3tag
172+ chromaprint
173+ libsamplerate
174+ libsoxr
175+ flac
176+ opus
177+ libvorbis
178+ faad2
179+ wavpack
180+ libmpdclient
181+ meson_options : --force-fallback-for=fmt,gtest
182+
183+ runs-on : ${{ matrix.os }}
184+
185+ env :
186+ CC : ccache ${{ matrix.cc }}
187+ CXX : ccache ${{ matrix.cxx }}
188+
155189 steps :
156190 - id : checkout
157191 uses : actions/checkout@v4
158192
159- - uses : actions/setup-python@v5
160- with :
161- python-version : 3.x
162-
163193 - name : Install dependencies
164194 run : |
195+ brew update
165196 brew install \
166- meson ninja \
167- ccache \
168- fmt \
169- googletest \
170- icu4c \
171- ffmpeg \
172- libnfs \
173- libupnp \
174- libid3tag \
175- chromaprint \
176- libsamplerate \
177- libsoxr \
178- flac \
179- opus \
180- libvorbis \
181- faad2 \
182- wavpack \
183- libmpdclient
197+ ${{ matrix.brew_packages }}
184198
185199 - id : cache-ccache
186- uses : hendrikmuhs/ccache-action@v1
200+ uses : hendrikmuhs/ccache-action@v1.2
187201 with :
188- key : macos
202+ key : ${{ matrix.compiler }}
189203
190204 - name : Configure
191205 run : |
192206 meson setup \
193207 -Ddocumentation=disabled \
194208 -Dtest=true \
195- output
209+ -Dpcre=enabled \
210+
211+ --wrap-mode nofallback \
212+ ${{ matrix.meson_options }} \
213+ output/full
196214
197215 - name : Build
198- run : meson compile -C output --verbose
216+ run : meson compile -C output/full --verbose
199217
200218 - name : Unit Tests
201- run : meson test -C output
219+ run : meson test -C output/full
220+
221+ - name : Configure Mini
222+ run : |
223+ meson setup \
224+ -Dbuildtype=minsize \
225+ -Dauto_features=disabled \
226+ -Dtest=true \
227+ -Ddaemon=false \
228+ -Dinotify=false -Depoll=false -Deventfd=false \
229+ -Dsignalfd=false \
230+ -Dtcp=false \
231+ -Ddsd=false \
232+ -Ddatabase=false \
233+ -Dneighbor=false \
234+ -Dcue=false \
235+ -Dfifo=false \
236+ -Dhttpd=false -Dpipe=false -Drecorder=false \
237+ -Dsnapcast=false \
238+ --wrap-mode nofallback \
239+ ${{ matrix.meson_options }} \
240+ output/mini
241+
242+ - name : Build Mini
243+ run : meson compile -C output/mini --verbose
244+
245+ - name : Unit Tests Mini
246+ run : meson test -C output/mini
202247
203248 build-msys2 :
204249 strategy :
0 commit comments