Skip to content

cmake: modernize CMake infrastructure; adds modules, bindings; build Windows wheels #49

cmake: modernize CMake infrastructure; adds modules, bindings; build Windows wheels

cmake: modernize CMake infrastructure; adds modules, bindings; build Windows wheels #49

Workflow file for this run

name: Build
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
steps:
- uses: actions/checkout@v4
- name: Install build dependencies
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y \
autoconf \
build-essential \
libltdl-dev \
liblzma-dev \
libflac-dev \
libpcre2-dev \
libpython3-dev \
python3-pip \
wget
pip3 install --break-system-packages "numpy>=2.0"
echo CC=gcc-14 >> $GITHUB_ENV
echo CXX=g++-14 >> $GITHUB_ENV
echo PREFIX=/usr >> $GITHUB_ENV
- name: Install build dependencies
if: runner.os == 'macOS'
run: |
brew install automake libtool gcc pcre pcre2 xz flac python@3.12
pip3.12 install setuptools "numpy>=2.0" --break-system-packages
echo CC=gcc-14 >> $GITHUB_ENV
echo CXX=g++-14 >> $GITHUB_ENV
echo FC=gfortran-14 >> $GITHUB_ENV
echo F77=gfortran-14 >> $GITHUB_ENV
echo PREFIX=/opt/homebrew >> $GITHUB_ENV
- name: Configure
run: |
autoreconf -i
./configure --disable-php --with-python=`which python3.12` \
--with-ltdl=$PREFIX \
--with-liblzma=$PREFIX \
--with-libFLAC=$PREFIX \
--with-pcre=$PREFIX
- name: Build
run: make
- name: Run regression tests
run: make check