diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index cbb004f..c14a0ef 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -15,8 +15,27 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [macos-latest, ubuntu-18.04, windows-latest] - compiler: [gcc-8, clang] + include: + - os: macos-latest + name: "macOS Clang" + cc: "clang" + cxx: "clang++" + - os: macos-latest + name: "macOS GCC" + cc: "gcc-10" + cxx: "g++-10" + - os: ubuntu-latest + name: "Ubuntu Clang" + cc: "clang-9" + cxx: "clang++-9" + - os: ubuntu-latest + name: "Ubuntu GCC" + cc: "gcc-10" + cxx: "g++-10" + - os: windows-latest + name: "Windows MSVC" + cc: "cl" + cxx: "cl" steps: - uses: actions/checkout@v2 @@ -25,6 +44,10 @@ jobs: # recursively checkout submodules. submodules: 'true' + - name: Set Windows ENV + if: runner.os == 'Windows' + uses: ilammy/msvc-dev-cmd@v1 + - name: Create Build Environment # Some projects don't allow in-source building, so create a separate build directory # We'll use this as our working directory for all subsequent commands @@ -38,13 +61,12 @@ jobs: # Note the current convention is to use the -S and -B options here to specify source # and build directories, but this is only available with CMake 3.13 and higher. # The CMake binaries on the Github Actions machines are (as of this writing) 3.12 - run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE + run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_C_COMPILER=${{ matrix.config.cc }} -DCMAKE_CXX_COMPILER=${{ matrix.config.cxx }} - name: Build working-directory: ${{github.workspace}}/build shell: bash - env: - CC: ${{ matrix.compiler }} + # Execute the build. You can specify a specific target with "--target " run: cmake --build . --config $BUILD_TYPE