name: CMake Linux C++

on: [push, pull_request]

jobs:
  # Building using the github runner environement directly.
  cmake:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Check cmake
      run: cmake --version
    - name: Configure
      run: cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DBUILD_DEPS=ON
    - name: Build
      run: cmake --build build --config Release --target all -v
    - name: Test
      run: CTEST_OUTPUT_ON_FAILURE=1 cmake --build build --config Release --target test -v
    - name: Install
      run: cmake --build build --config Release --target install -v -- DESTDIR=install

name: CMake Linux C++

on: [push, pull_request]

jobs:
  # Building using the github runner environement directly.
  ninja:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Check cmake
      run: cmake --version
    - name: Install Ninja
      run: |
        sudo apt update
        sudo apt install -y ninja-build
    - name: Configure
      run: cmake -S. -Bbuild -G "Ninja" -DCMAKE_BUILD_TYPE=Release -DBUILD_DEPS=ON -DCMAKE_INSTALL_PREFIX=install
    - name: Build
      run: cmake --build build --target all -v
    - name: Test
      run: CTEST_OUTPUT_ON_FAILURE=1 cmake --build build --target test -v
    - name: Install
      run: cmake --build build --target install -v
  ninja-multi:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Check cmake
      run: cmake --version
    - name: Install Ninja
      run: |
        sudo apt update
        sudo apt install -y ninja-build
    - name: Configure
      run: cmake -S. -Bbuild -G "Ninja Multi-Config" -DBUILD_DEPS=ON -DCMAKE_INSTALL_PREFIX=install
    - name: Build
      run: cmake --build build --config Release --target all -v
    - name: Test
      run: CTEST_OUTPUT_ON_FAILURE=1 cmake --build build --config Release --target test -v
    - name: Install
      run: cmake --build build --config Release --target install -v
  make:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Check cmake
      run: cmake --version
    - name: Configure
      run: cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DBUILD_DEPS=ON
    - name: Build
      run: cmake --build build --config Release --target all -v
    - name: Test
      run: CTEST_OUTPUT_ON_FAILURE=1 cmake --build build --config Release --target test -v
    - name: Install
      run: cmake --build build --config Release --target install -v -- DESTDIR=install

Add ninja jobs for C++
ci(linux): Add ninja jobs for C++
