[CMake] Problems with coverage on OS X Server

NoRulez norulez at me.com
Sat Mar 24 12:42:19 EDT 2012


I've tried to set the C/C++ compiler as followed:
    if (APPLE)
        SET(CMAKE_C_COMPILER "/usr/bin/clang")
        SET(CMAKE_CXX_COMPILER "/usr/bin/clang++")
    endif (APPLE)

But the result from the build is:
 -- Update Continuous --
 -- Configure Continuous --
 -- Reading custom configuration Continuous - Arachne --
 -- Build Continuous --
 -- Test Continuous --
No tests were found!!!
 -- Coverage Continuous --
 Cannot find any coverage files. Ignoring Coverage request.
 -- Memcheck Continuous --
No tests were found!!!
 -- Submit Continuous --

Best Regards
NoRulez

Am 24. März 2012 um 17:31 schrieb "NoRulez" <norulez at me.com>:

> I've found this http://stackoverflow.com/questions/7031126/switching-between-gcc-and-clang-llvm-using-cmake
>
> Is this all which I need to configure or did you do something different/special?
> Please could you post your settings to use clang instead of gcc on OS X
>
> Thanks in advance
>
> Best Regards
> NoRulez
>
> Am 24. März 2012 um 15:31 schrieb David Cole <david.cole at kitware.com>:
>
>> Well, I've had mixed results trying this myself.
>>
>> With the trivial SmallAndFast project, I get a good coverage
>> measurement on 5 lines of code in 1 source file:
>> http://my.cdash.org/viewCoverage.php?buildid=313323&status=3
>>
>> With CMake itself, I get a bunch of *.gcda files generated in the
>> build tree, but the coverage info does not get communicated properly
>> via a ctest script sending to CDash. Looks like there's some issue
>> with ctest parsing of the gcov output using ctest 2.8.7 and clang on
>> the Mac and gcov 4.2.1:
>>
>> $ gcov --version
>> gcov (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)
>>
>> Looks like there's a problem somebody will have to fix before it will
>> work. Unfortunately, the gcov parsing code in ctest is a bit of a
>> tangle -- last time I was in there, I fixed some stuff up to work in a
>> MinGW environment, and it's not pretty. Also unfortunately, I don't
>> think I'll have the bandwidth to look at this myself in the near
>> future: anybody want to volunteer to take a look and submit a patch to
>> get this working...?
>>
>>
>> Thx,
>> David
>>
>>
>> On Sat, Mar 24, 2012 at 8:53 AM, David Cole <david.cole at kitware.com> wrote:
>> > The answer to that stackoverflow question recommends using
>> > clang/clang++ instead. (I have not tried this yet myself, but would
>> > not be entirely surprised to find out it's correct. I have observed
>> > the zero coverage phenomenon on my own Mac laptop, but have sufficient
>> > coverage capabilities elsewhere... so I didn't care enough to follow
>> > up on it previously.)
>> >
>> >
>> > HTH,
>> > David
>> >
>> >
>> >
>> > On Sat, Mar 24, 2012 at 8:51 AM, David Cole <david.cole at kitware.com> wrote:
>> >> Perhaps it's because of this problem with the Mac "gcc" which is not
>> >> *really* just gcc anymore, and apparently doesn't support gcov
>> >> transparently as it should...
>> >>
>> >>  http://stackoverflow.com/questions/7988355/getting-0-gcov-coverage-for-a-mac-app
>> >>
>> >>
>> >> On Sat, Mar 24, 2012 at 7:45 AM,  <norulez at me.com> wrote:
>> >>> Hello,
>> >>>
>> >>> I have the following code in the main CTestScript.cmake which I call with
>> >>> "ctest -S CTestScript.cmake, Continuous":
>> >>>
>> >>>     SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -Wall -W
>> >>> -Wunused-variable -Wunused-parameter -Wunused-function -Wunused
>> >>> -Wno-system-headers -Wno-deprecated -Woverloaded-virtual -Wwrite-strings
>> >>> -fprofile-arcs -ftest-coverage")
>> >>>     SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -Wall -W -fprofile-arcs
>> >>> -ftest-coverage")
>> >>>     SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fprofile-arcs
>> >>> -ftest-coverage")
>> >>>     SET(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS}
>> >>> -fprofile-arcs -ftest-coverage")
>> >>>     SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}
>> >>> -fprofile-arcs -ftest-coverage")
>> >>>
>> >>>     FILE(WRITE "${CTEST_BINARY_DIRECTORY}/CMakeCache.txt" "
>> >>>          CMAKE_CXX_FLAGS:STRING=@CMAKE_CXX_FLAGS@
>> >>>          CMAKE_C_FLAGS:STRING=@CMAKE_C_FLAGS@
>> >>>          CMAKE_EXE_LINKER_FLAGS:STRING=@CMAKE_EXE_LINKER_FLAGS@
>> >>>          CMAKE_MODULE_LINKER_FLAGS:STRING=@CMAKE_MODULE_LINKER_FLAGS@
>> >>>          CMAKE_SHARED_LINKER_FLAGS:STRING=@CMAKE_SHARED_LINKER_FLAGS@
>> >>>          ")
>> >>>
>> >>>
>> >>>     ## -- Configure
>> >>>     message (" -- Configure ${MODEL} - ${CTEST_BUILD_NAME} --")
>> >>>     ctest_configure (BUILD "${CTEST_BINARY_DIRECTORY}")
>> >>>
>> >>>
>> >>>
>> >>> On Windows XP and on Ubuntu Linux Server 11.10 it works and I get coverage
>> >>> information.
>> >>>
>> >>> But on OS X Lion Server I didn't get any coverage informations.
>> >>>
>> >>> On OS X the command gcov is available.
>> >>>
>> >>>
>> >>> Could someone please help?
>> >>>
>> >>>
>> >>> Thanks in advance
>> >>>
>> >>>
>> >>> Best Regards
>> >>>
>> >>> NoRulez
>> >>>
>> >>>
>> >>> --
>> >>>
>> >>> Powered by www.kitware.com
>> >>>
>> >>> Visit other Kitware open-source projects at
>> >>> http://www.kitware.com/opensource/opensource.html
>> >>>
>> >>> Please keep messages on-topic and check the CMake FAQ at:
>> >>> http://www.cmake.org/Wiki/CMake_FAQ
>> >>>
>> >>> Follow this link to subscribe/unsubscribe:
>> >>> http://www.cmake.org/mailman/listinfo/cmake
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20120324/a4bd5e9e/attachment.htm>


More information about the CMake mailing list