WIP Migrate from autotools to meson #55
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: build | |
on: | |
push: | |
branches: [ master, meson ] | |
pull_request: | |
branches: [ master ] | |
jobs: | |
ubuntu-build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install dependencies (apt) | |
run: sudo apt install python3-pip ninja-build libsndfile1-dev libliquid-dev | |
- name: Install meson (pip3) | |
run: pip3 install --user meson | |
- name: meson setup | |
run: meson setup build | |
- name: compile | |
run: cd build && meson compile | |
macos-build: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install dependencies (brew) | |
run: brew install meson libsndfile liquid-dsp | |
- name: meson setup | |
run: meson setup build | |
- name: compile | |
run: cd build && meson compile | |
windows-msys2-mingw-build: | |
runs-on: windows-latest | |
steps: | |
- uses: msys2/setup-msys2@v2 | |
with: | |
update: true | |
install: >- | |
autoconf | |
automake | |
git | |
make | |
mingw-w64-x86_64-gcc | |
mingw-w64-x86_64-libiconv | |
mingw-w64-x86_64-libsndfile | |
mingw-w64-x86_64-meson | |
mingw-w64-x86_64-python3 | |
- name: Patch & build liquid-dsp | |
shell: msys2 {0} | |
run: | | |
git clone https://github.com/jgaeddert/liquid-dsp.git && cd liquid-dsp | |
perl -i -p -e 's/(AC_CHECK_LIB\(\[c\].+| sys\/resource.h)//g' configure.ac | |
./bootstrap.sh && ./configure --prefix=/mingw64 && make | |
make install | |
- uses: actions/checkout@v4 | |
- name: Build redsea | |
shell: msys2 {0} | |
run: | | |
meson setup build && cd build && meson compile | |
- name: Package into distrib | |
shell: msys2 {0} | |
run: >- | |
mkdir -p distrib && cp build/redsea.exe distrib/ && | |
ldd build/redsea.exe | | |
grep -iv windows | | |
grep -iv system32 | | |
grep -v :$ | | |
cut -f2 -d\> | | |
cut -f1 -d\( | | |
wk '{$1=$1};1' | | |
xargs -I{} cp {} distrib/ | |
windows-cygwin-build: | |
runs-on: windows-latest | |
steps: | |
- run: git config --global core.autocrlf input | |
- uses: actions/checkout@v4 | |
- uses: cygwin/cygwin-install-action@v4 | |
with: | |
packages: >- | |
autoconf | |
automake | |
bzip2 | |
gcc-core | |
gcc-g++ | |
git | |
libiconv-devel | |
libsndfile-devel | |
make | |
meson | |
patch | |
perl | |
tar | |
xz | |
- name: Build liquid-dsp | |
shell: C:\cygwin\bin\bash.exe -eo pipefail '{0}' | |
run: git clone https://github.com/jgaeddert/liquid-dsp.git && cd liquid-dsp && ./bootstrap.sh && ./configure --prefix=/usr && make && make install | |
- name: Patch liquid-dsp | |
shell: C:\cygwin\bin\bash.exe -eo pipefail '{0}' | |
run: perl -i -p -e 's/(?<=\s)(_[A-Z])(?=[,\)])/\L\1__/g' /usr/include/liquid/liquid.h | |
- name: Build redsea | |
shell: C:\cygwin\bin\bash.exe -eo pipefail '{0}' | |
run: meson setup build && cd build && meson compile |