diff --git a/.github/workflows/c-linux.yml b/.github/workflows/c-linux.yml index f2c98a6..584fae2 100644 --- a/.github/workflows/c-linux.yml +++ b/.github/workflows/c-linux.yml @@ -14,7 +14,11 @@ jobs: name: C/C++ CMake CI Test strategy: matrix: - os: ["ubuntu-24.04"] + os: + - "ubuntu-24.04" + - "ubuntu-24.04-arm" + - "ubuntu-26.04" + - "ubuntu-26.04-arm" runs-on: ${{ matrix.os }} steps: diff --git a/.github/workflows/c-macos.yml b/.github/workflows/c-macos.yml index 6d73627..c8008c2 100644 --- a/.github/workflows/c-macos.yml +++ b/.github/workflows/c-macos.yml @@ -14,7 +14,12 @@ jobs: name: C/C++ CMake CI Test strategy: matrix: - os: ["macos-14"] + os: + - "macos-14" + - "macos-15" + - "macos-15-intel" + - "macos-26" + - "macos-26-intel" runs-on: ${{ matrix.os }} steps: diff --git a/.github/workflows/c-windows.yml b/.github/workflows/c-windows.yml index 9277d0d..3ec29fe 100644 --- a/.github/workflows/c-windows.yml +++ b/.github/workflows/c-windows.yml @@ -14,7 +14,7 @@ jobs: name: C/C++ CMake CI Test strategy: matrix: - os: ["windows-2022"] + os: ["windows-2022", "windows-2025"] arch: - amd64 - amd64_x86 diff --git a/CMakeLists.txt b/CMakeLists.txt index 29db9a4..c2f535b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,8 +16,15 @@ set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) -SET(GCC_COVERAGE_COMPILE_FLAGS "-fsanitize=address -fprofile-arcs -ftest-coverage -g -O0 -save-temps") -SET(GCC_COVERAGE_LINK_FLAGS "--coverage") +# -fsanitize=address causes SIGILL on macOS (Clang 17 + macOS 26 Intel) due to +# ASan runtime incompatibility. Coverage instrumentation still works without it. +if(APPLE) + SET(GCC_COVERAGE_COMPILE_FLAGS "-fprofile-arcs -ftest-coverage -g -O0 -save-temps") + SET(GCC_COVERAGE_LINK_FLAGS "--coverage") +else() + SET(GCC_COVERAGE_COMPILE_FLAGS "-fsanitize=address -fprofile-arcs -ftest-coverage -g -O0 -save-temps") + SET(GCC_COVERAGE_LINK_FLAGS "--coverage") +endif() if (CMAKE_GENERATOR MATCHES "Unix Makefiles")