Make miniz an object library #158
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: Continuous Integration | |
on: [push, pull_request] | |
jobs: | |
build: | |
name: ${{ matrix.config.name }} | |
runs-on: ${{ matrix.config.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- name: Visual Studio - Release | |
os: windows-latest | |
build_type: Release | |
- name: Visual Studio - Debug | |
os: windows-latest | |
build_type: Debug | |
- name: macOS Clang - Dynamic Deps | |
os: macos-latest | |
build_type: Release | |
deps_cmd: brew install glib pkg-config | |
- name: macOS Clang - Static Deps | |
os: macos-latest | |
build_type: Release | |
cmake_options: -DDYN_FLUIDSYNTH=OFF -DDYN_MPG123=OFF -DDYN_SNDFILE=OFF | |
deps_cmd: brew install glib libsndfile mpg123 pkg-config | |
- name: Linux GCC - Dynamic Deps | |
os: ubuntu-latest | |
build_type: Release | |
- name: Linux GCC - Static Deps | |
os: ubuntu-latest | |
build_type: Release | |
cmake_options: -DDYN_FLUIDSYNTH=OFF -DDYN_MPG123=OFF -DDYN_SNDFILE=OFF | |
deps_cmd: sudo apt update && sudo apt install libasound2-dev libglib2.0-dev libmpg123-dev libsndfile1-dev | |
- name: Linux Clang - Dynamic Deps | |
os: ubuntu-latest | |
build_type: Release | |
cmake_options: -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ | |
- name: Linux Clang - Static Deps | |
os: ubuntu-latest | |
build_type: Release | |
cmake_options: -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DDYN_FLUIDSYNTH=OFF -DDYN_MPG123=OFF -DDYN_SNDFILE=OFF | |
deps_cmd: sudo apt update && sudo apt install libasound2-dev libglib2.0-dev libmpg123-dev libsndfile1-dev | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install Dependencies | |
shell: bash | |
run: | | |
${{ matrix.config.deps_cmd }} | |
- name: Configure | |
shell: bash | |
run: | | |
cmake -B build -DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} -DCMAKE_INSTALL_PREFIX=./build_install ${{ matrix.config.cmake_options }} . | |
- name: Build | |
shell: bash | |
run: | | |
export MAKEFLAGS=--keep-going | |
cmake --build build --target install --config ${{ matrix.config.build_type }} --parallel 3 | |
- name: Test | |
shell: bash | |
run: | | |
cd samples/list_midi_devices | |
mkdir build | |
cd build | |
declare -x PREFIX=`pwd`/../../../build_install | |
cmake -DCMAKE_PREFIX_PATH=${PREFIX} ${{ matrix.config.cmake_options }} .. | |
cmake --build . --config ${{ matrix.config.build_type }} | |
if [[ "${{ runner.os }}" == 'macOS' ]]; then | |
declare -x DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:${PREFIX} | |
fi | |
if [[ "${{ runner.os }}" == 'Windows' ]]; then | |
cp ${PREFIX}/bin/zmusic.dll ${{ matrix.config.build_type }} | |
${{ matrix.config.build_type }}/list_midi_devices.exe | |
else | |
./list_midi_devices | |
fi |