From 0ccfffc22b842284a0292da8570a7db39a696859 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Wed, 3 Sep 2025 16:22:32 +0200 Subject: [PATCH] clang link fix --- CMakeLists.txt | 24 ++++++++++-------------- src/CMakeLists.txt | 9 ++++++++- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 25a94bbc19..c36532b53a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -317,22 +317,18 @@ if(CURL_CODE_COVERAGE) set(CURL_COVERAGE_CFLAGS "") set(CURL_COVERAGE_LIBS "") if(CMAKE_C_COMPILER_ID STREQUAL "GNU") - find_program(COVERAGE_EXECUTABLE "gcov") - if(COVERAGE_EXECUTABLE) - list(APPEND CURL_COVERAGE_MACROS "NDEBUG") - list(APPEND CURL_COVERAGE_CFLAGS "-O0" "-g" "-fprofile-arcs") - if(CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 4.1) - list(APPEND CURL_COVERAGE_CFLAGS "--coverage") - else() - list(APPEND CURL_COVERAGE_CFLAGS "-ftest-coverage") - endif() - list(APPEND CURL_COVERAGE_LIBS "gcov") + list(APPEND CURL_COVERAGE_MACROS "NDEBUG") + list(APPEND CURL_COVERAGE_CFLAGS "-O0" "-g" "-fprofile-arcs") + if(CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 4.1) + list(APPEND CURL_COVERAGE_CFLAGS "--coverage") + else() + list(APPEND CURL_COVERAGE_CFLAGS "-ftest-coverage") endif() + list(APPEND CURL_COVERAGE_LIBS "gcov") elseif(CMAKE_C_COMPILER_ID STREQUAL "Clang") - find_program(COVERAGE_EXECUTABLE "llvm-cov") - list(APPEND CURL_COVERAGE_MACROS "NDEBUG") - list(APPEND CURL_COVERAGE_CFLAGS "-O0" "-g" "--coverage") - endif() + list(APPEND CURL_COVERAGE_MACROS "NDEBUG") + list(APPEND CURL_COVERAGE_CFLAGS "-O0" "-g" "--coverage") + list(APPEND CURL_COVERAGE_LDFLAGS "--coverage") endif() endif() diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 910e3b3f20..e6d6286fa7 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -24,7 +24,6 @@ set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS ${CURL_DEBUG_MACROS} ${CURL_COVERAGE_MACROS}) set_property(DIRECTORY APPEND PROPERTY COMPILE_OPTIONS ${CURL_COVERAGE_CFLAGS}) -message(STATUS "|${CURL_COVERAGE_CFLAGS}|") set(_curl_cfiles_gen "") set(_curl_hfiles_gen "") @@ -131,6 +130,14 @@ if(ENABLE_UNICODE AND MINGW AND NOT MINGW32CE) endif() endif() +if(CURL_CODE_COVERAGE) + if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.13) + target_link_options(${EXE_NAME} PRIVATE ${CURL_COVERAGE_LDFLAGS}) + else() + target_link_libraries(${EXE_NAME} PRIVATE ${CURL_COVERAGE_LDFLAGS}) + endif() +endif() + ################################################################################ install(TARGETS ${EXE_NAME} EXPORT ${TARGETS_EXPORT_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR})