diff --git a/.github/workflows/linux.yaml b/.github/workflows/linux.yaml index c548132a..1d41117c 100644 --- a/.github/workflows/linux.yaml +++ b/.github/workflows/linux.yaml @@ -33,3 +33,34 @@ jobs: - name: Run tests run: ctest --test-dir _build + Linux-Clang: + runs-on: ubuntu-20.04 + strategy: + matrix: + cxx: ['7', '17'] + env: + CMAKE_OPTIONS: -DDEV_MODE=ON -DBUILD_TESTING=ON -DCMAKE_CXX_FLAGS="-stdlib=libc++" + steps: + - uses: lukka/get-cmake@latest + - uses: egor-tensin/setup-clang@v1 + with: + version: ${{matrix.cxx}} + + - name: Install libc++ + run: | + sudo apt install -y libc++abi-${{matrix.cxx}}-dev libc++-${{matrix.cxx}}-dev + + - name: Get pushed code + uses: actions/checkout@v3 + + - name: Configure + run: cmake -S . -B _build ${{ env.CMAKE_OPTIONS }} -DCMAKE_INSTALL_PREFIX:STRING=${GITHUB_WORKSPACE}/_built + + - name: Build + run: cmake --build _build --parallel + + - name: Test installation + run: cmake --install _build --prefix ${GITHUB_WORKSPACE}/_built + + - name: Run tests + run: ctest --test-dir _build