Skip to content

Add meson build system #2

Add meson build system

Add meson build system #2

Workflow file for this run

name: Muon Build
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build-muon:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
cc: gcc
cxx: g++
- os: ubuntu-latest
cc: clang
cxx: clang++
- os: macos-latest
cc: clang
cxx: clang++
- os: windows-latest
cc: gcc
cxx: g++
msystem: UCRT64
- os: windows-latest
cc: clang
cxx: clang++
msystem: CLANG64
name: "Test (${{ matrix.os }}, ${{ matrix.cc }}${{ matrix.msys2_msystem && format(', {0}', matrix.msys2_msystem) || '' }})"
runs-on: ${{ matrix.os }}
env:
CC: ${{ matrix.cc }}
CXX: ${{ matrix.cxx }}
defaults:
run:
shell: ${{ (matrix.os == 'windows-latest' && 'msys2 {0}' || 'bash') }}
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Install deps (ubuntu)
if: matrix.os == 'ubuntu-latest'
run: |
sudo add-apt-repository ppa:ubuntuhandbook1/ffmpeg7 -y
sudo apt-get update
sudo apt-get install libavformat-dev libavcodec-dev libswscale-dev libavutil-dev libswresample-dev libcurl4-openssl-dev libarchive-dev
# When ubuntu will ship muon 0.6.0 or higher, remove this
- name: Install muon (ubuntu)
if: matrix.os == 'ubuntu-latest'
uses: muon-build/build-with-muon@v2
- name: Install deps (macOS)
if: matrix.os == 'macos-latest'
run: |
brew update
brew install ffmpeg muon
- name: Setup MSYS2 (${{ matrix.msystem }})
if: matrix.msystem
uses: msys2/setup-msys2@v2
with:
update: true
msystem: ${{ matrix.msystem }}
pacboy: >-
ca-certificates
ffmpeg
muon
toolchain
- name: Configure with muon + build
run: muon build -Dtest=enabled builddir
- name: Run tests
run: muon -C builddir test -S