]> git.ipfire.org Git - thirdparty/zlib-ng.git/commitdiff
Specify c++ compiler, packages, and flags for Google Test in cmake workflow.
authorNathan Moinvaziri <nathan@nathanm.com>
Thu, 27 Jan 2022 02:27:20 +0000 (18:27 -0800)
committerHans Kristian Rosbach <hk-github@circlestorm.org>
Sun, 13 Mar 2022 06:41:12 +0000 (07:41 +0100)
.github/workflows/cmake.yml
.github/workflows/pkgcheck.yml
cmake/toolchain-mingw-i686.cmake

index 1a50b0ea3be1043c83a8cbba1ee2f37a41476076..9087990ed6d14a6497a5c95e86a561a49bd0b97e 100644 (file)
@@ -11,34 +11,40 @@ jobs:
           - name: Ubuntu 18.04 GCC
             os: ubuntu-18.04
             compiler: gcc
+            cxx-compiler: g++
 
           - name: Ubuntu GCC ASAN
             os: ubuntu-latest
             compiler: gcc
+            cxx-compiler: g++
             cmake-args: -DWITH_SANITIZER=Address
             codecov: ubuntu_gcc
 
           - name: Ubuntu GCC Benchmark
             os: ubuntu-latest
             compiler: gcc
+            cxx-compiler: g++
             cmake-args: -DWITH_BENCHMARKS=ON
             codecov: ubuntu_gcc_benchmark
 
           - name: Ubuntu GCC Symbol Prefix
             os: ubuntu-latest
             compiler: gcc
+            cxx-compiler: g++
             cmake-args: -DZLIB_SYMBOL_PREFIX=zTest_
             codecov: ubuntu_gcc_sprefix
 
           - name: Ubuntu GCC Compat Symbol Prefix
             os: ubuntu-latest
             compiler: gcc
+            cxx-compiler: g++
             cmake-args: -DZLIB_COMPAT=ON -DZLIB_SYMBOL_PREFIX=zTest_
             codecov: ubuntu_gcc_compat_sprefix
 
           - name: Ubuntu GCC OSB -O1 No Unaligned64 UBSAN
             os: ubuntu-latest
             compiler: gcc
+            cxx-compiler: g++
             cmake-args: -DWITH_UNALIGNED=ON -DUNALIGNED64_OK=OFF -DWITH_SANITIZER=Undefined
             build-dir: ../build
             build-src-dir: ../zlib-ng
@@ -48,6 +54,7 @@ jobs:
           - name: Ubuntu GCC -O3 No Unaligned
             os: ubuntu-latest
             compiler: gcc
+            cxx-compiler: g++
             cmake-args: -DWITH_UNALIGNED=OFF
             codecov: ubuntu_gcc_o3
             cflags: -O3
@@ -55,47 +62,55 @@ jobs:
           - name: Ubuntu GCC No CTZLL
             os: ubuntu-latest
             compiler: gcc
+            cxx-compiler: g++
             cmake-args: -DWITH_OPTIM=OFF -DHAVE_BUILTIN_CTZLL=OFF
             codecov: ubuntu_gcc_no_ctzll
 
           - name: Ubuntu GCC No CTZ
             os: ubuntu-latest
             compiler: gcc
+            cxx-compiler: g++
             cmake-args: -DWITH_OPTIM=OFF -DHAVE_BUILTIN_CTZLL=OFF -DHAVE_BUILTIN_CTZ=OFF
             codecov: ubuntu_gcc_no_ctz
 
           - name: Ubuntu GCC Link Zlib
             os: ubuntu-latest
             compiler: gcc
+            cxx-compiler: g++
             cmake-args: -DZLIB_DUAL_LINK=ON
 
           - name: Ubuntu GCC No AVX2 UBSAN
             os: ubuntu-latest
             compiler: gcc
