mirror of https://github.com/madler/zlib.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
2.1 KiB
79 lines
2.1 KiB
name: CMake |
|
on: [push, pull_request] |
|
jobs: |
|
ci-cmake: |
|
name: ${{ matrix.name }} |
|
runs-on: ${{ matrix.os }} |
|
strategy: |
|
fail-fast: false |
|
matrix: |
|
include: |
|
- name: Ubuntu GCC |
|
os: ubuntu-latest |
|
compiler: gcc |
|
|
|
# Test out of source builds |
|
- name: Ubuntu GCC OSB |
|
os: ubuntu-latest |
|
compiler: gcc |
|
build-dir: ../build |
|
src-dir: ../zlib |
|
|
|
- name: Ubuntu GCC -O3 |
|
os: ubuntu-latest |
|
compiler: gcc |
|
cflags: -O3 |
|
|
|
- name: Ubuntu Clang |
|
os: ubuntu-latest |
|
compiler: clang |
|
|
|
- name: Ubuntu Clang Debug |
|
os: ubuntu-latest |
|
compiler: clang |
|
build-config: Debug |
|
|
|
- name: Windows MSVC Win32 |
|
os: windows-latest |
|
compiler: cl |
|
cmake-args: -A Win32 |
|
|
|
- name: Windows MSVC Win64 |
|
os: windows-latest |
|
compiler: cl |
|
cmake-args: -A x64 |
|
|
|
- name: macOS Clang |
|
os: macos-latest |
|
compiler: clang |
|
|
|
- name: macOS GCC |
|
os: macos-latest |
|
compiler: gcc-9 |
|
|
|
steps: |
|
- name: Checkout repository |
|
uses: actions/checkout@v3 |
|
|
|
- name: Generate project files |
|
run: cmake -S ${{ matrix.src-dir || '.' }} -B ${{ matrix.build-dir || '.' }} ${{ matrix.cmake-args }} -D CMAKE_BUILD_TYPE=${{ matrix.build-config || 'Release' }} |
|
env: |
|
CC: ${{ matrix.compiler }} |
|
CFLAGS: ${{ matrix.cflags }} |
|
|
|
- name: Compile source code |
|
run: cmake --build ${{ matrix.build-dir || '.' }} --config ${{ matrix.build-config || 'Release' }} |
|
|
|
- name: Run test cases |
|
run: ctest -C Release --output-on-failure --max-width 120 |
|
working-directory: ${{ matrix.build-dir || '.' }} |
|
|
|
- name: Upload build errors |
|
uses: actions/upload-artifact@v3 |
|
if: failure() |
|
with: |
|
name: ${{ matrix.name }} (cmake) |
|
path: | |
|
**/CMakeFiles/CMakeOutput.log |
|
**/CMakeFiles/CMakeError.log |
|
retention-days: 7
|
|
|