| name: mingw/cygwin |
| |
| on: [push, pull_request] |
| |
| jobs: |
| MSys: |
| runs-on: ${{ matrix.os || 'windows-latest' }} |
| strategy: |
| fail-fast: false |
| matrix: |
| sys: [mingw32, mingw64, ucrt64, clang64, clangarm64] |
| include: |
| - sys: clangarm64 |
| os: windows-11-arm |
| name: MSys - ${{ matrix.sys }} |
| defaults: |
| run: |
| shell: msys2 {0} |
| steps: |
| - name: Checkout |
| uses: actions/checkout@v6 |
| with: |
| fetch-depth: 0 |
| - name: Setup MSYS2 |
| uses: msys2/setup-msys2@v2 |
| with: |
| msystem: ${{ matrix.sys }} |
| update: true |
| install: >- |
| make |
| pacboy: >- |
| toolchain:p |
| cmake:p |
| - name: Configure |
| if: matrix.sys != 'clang64' |
| run: | |
| cmake -G"Unix Makefiles" \ |
| -S . \ |
| -B build \ |
| -DCMAKE_VERBOSE_MAKEFILE=ON \ |
| -DCMAKE_BUILD_TYPE=Release \ |
| -DZLIB_BUILD_MINIZIP=ON \ |
| -DMINIZIP_ENABLE_BZIP2=ON |
| - name: Configure clang64 |
| if: matrix.sys == 'clang64' |
| run: | |
| CC=clang cmake -G"Unix Makefiles" \ |
| -S . \ |
| -B build \ |
| -DCMAKE_VERBOSE_MAKEFILE=ON \ |
| -DCMAKE_BUILD_TYPE=Release \ |
| -DZLIB_BUILD_MINIZIP=ON \ |
| -DMINIZIP_ENABLE_BZIP2=ON |
| - name: Build |
| run: cmake --build build --config Release |
| - name: Run tests |
| run: ctest --output-on-failure --test-dir build -C Release |
| |
| cygwin: |
| strategy: |
| fail-fast: false |
| runs-on: windows-latest |
| defaults: |
| run: |
| shell: C:\cygwin\bin\bash.exe --login -o igncr '{0}' |
| name: Cygwin |
| steps: |
| - name: Checkout |
| uses: actions/checkout@v6 |
| with: |
| fetch-depth: 0 |
| - name: Setup cygwin |
| uses: cygwin/cygwin-install-action@master |
| with: |
| packages: >- |
| cmake |
| cygwin-devel |
| gcc-core |
| gcc-g++ |
| ninja |
| - name: Configure |
| run: | |
| cmake /cygdrive/d/a/zlib/zlib \ |
| -B build \ |
| -DCMAKE_BUILD_TYPE=Release \ |
| -DZLIB_BUILD_MINIZIP=ON \ |
| -DMINIZIP_ENABLE_BZIP2=OFF \ |
| -G Ninja |
| - name: Build |
| run: cmake --build build --config Release -v -j1 |
| - name: Run tests |
| run: ctest --output-on-failure --test-dir build -C Release |