From: Alexander Turenko <alexander.turenko@tarantool.org> To: Vladislav Shpilevoy <v.shpilevoy@tarantool.org> Cc: Vladimir Davydov <vdavydov.dev@gmail.com>, tarantool-patches@freelists.org Subject: Re: [PATCH 1/1] Fix gcov on Mac Date: Fri, 21 Dec 2018 12:58:47 +0300 [thread overview] Message-ID: <20181221095847.pgzzjfmnx2gvum37@tkn_work_nb> (raw) In-Reply-To: <20181218101108.wt5vd2sxztx7d4pc@esperanza> I think we should check for __gcov_flush on Mac OS too, because it is in the libraries; for me in: /Applications/Xcode83.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/8.1.0/lib/darwin/libclang_rt.profile_tvos.a /Applications/Xcode83.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/8.1.0/lib/darwin/libclang_rt.profile_tvossim.a Don't sure which one is actually used. But we should not add -lgcov (it assumed by -ftest-coverage on GCC, but not on clang). This patch works for me on Mac OS (and should on Linux too): diff --git a/cmake/profile.cmake b/cmake/profile.cmake index 02d622187..3e8f1499b 100644 --- a/cmake/profile.cmake +++ b/cmake/profile.cmake @@ -1,4 +1,6 @@ -check_library_exists (gcov __gcov_flush "" HAVE_GCOV) +set(CMAKE_REQUIRED_FLAGS "-fprofile-arcs -ftest-coverage") +check_library_exists("" __gcov_flush "" HAVE_GCOV) +set(CMAKE_REQUIRED_FLAGS "") set(ENABLE_GCOV_DEFAULT OFF) option(ENABLE_GCOV "Enable integration with gcov, a code coverage program" ${ENABLE_GCOV_DEFAULT}) WBR, Alexander Turenko. On Tue, Dec 18, 2018 at 01:11:08PM +0300, Vladimir Davydov wrote: > Alexander, please take a look. > > On Mon, Dec 17, 2018 at 02:58:21PM +0300, Vladislav Shpilevoy wrote: > > --- > > https://github.com/tarantool/tarantool/tree/gerold103/enable-gcov-on-mac > > > > cmake/profile.cmake | 12 +++++++----- > > 1 file changed, 7 insertions(+), 5 deletions(-) > > > > diff --git a/cmake/profile.cmake b/cmake/profile.cmake > > index 278399155..866c8a787 100644 > > --- a/cmake/profile.cmake > > +++ b/cmake/profile.cmake > > @@ -1,12 +1,16 @@ > > -check_library_exists (gcov __gcov_flush "" HAVE_GCOV) > > +check_library_exists(gcov __gcov_flush "" HAVE_GCOV) > > > > set(ENABLE_GCOV_DEFAULT OFF) > > option(ENABLE_GCOV "Enable integration with gcov, a code coverage program" ${ENABLE_GCOV_DEFAULT}) > > > > if (ENABLE_GCOV) > > if (NOT HAVE_GCOV) > > - message (FATAL_ERROR > > - "ENABLE_GCOV option requested but gcov library is not found") > > + if (CMAKE_COMPILER_IS_CLANG) > > + message(WARNING "GCOV is available on clang from 3.0.0") > > + set(HAVE_GCOV 1) > > + else() > > + message(FATAL_ERROR "ENABLE_GCOV option requested but gcov library is not found") > > + endif() > > endif() > > > > add_compile_flags("C;CXX" > > @@ -18,8 +22,6 @@ if (ENABLE_GCOV) > > set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -ftest-coverage") > > set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fprofile-arcs") > > set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -ftest-coverage") > > - > > - # add_library(gcov SHARED IMPORTED) > > endif() > > > > if (NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
next prev parent reply other threads:[~2018-12-21 9:58 UTC|newest] Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-12-17 11:58 Vladislav Shpilevoy 2018-12-18 10:11 ` Vladimir Davydov 2018-12-21 9:58 ` Alexander Turenko [this message] 2018-12-21 10:54 ` [tarantool-patches] " Vladislav Shpilevoy 2018-12-21 13:39 ` Vladislav Shpilevoy 2018-12-21 13:46 ` Alexander Turenko 2018-12-21 15:33 ` Vladimir Davydov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20181221095847.pgzzjfmnx2gvum37@tkn_work_nb \ --to=alexander.turenko@tarantool.org \ --cc=tarantool-patches@freelists.org \ --cc=v.shpilevoy@tarantool.org \ --cc=vdavydov.dev@gmail.com \ --subject='Re: [PATCH 1/1] Fix gcov on Mac' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox