name: CMake

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

env:
  BUILD_TYPE: Release

jobs:
  build:
    runs-on: ${{ matrix.os }}

    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest]

    steps:
    - uses: actions/checkout@v2

    - name: Install libraries (Linux)
      if: ${{ matrix.os == 'ubuntu-latest' }}
      run: sudo apt-get install -y libevent-dev

    - name: Install libraries (macOS)
      if: ${{ matrix.os == 'macos-latest' }}
      run: brew install libevent

    - name: Install phosg
      run: |
        git clone https://github.com/fuzziqersoftware/phosg.git
        cd phosg
        cmake .
        make
        sudo make install

    - name: Configure CMake
      run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}

    - name: Build
      run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}

    - name: Test
      working-directory: ${{github.workspace}}/build
      run: ctest -C ${{env.BUILD_TYPE}}