+            cxx-compiler: g++
             cmake-args: -DWITH_AVX2=OFF -DWITH_SANITIZER=Undefined
             codecov: ubuntu_gcc_no_avx2
 
           - name: Ubuntu GCC No SSE2 UBSAN
             os: ubuntu-latest
             compiler: gcc
+            cxx-compiler: g++
             cmake-args: -DWITH_SSE2=OFF -DWITH_SANITIZER=Undefined
             codecov: ubuntu_gcc_no_sse2
 
           - name: Ubuntu GCC No SSE4 UBSAN
             os: ubuntu-latest
             compiler: gcc
+            cxx-compiler: g++
             cmake-args: -DWITH_SSE4=OFF -DWITH_SANITIZER=Undefined
             codecov: ubuntu_gcc_no_sse4
 
           - name: Ubuntu GCC No PCLMULQDQ UBSAN
             os: ubuntu-latest
             compiler: gcc
+            cxx-compiler: g++
             cmake-args: -DWITH_PCLMULQDQ=OFF -DWITH_SANITIZER=Undefined
             codecov: ubuntu_gcc_no_pclmulqdq
 
           - name: Ubuntu GCC Compat No Opt ASAN
             os: ubuntu-latest
             compiler: gcc
+            cxx-compiler: g++
             cmake-args: -DZLIB_COMPAT=ON -DWITH_NEW_STRATEGIES=OFF -DWITH_OPTIM=OFF -DWITH_SANITIZER=Address
             codecov: ubuntu_gcc_compat_no_opt
             cflags: -DNOT_TWEAK_COMPILER
@@ -104,77 +119,77 @@ jobs:
             os: ubuntu-latest
             cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-arm.cmake -DWITH_SANITIZER=Address
             asan-options: detect_leaks=0
-            packages: qemu qemu-user gcc-arm-linux-gnueabi libc-dev-armel-cross
+            packages: qemu qemu-user gcc-arm-linux-gnueabi g++-arm-linux-gnueabi libc-dev-armel-cross
             codecov: ubuntu_gcc_armsf
 
           - name: Ubuntu GCC ARM SF Compat No Opt UBSAN
             os: ubuntu-latest
             cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-arm.cmake -DZLIB_COMPAT=ON -DWITH_NEW_STRATEGIES=OFF -DWITH_OPTIM=OFF -DWITH_SANITIZER=Undefined
             asan-options: detect_leaks=0
-            packages: qemu qemu-user gcc-arm-linux-gnueabi libc-dev-armel-cross
+            packages: qemu qemu-user gcc-arm-linux-gnueabi g++-arm-linux-gnueabi libc-dev-armel-cross
             codecov: ubuntu_gcc_armsf_compat_no_opt
 
           - name: Ubuntu GCC ARM HF ASAN
             os: ubuntu-latest
             cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-armhf.cmake -DWITH_SANITIZER=Address
             asan-options: detect_leaks=0
-            packages: qemu qemu-user gcc-arm-linux-gnueabihf libc-dev-armel-cross
+            packages: qemu qemu-user gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf libc-dev-armel-cross
             codecov: ubuntu_gcc_armhf
 
           - name: Ubuntu GCC ARM HF No ACLE ASAN
             os: ubuntu-latest
             cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-armhf.cmake -DWITH_ACLE=OFF -DWITH_SANITIZER=Address
             asan-options: detect_leaks=0
-            packages: qemu qemu-user gcc-arm-linux-gnueabihf libc-dev-armel-cross
+            packages: qemu qemu-user gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf libc-dev-armel-cross
             codecov: ubuntu_gcc_armhf_no_acle
 
           - name: Ubuntu GCC ARM HF No NEON ASAN
             os: ubuntu-latest
             cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-armhf.cmake -DWITH_NEON=OFF -DWITH_SANITIZER=Address
             asan-options: detect_leaks=0
