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.
114 lines
3.3 KiB
114 lines
3.3 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 |
|
cflags: -Wall -Wextra |
|
pkgtgt: package package_source |
|
cmake-args: -DMINIZIP_ENABLE_BZIP2=ON |
|
|
|
- name: Ubuntu GCC -O3 |
|
os: ubuntu-latest |
|
compiler: gcc |
|
cflags: -O3 -Wall -Wextra |
|
pkgtgt: package package_source |
|
cmake-args: -DMINIZIP_ENABLE_BZIP2=ON |
|
|
|
- name: Ubuntu Clang |
|
os: ubuntu-latest |
|
compiler: clang |
|
cflags: -Wall -Wextra |
|
pkgtgt: package package_source |
|
cmake-args: -DMINIZIP_ENABLE_BZIP2=ON |
|
|
|
- name: Ubuntu Clang Debug |
|
os: ubuntu-latest |
|
compiler: clang |
|
cflags: -Wall -Wextra |
|
build-config: Debug |
|
pkgtgt: package package_source |
|
cmake-args: -DMINIZIP_ENABLE_BZIP2=ON |
|
|
|
- name: Windows MSVC Win32 |
|
os: windows-latest |
|
compiler: cl |
|
cflags: /W3 |
|
cmake-args: -A Win32 |
|
pkgtgt: PACKAGE |
|
|
|
- name: Windows MSVC Win64 |
|
os: windows-latest |
|
compiler: cl |
|
cflags: /W3 |
|
cmake-args: -A x64 |
|
pkgtgt: PACKAGE |
|
cmake-args: -DMINIZIP_ENABLE_BZIP2=OFF |
|
|
|
- name: Windows GCC |
|
os: windows-latest |
|
compiler: gcc |
|
cflags: -Wall -Wextra |
|
cmake-args: -G Ninja |
|
pkgtgt: package |
|
cmake-args: -DMINIZIP_ENABLE_BZIP2=OFF |
|
|
|
- name: macOS Clang |
|
os: macos-latest |
|
compiler: clang |
|
cflags: -Wall -Wextra |
|
pkgtgt: package |
|
cmake-args: -DMINIZIP_ENABLE_BZIP2=ON |
|
|
|
- name: macOS GCC |
|
os: macos-latest |
|
compiler: gcc-12 |
|
cflags: -Wall -Wextra |
|
pkgtgt: package |
|
cmake-args: -DMINIZIP_ENABLE_BZIP2=ON |
|
|
|
steps: |
|
- name: Checkout repository |
|
uses: actions/checkout@v4 |
|
|
|
- name: Install packages (Windows) |
|
if: runner.os == 'Windows' |
|
run: | |
|
choco install --no-progress ninja |
|
|
|
- name: Install packages (Linux) |
|
if: runner.os == 'Linux' |
|
run: | |
|
sudo apt install libbz2-dev |
|
- name: Generate project files |
|
run: cmake -S . -B ../build ${{ matrix.cmake-args }} -D CMAKE_BUILD_TYPE=${{ matrix.build-config || 'Release' }} -DZLIB_BUILD_MINIZIP=ON |
|
env: |
|
CC: ${{ matrix.compiler }} |
|
CFLAGS: ${{ matrix.cflags }} |
|
|
|
- name: Compile source code |
|
run: cmake --build ../build --config ${{ matrix.build-config || 'Release' }} |
|
|
|
- name: Run test cases |
|
run: ctest -C Release --output-on-failure --max-width 120 |
|
working-directory: ../build |
|
|
|
- name: create packages |
|
run: cmake --build ../build --config ${{ matrix.build-config || 'Release' }} -t ${{ matrix.pkgtgt }} |
|
|
|
- name: Upload build errors |
|
uses: actions/upload-artifact@v4 |
|
if: failure() |
|
with: |
|
name: ${{ matrix.name }} (cmake) |
|
path: | |
|
../build/CMakeFiles/CMakeOutput.log |
|
../build/CMakeFiles/CMakeError.log |
|
retention-days: 7
|
|
|