Skip to content

Avoid redefinition error of low-level io functions on some compilers #255

Avoid redefinition error of low-level io functions on some compilers

Avoid redefinition error of low-level io functions on some compilers #255

Workflow file for this run

name: Test on macOS
on:
pull_request:
push:
paths:
- '.github/actions/**'
- '.github/workflows/test_macos.yml'
- 'cmake/**'
- 'include/**'
- 'src/**'
- 'tests/**'
- 'CMakeLists.txt'
jobs:
build_macos:
runs-on: ${{ matrix.os }}
if: |
!contains(github.event.head_commit.message, '[test-windows]')
&& !contains(github.event.head_commit.message, '[test-linux]')
strategy:
fail-fast: false
matrix:
os: [macos-13, macos-14]
build_type: [Debug, Release]
c_compiler: [gcc-11, gcc-12, gcc-13, gcc-14, clang]
arch: [x64, arm64]
bit7z_auto_format: [OFF, ON]
bit7z_regex_matching: [OFF, ON]
bit7z_link_libcpp: [OFF, ON]
include:
- c_compiler: gcc-11
cpp_compiler: g++-11
enable_sanitizers: OFF
- c_compiler: gcc-12
cpp_compiler: g++-12
enable_sanitizers: OFF
- c_compiler: gcc-13
cpp_compiler: g++-13
enable_sanitizers: OFF
- c_compiler: gcc-14
cpp_compiler: g++-14
enable_sanitizers: OFF
- c_compiler: clang
cpp_compiler: clang++
enable_sanitizers: ON
exclude:
- c_compiler: gcc-11
bit7z_link_libcpp: ON
- c_compiler: gcc-12
bit7z_link_libcpp: ON
- c_compiler: gcc-13
bit7z_link_libcpp: ON
- c_compiler: gcc-14
bit7z_link_libcpp: ON
- os: macos-14
arch: x64
- os: macos-13
arch: arm64
name: |
macOS (${{ matrix.arch }}), ${{ matrix.c_compiler }}, ${{ matrix.build_type }}${{ matrix.bit7z_auto_format == 'ON' && ', AUTO_FORMAT' || '' }}${{ matrix.bit7z_regex_matching == 'ON' && ', REGEX_MATCHING' || '' }}${{ matrix.bit7z_link_libcpp == 'ON' && ', LINK_LIBCPP' || '' }}
steps:
- uses: actions/checkout@v4
- name: Install XCode
if: ${{ contains(matrix.os, 'macos-14') }}
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '15.3'
- name: Install XCode
if: ${{ contains(matrix.os, 'macos-13') && contains(matrix.c_compiler, 'gcc-14') }}
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '15.2'
- name: Install XCode
if: ${{ contains(matrix.os, 'macos-13') && ( contains(matrix.c_compiler, 'gcc-11') || contains(matrix.c_compiler, 'gcc-12') || contains(matrix.c_compiler, 'gcc-13') ) }}
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '14.3.1'
- name: Install GCC 14
if: ${{ contains(matrix.c_compiler, 'gcc-14') }}
shell: bash
run:
brew install gcc@14
- name: Building and testing bit7z
uses: ./.github/actions/test_action
with:
arch: ${{ matrix.arch }}
c_compiler: ${{ matrix.c_compiler }}
cpp_compiler: ${{ matrix.cpp_compiler }}
sevenzip_version: 23.01
enable_sanitizers: ${{ matrix.enable_sanitizers }}
build_type: ${{ matrix.build_type }}
build_flags: |
-DBIT7Z_TESTS_USE_SYSTEM_7ZIP=OFF -DBIT7Z_AUTO_FORMAT=${{ matrix.bit7z_auto_format }} -DBIT7Z_REGEX_MATCHING=${{ matrix.bit7z_regex_matching }} -DBIT7Z_LINK_LIBCPP=${{ matrix.bit7z_link_libcpp }}