-            packages: qemu qemu-user gcc-arm-linux-gnueabihf libc-dev-armel-cross
+            packages: qemu qemu-user gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf libc-dev-armel-cross
             codecov: ubuntu_gcc_armhf_no_neon
 
           - name: Ubuntu GCC ARM HF Compat No Opt UBSAN
             os: ubuntu-latest
             cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-armhf.cmake -DZLIB_COMPAT=ON -DWITH_NEW_STRATEGIES=OFF -DWITH_OPTIM=OFF -DWITH_SANITIZER=Undefined
             asan-options: detect_leaks=0
-            packages: qemu qemu-user gcc-arm-linux-gnueabihf libc-dev-armel-cross
+            packages: qemu qemu-user gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf libc-dev-armel-cross
             codecov: ubuntu_gcc_armhf_compat_no_opt
 
           - name: Ubuntu GCC AARCH64 ASAN
             os: ubuntu-latest
             cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-aarch64.cmake -DWITH_SANITIZER=Address
             asan-options: detect_leaks=0
-            packages: qemu qemu-user gcc-aarch64-linux-gnu libc-dev-arm64-cross
+            packages: qemu qemu-user gcc-aarch64-linux-gnu g++-aarch64-linux-gnu libc-dev-arm64-cross
             codecov: ubuntu_gcc_aarch64
 
           - name: Ubuntu GCC AARCH64 No ACLE UBSAN
             os: ubuntu-latest
             cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-aarch64.cmake -DWITH_ACLE=OFF -DWITH_SANITIZER=Undefined
             asan-options: detect_leaks=0
-            packages: qemu qemu-user gcc-aarch64-linux-gnu libc-dev-arm64-cross
+            packages: qemu qemu-user gcc-aarch64-linux-gnu g++-aarch64-linux-gnu libc-dev-arm64-cross
             codecov: ubuntu_gcc_aarch64_no_acle
 
           - name: Ubuntu GCC AARCH64 No NEON UBSAN
             os: ubuntu-latest
             cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-aarch64.cmake -DWITH_NEON=OFF -DWITH_SANITIZER=Undefined
             asan-options: detect_leaks=0
-            packages: qemu qemu-user gcc-aarch64-linux-gnu libc-dev-arm64-cross
+            packages: qemu qemu-user gcc-aarch64-linux-gnu g++-aarch64-linux-gnu libc-dev-arm64-cross
             codecov: ubuntu_gcc_aarch64_no_neon
 
           - name: Ubuntu GCC AARCH64 Compat No Opt UBSAN
             os: ubuntu-latest
             cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-aarch64.cmake -DZLIB_COMPAT=ON -DWITH_NEW_STRATEGIES=OFF -DWITH_OPTIM=OFF -DWITH_SANITIZER=Undefined
             asan-options: detect_leaks=0
-            packages: qemu qemu-user gcc-aarch64-linux-gnu libc-dev-arm64-cross
+            packages: qemu qemu-user gcc-aarch64-linux-gnu g++-aarch64-linux-gnu libc-dev-arm64-cross
             codecov: ubuntu_gcc_aarch64_compat_no_opt
 
           - name: Ubuntu GCC PPC
             os: ubuntu-latest
             cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-powerpc.cmake
             asan-options: detect_leaks=0
-            packages: qemu qemu-user gcc-powerpc-linux-gnu libc-dev-powerpc-cross
+            packages: qemu qemu-user gcc-powerpc-linux-gnu g++-powerpc-linux-gnu libc-dev-powerpc-cross
             ldflags: -static
             codecov: ubuntu_gcc_ppc
 
@@ -182,14 +197,14 @@ jobs:
             os: ubuntu-latest
             cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-powerpc.cmake -DWITH_POWER8=OFF
             asan-options: detect_leaks=0
-            packages: qemu qemu-user gcc-powerpc-linux-gnu libc-dev-powerpc-cross
+            packages: qemu qemu-user gcc-powerpc-linux-gnu g++-powerpc-linux-gnu libc-dev-powerpc-cross
             codecov: ubuntu_gcc_ppc_no_power8
 
           - name: Ubuntu GCC PPC64
             os: ubuntu-latest
             cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-powerpc64.cmake
             asan-options: detect_leaks=0
