Skip to content

Commit

Permalink
GH Actions: build with all supported options, compilers, and OSes
Browse files Browse the repository at this point in the history
  • Loading branch information
Be-ing committed Feb 9, 2021
1 parent 5e062e9 commit 2d4d7d5
Showing 1 changed file with 56 additions and 8 deletions.
64 changes: 56 additions & 8 deletions .github/workflows/c-cpp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,54 @@ jobs:
fail-fast: false
matrix:
include:
- name: Ubuntu
- name: Ubuntu GCC
os: ubuntu-latest
install_dir: ~/portaudio
- name: Ubuntu mingw64
cmake_generator: "Unix Makefiles"
cmake_options:
-DOSS=ON
- name: Ubuntu MinGW
os: ubuntu-latest
install_dir: ~/portaudio
asio_sdk_cache_path: asiosdk.zip
dependencies_extras: mingw-w64
cmake_extras: -DCMAKE_TOOLCHAIN_FILE=cmake/i686-w64-mingw32.cmake
- name: Windows
cmake_generator: "Unix Makefiles"
cmake_options:
-DASIO=ON
-DASIO_SDK_ZIP_PATH=asiosdk.zip
-DCMAKE_TOOLCHAIN_FILE=cmake/i686-w64-mingw32.cmake
- name: Windows MSVC
os: windows-latest
install_dir: C:\portaudio
- name: macOS
cmake_generator: "Visual Studio 16 2019"
# ASIO_SDK_ZIP_PATH needs to be quoted or CMake will save the download to
# asiosdk instead of asiosdk.zip.
asio_sdk_cache_path: "asiosdk.zip"
cmake_options:
-DASIO=ON
-DASIO_SDK_ZIP_PATH="asiosdk.zip"
- name: Windows MinGW
os: windows-latest
install_dir: C:\portaudio
cmake_generator: "MinGW Makefiles"
# ASIO_SDK_ZIP_PATH needs to be quoted or CMake will save the download to
# asiosdk instead of asiosdk.zip.
asio_sdk_cache_path: "asiosdk.zip"
cmake_options:
-DASIO=ON
-DASIO_SDK_ZIP_PATH="asiosdk.zip"
- name: macOS Clang
os: macOS-latest
install_dir: ~/portaudio
cmake_generator: "Unix Makefiles"
cmake_options:
-DCMAKE_FRAMEWORK=OFF
- name: macOS Clang framework
os: macOS-latest
install_dir: ~/portaudio
cmake_generator: "Unix Makefiles"
cmake_options:
-DCMAKE_FRAMEWORK=ON

runs-on: ${{ matrix.os }}
name: ${{ matrix.name }}
Expand All @@ -37,12 +71,26 @@ jobs:
- name: "[Ubuntu] install dependencies"
run: sudo apt-get install libasound2-dev libjack-dev ${{ matrix.dependencies_extras }}
if: matrix.os == 'ubuntu-latest'
- name: "[macOS] install dependencies"
run: brew install jack
if: matrix.os == 'macOS-latest'
- name: "[Windows MinGW] install dependencies"
run: choco install mingw
if: startsWith(matrix.os, 'Windows MinGW')
- name: "[Windows/MinGW] set up ASIO SDK cache"
uses: actions/cache@v2
if: matrix.asio_sdk_cache_path != null
with:
path: ${{ matrix.asio_sdk_cache_path }}
key: ${{ hashFiles('.github/asiosdk-version.txt') }}
- name: configure
run: cmake ${{ matrix.cmake_extras }}
run: cmake
-G "${{ matrix.cmake_generator }}"
${{ matrix.cmake_options }}
-DCMAKE_INSTALL_PREFIX=${{ matrix.install_dir }}
-DCMAKE_BUILD_TYPE=${{ env.cmake_build_type }}
-DPA_BUILD_TESTS=ON
-DPA_BUILD_EXAMPLES=ON
-DBUILD_TESTING=ON
-DBUILD_EXAMPLES=ON
-S .
-B build
- name: build
Expand Down

0 comments on commit 2d4d7d5

Please sign in to comment.