Added vcpkg installation docs and CI smoke test #54
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Cross-platform / multi-compiler build & test. | |
| # | |
| # Configures, builds, and runs the full test suite (unit tests + examples | |
| # registered as ctest) on: | |
| # - Ubuntu (gcc and clang) | |
| # - macOS (AppleClang) | |
| # - Windows (MSVC) | |
| # | |
| # Triggered automatically on push/PR to master/main; can also be run manually | |
| # from the Actions tab in GitHub UI. | |
| name: CI | |
| on: | |
| push: | |
| branches: [master, main] | |
| pull_request: | |
| branches: [master, main] | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| name: ${{ matrix.name }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: ubuntu-gcc | |
| os: ubuntu-latest | |
| cc: gcc | |
| cxx: g++ | |
| - name: ubuntu-clang | |
| os: ubuntu-latest | |
| cc: clang | |
| cxx: clang++ | |
| - name: macos | |
| os: macos-latest | |
| - name: windows | |
| os: windows-latest | |
| runs-on: ${{ matrix.os }} | |
| env: | |
| CC: ${{ matrix.cc }} | |
| CXX: ${{ matrix.cxx }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Cache FetchContent dependencies | |
| uses: actions/cache@v4 | |
| with: | |
| path: build/_deps | |
| # Include repo name in the key so a repo rename (which changes the | |
| # absolute work-dir path baked into FetchContent's subbuild cache) | |
| # invalidates stale caches automatically. | |
| key: ${{ runner.os }}-${{ matrix.name }}-${{ github.event.repository.name }}-googletest-1.14.0 | |
| - name: Configure | |
| run: cmake -S . -B build -DGEO_UTILS_CPP_BUILD_TESTS=ON -DGEO_UTILS_CPP_BUILD_EXAMPLES=ON | |
| - name: Build | |
| run: cmake --build build --config Release | |
| - name: Test | |
| run: ctest --test-dir build -C Release --output-on-failure |