-            packages: qemu qemu-user gcc-powerpc64-linux-gnu libc-dev-ppc64-cross
+            packages: qemu qemu-user gcc-powerpc64-linux-gnu g++-powerpc64-linux-gnu libc-dev-ppc64-cross
             ldflags: -static
             codecov: ubuntu_gcc_ppc64
 
@@ -197,14 +212,14 @@ jobs:
             os: ubuntu-latest
             cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-powerpc64le.cmake
             asan-options: detect_leaks=0
-            packages: qemu qemu-user gcc-powerpc64le-linux-gnu libc-dev-ppc64el-cross
+            packages: qemu qemu-user gcc-powerpc64le-linux-gnu g++-powerpc64le-linux-gnu libc-dev-ppc64el-cross
             codecov: ubuntu_gcc_ppc64le
 
           - name: Ubuntu GCC SPARC64
             os: ubuntu-latest
             cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-sparc64.cmake
             asan-options: detect_leaks=0
-            packages: qemu qemu-user gcc-sparc64-linux-gnu libc-dev-sparc64-cross
+            packages: qemu qemu-user gcc-sparc64-linux-gnu g++-sparc64-linux-gnu libc-dev-sparc64-cross
             ldflags: -static
             codecov: ubuntu_gcc_sparc64
 
@@ -212,7 +227,7 @@ jobs:
             os: ubuntu-latest
             cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-s390x.cmake -DWITH_SANITIZER=Address
             asan-options: detect_leaks=0
-            packages: qemu qemu-user gcc-s390x-linux-gnu libc-dev-s390x-cross
+            packages: qemu qemu-user gcc-s390x-linux-gnu g++-s390x-linux-gnu libc-dev-s390x-cross
             ldflags: -static
             codecov: ubuntu_gcc_s390x
 
@@ -220,13 +235,14 @@ jobs:
             os: ubuntu-latest
             cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-s390x.cmake -DWITH_CRC32_VX=OFF -DWITH_SANITIZER=Address
             asan-options: detect_leaks=0
-            packages: qemu qemu-user gcc-s390x-linux-gnu libc-dev-s390x-cross
+            packages: qemu qemu-user gcc-s390x-linux-gnu g++-s390x-linux-gnu libc-dev-s390x-cross
             ldflags: -static
             codecov: ubuntu_gcc_s390x_no_crc32
 
           - name: Ubuntu GCC S390X DFLTCC ASAN
             os: z15
             compiler: gcc
+            cxx-compiler: g++
             cmake-args: -DWITH_DFLTCC_DEFLATE=ON -DWITH_DFLTCC_INFLATE=ON -DWITH_SANITIZER=Address
             asan-options: detect_leaks=0
             codecov: ubuntu_gcc_s390x_dfltcc
@@ -234,6 +250,7 @@ jobs:
           - name: Ubuntu GCC S390X DFLTCC Compat UBSAN
             os: z15
             compiler: gcc
+            cxx-compiler: g++
             cmake-args: -DZLIB_COMPAT=ON -DWITH_DFLTCC_DEFLATE=ON -DWITH_DFLTCC_INFLATE=ON -DWITH_SANITIZER=Undefined
             asan-options: detect_leaks=0
             codecov: ubuntu_gcc_s390x_dfltcc_compat
@@ -241,7 +258,7 @@ jobs:
           - name: Ubuntu MinGW i686
             os: ubuntu-latest
             cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-mingw-i686.cmake
-            packages: wine32 gcc-mingw-w64
+            packages: wine32 gcc-mingw-w64-i686 g++-mingw-w64-i686
             codecov: ubuntu_gcc_mingw_i686
             # Limit parallel test jobs to prevent wine errors
             parallels-jobs: 1
@@ -249,7 +266,7 @@ jobs:
           - name: Ubuntu MinGW x86_64
             os: ubuntu-latest
             cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-mingw-x86_64.cmake
-            packages: wine-stable gcc-mingw-w64
+            packages: wine-stable gcc-mingw-w64 g++-mingw-w64
             codecov: ubuntu_gcc_mingw_x86_64
              # Limit parallel test jobs to prevent wine errors
             parallels-jobs: 1
@@ -257,11 +274,13 @@ jobs:
           - name: Ubuntu 18.04 Clang
             os: ubuntu-18.04
             compiler: clang-6.0
+            cxx-compiler: clang++-6.0
             packages: clang-6.0
 
           - name: Ubuntu Clang
             os: ubuntu-latest
             compiler: clang-11
+            cxx-compiler: clang++-11
             packages: llvm-11-tools
             gcov-exec: llvm-cov-11 gcov
             codecov: ubuntu_clang
@@ -269,6 +288,7 @@ jobs:
           - name: Ubuntu Clang Inflate Strict
             os: ubuntu-latest
             compiler: clang-11
+            cxx-compiler: clang++-11
             cmake-args: -DWITH_INFLATE_STRICT=ON
             packages: llvm-11-tools
             gcov-exec: llvm-cov-11 gcov
@@ -277,6 +297,7 @@ jobs:
           - name: Ubuntu Clang Inflate Allow Invalid Dist
             os: ubuntu-latest
             compiler: clang-11
+            cxx-compiler: clang++-11
             cmake-args: -DWITH_INFLATE_ALLOW_INVALID_DIST=ON
             packages: llvm-11-tools
             gcov-exec: llvm-cov-11 gcov
@@ -285,6 +306,7 @@ jobs:
           - name: Ubuntu Clang Reduced Memory
             os: ubuntu-latest
             compiler: clang-11
+            cxx-compiler: clang++-11
             cmake-args: -DWITH_REDUCED_MEM=ON
             packages: llvm-11-tools
             gcov-exec: llvm-cov-11 gcov
@@ -293,6 +315,7 @@ jobs:
           - name: Ubuntu Clang Memory Map
             os: ubuntu-latest
             compiler: clang-11
+            cxx-compiler: clang++-11
             cflags: -DUSE_MMAP
             packages: llvm-11-tools
             gcov-exec: llvm-cov-11 gcov
@@ -301,6 +324,7 @@ jobs:
           - name: Ubuntu Clang Debug
             os: ubuntu-latest
             compiler: clang-11
+            cxx-compiler: clang++-11
             packages: llvm-11-tools
             gcov-exec: llvm-cov-11 gcov
             codecov: ubuntu_clang_debug
@@ -309,6 +333,7 @@ jobs:
           - name: Ubuntu Clang MSAN
             os: ubuntu-latest
             compiler: clang-11
+            cxx-compiler: clang++-11
             cmake-args: -GNinja -DWITH_SANITIZER=Memory
             packages:  ninja-build llvm-11-tools
             gcov-exec: llvm-cov-11 gcov
@@ -345,24 +370,28 @@ jobs:
           - name: Windows GCC
             os: windows-latest
             compiler: gcc
+            cxx-compiler: g++
             cmake-args: -G Ninja
             codecov: win64_gcc
 
           - name: Windows GCC Compat No Opt
             os: windows-latest
             compiler: gcc
+            cxx-compiler: g++
             cmake-args: -G Ninja -DZLIB_COMPAT=ON -DWITH_NEW_STRATEGIES=OFF -DWITH_OPTIM=OFF
             codecov: win64_gcc_compat_no_opt
 
           - name: macOS Clang ASAN
             os: macos-latest
             compiler: clang
+            cxx-compiler: clang++
             cmake-args: -DWITH_SANITIZER=Address
             codecov: macos_clang
 
           - name: macOS GCC UBSAN
             os: macos-latest
             compiler: gcc-10
+            cxx-compiler: g++-10
             cmake-args: -DWITH_SANITIZER=Undefined
             packages: gcc@10
             gcov-exec: gcov-10
@@ -419,6 +448,7 @@ jobs:
         cmake ${{ matrix.build-src-dir || '.' }} ${{ matrix.cmake-args }} -DCMAKE_BUILD_TYPE=${{ matrix.build-config || 'Release' }} -DBUILD_SHARED_LIBS=OFF -DWITH_FUZZERS=ON ${{ matrix.codecov && '-DWITH_CODE_COVERAGE=ON' }} -DWITH_MAINTAINER_WARNINGS=ON
       env:
         CC: ${{ matrix.compiler }}
+        CXX: ${{ matrix.cxx-compiler }}
         CFLAGS: ${{ matrix.cflags }}
         LDFLAGS: ${{ matrix.ldflags }}
         CI: true
index 8f3338abffe50c187502e6b38ab44a436da26c8c..41daf5f309ec522a85d512e7fc9513b9b751c54f 100644 (file)
@@ -11,56 +11,66 @@ jobs:
           - name: Ubuntu GCC
             os: ubuntu-latest
             compiler: gcc
+            cxx-compiler: g++
 
           - name: Ubuntu GCC -m32
             os: ubuntu-latest
             compiler: gcc
-            packages: gcc-multilib
-            cmake-args: -DCMAKE_C_FLAGS=-m32
+            cxx-compiler: g++
+            packages: gcc-multilib g++-multilib
+            cmake-args: -DCMAKE_C_FLAGS=-m32 -DCMAKE_CXX_FLAGS=-m32
             cflags: -m32
+            cxxflags: -m32
             ldflags: -m32
 
           - name: Ubuntu GCC ARM HF
             os: ubuntu-latest
             chost: arm-linux-gnueabihf
             compiler: arm-linux-gnueabihf-gcc
+            cxx-compiler: g++-arm-linux-gnueabihf
             cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-armhf.cmake
-            packages: qemu gcc-arm-linux-gnueabihf libc6-dev-armhf-cross
+            packages: qemu gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf libc6-dev-armhf-cross
 
           - name: Ubuntu GCC AARCH64
             os: ubuntu-latest
             chost: aarch64-linux-gnu
             compiler: aarch64-linux-gnu-gcc
+            cxx-compiler: g++-aarch64-linux-gnu
             cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-aarch64.cmake
-            packages: qemu gcc-aarch64-linux-gnu libc6-dev-arm64-cross
+            packages: qemu gcc-aarch64-linux-gnu g++-aarch64-linux-gnu libc6-dev-arm64-cross
 
           - name: Ubuntu GCC PPC
             os: ubuntu-latest
             chost: powerpc-linux-gnu
             compiler: powerpc-linux-gnu-gcc
+            cxx-compiler: g++-powerpc-linux-gnu
             cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-powerpc.cmake
-            packages: qemu gcc-powerpc-linux-gnu libc6-dev-powerpc-cross
+            packages: qemu gcc-powerpc-linux-gnu g++-powerpc-linux-gnu libc6-dev-powerpc-cross
 
           - name: Ubuntu GCC PPC64LE
             os: ubuntu-latest
             chost: powerpc64le-linux-gnu
             compiler: powerpc64le-linux-gnu-gcc
+            cxx-compiler: g++-powerpc64le-linux-gnu
             cmake-args: -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-powerpc64le.cmake
-            packages: qemu gcc-powerpc64le-linux-gnu libc6-dev-ppc64el-cross
+            packages: qemu gcc-powerpc64le-linux-gnu g++-powerpc64le-linux-gnu libc6-dev-ppc64el-cross
 
           - name: macOS Clang
             os: macOS-latest
             compiler: clang
+            cxx-compiler: clang++
 
           - name: macOS Clang Native
             os: macOS-latest
             compiler: clang
