From b696494133cbf79e133c43101a1bbaa39b6f35fe Mon Sep 17 00:00:00 2001 From: Dave Gosselin Date: Thu, 2 Oct 2025 14:41:05 -0400 Subject: [PATCH] MDEV-37791: gcov doesn't work on macOS Clang is the default compiler on macOS and it requires the --coverage flag to enable gcov compatible output. gcov.h is not available on macOS, so don't set the -DHAVE_gcov variable. --- CMakeLists.txt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8e9d0da5a4e..ef5b901342e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -297,9 +297,13 @@ IF(CMAKE_C_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_GLIBCXX_DEBUG -D_GLIBCXX_ASSERTIONS") ENDIF() -OPTION(ENABLE_GCOV "Enable gcov (debug, Linux builds only)" OFF) +OPTION(ENABLE_GCOV "Enable gcov (debug, macOS and Linux builds only)" OFF) IF (ENABLE_GCOV) - MY_CHECK_AND_SET_COMPILER_FLAG("-DHAVE_gcov -fprofile-arcs -ftest-coverage -lgcov" DEBUG) + IF (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") + MY_CHECK_AND_SET_COMPILER_FLAG("--coverage" DEBUG) + ELSE() + MY_CHECK_AND_SET_COMPILER_FLAG("-DHAVE_gcov -fprofile-arcs -ftest-coverage -lgcov" DEBUG) + ENDIF() ENDIF() OPTION(WITHOUT_PACKED_SORT_KEYS "disable packed sort keys" OFF)