+            cxx-compiler: clang++
             cmake-args: -DWITH_NATIVE_INSTRUCTIONS=ON
             configure-args: --native
 
           - name: macOS Clang Symbol Prefix
             os: macOS-latest
             compiler: clang
+            cxx-compiler: clang++
             cmake-args: -DZLIB_SYMBOL_PREFIX=zTest_
             configure-args: --sprefix=zTest_
 
@@ -95,7 +105,9 @@ jobs:
         sh test/pkgcheck.sh
       env:
         CC: ${{ matrix.compiler }}
+        CXX: ${{ matrix.cxx-compiler }}
         CFLAGS: ${{ matrix.cflags }}
+        CXXFLAGS: ${{ matrix.cxxflags }}
         CHOST: ${{ matrix.chost }}
         CMAKE_ARGS: ${{ matrix.cmake-args }}
         CONFIGURE_ARGS: ${{ matrix.configure-args }}
@@ -119,7 +131,9 @@ jobs:
         sh test/abicheck.sh --refresh_if
       env:
         CC: ${{ matrix.compiler }}
+        CXX: ${{ matrix.cxx-compiler }}
         CFLAGS: ${{ matrix.cflags }}
+        CXXFLAGS: ${{ matrix.cxxflags }}
         CHOST: ${{ matrix.chost }}
         CMAKE_ARGS: ${{ matrix.cmake-args }}
         CONFIGURE_ARGS: ${{ matrix.configure-args }}
@@ -132,7 +146,9 @@ jobs:
         sh test/abicheck.sh --zlib-compat --refresh_if
       env:
         CC: ${{ matrix.compiler }}
+        CXX: ${{ matrix.cxx-compiler }}
         CFLAGS: ${{ matrix.cflags }}
+        CXXFLAGS: ${{ matrix.cxxflags }}
         CHOST: ${{ matrix.chost }}
         CMAKE_ARGS: ${{ matrix.cmake-args }}
         CONFIGURE_ARGS: ${{ matrix.configure-args }}
index 07ae63ce74debd93b5c340708f49e7a720eb44bb..9a51cd22b2103bb8397ef6644f24cfbc5914aadf 100644 (file)
@@ -12,18 +12,23 @@ set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
 set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
 set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
 
-find_program(C_COMPILER_FULL_PATH NAMES ${CMAKE_C_COMPILER_TARGET}-w64-mingw32-gcc)
+find_program(C_COMPILER_FULL_PATH NAMES
+    ${CMAKE_C_COMPILER_TARGET}-w64-mingw32-gcc
+    gcc-mingw32-w64-${CMAKE_C_COMPILER_TARGET})
 if(NOT C_COMPILER_FULL_PATH)
     message(FATAL_ERROR "Cross-compiler for ${CMAKE_C_COMPILER_TARGET} not found")
 endif()
 set(CMAKE_C_COMPILER ${C_COMPILER_FULL_PATH})
 
-find_program(CXX_COMPILER_FULL_PATH NAMES ${CMAKE_CXX_COMPILER_TARGET}-w64-mingw32-g++)
+find_program(CXX_COMPILER_FULL_PATH NAMES
+    g++-mingw-w64-${CMAKE_CXX_COMPILER_TARGET}
+    ${CMAKE_CXX_COMPILER_TARGET}-w64-mingw32-g++)
 if(CXX_COMPILER_FULL_PATH)
     set(CMAKE_CXX_COMPILER ${CXX_COMPILER_FULL_PATH})
 endif()
 
-find_program(RC_COMPILER_FULL_PATH NAMES ${CMAKE_RC_COMPILER_TARGET}-w64-mingw32-windres)
+find_program(RC_COMPILER_FULL_PATH NAMES
+    ${CMAKE_RC_COMPILER_TARGET}-w64-mingw32-windres)
 if(RC_COMPILER_FULL_PATH)
     set(CMAKE_RC_COMPILER ${RC_COMPILER_FULL_PATH})
 endif()