[CMake] Activating coverage with ctest

Andy Cedilnik andy.cedilnik at kitware.com
Thu Jan 19 07:42:45 EST 2006


Hi Anton,

Try setting CFLAGS CXXFLAGS and LDFLAGS as environment variables before 
you run CMake for the first time.

       Andy

ANTON DEGUET wrote:
> Thanks to both you and Xavier,
>
> I had seen this FAQ but I was wandering if there was a way to have this somewhat automated using CMake.  I played a bit with my DartConfig.cmake and I now have:
> IF(CMAKE_COMPILER_IS_GNUCXX)
>   SET(CTEST_COVERAGE_COMMAND ${COVERAGE_COMMAND})
>   SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -ftest-coverage -fprofile-arcs")
>   SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -ftest-coverage -fprofile-arcs")
>   SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -ftest-coverage -fprofile-arcs")
>   LINK_LIBRARIES(gcov)
> ENDIF(CMAKE_COMPILER_IS_GNUCXX)
>
> This seems to work but I have a few pending questions:
>
> -1- Does this make any sense anyway?
>
> -2- In the FAQ, you don't have a linker option to specify -lgcov.  Is this normal?
>
> -3- The tests seem much slower.  Before I dig in the gcc documentation, is this to be expected?
>
> -4- This one should probably be in a different thread, but if I try to build a shared library on Mac OS X using the makefile generator I get the following error:
> ld: common symbols not allowed with MH_DYLIB output format with the -multi_module option
> /usr/lib/gcc/powerpc-apple-darwin8/4.0.1/libgcov.a(_gcov.o) definition of common ___gcov_var (size 4128)
> /usr/bin/libtool: internal link edit command failed
> Any clue?
>
> Anton
>
>
> ----- Original Message -----
> From: Andy Cedilnik <andy.cedilnik at kitware.com>
> Date: Wednesday, January 18, 2006 2:56 pm
> Subject: Re: [CMake] Activating coverage with ctest
>
>   
>> Hi Anton,
>>
>> Please check the CTest FAQ:
>>
>> http://www.cmake.org/Wiki/CTest:FAQ#How_can_I_perform_coverage_test.3F
>>
>>       Andy
>>
>> ANTON DEGUET wrote:
>>
>>     
>>> Hello,
>>>
>>> I feel like this is a simple question but I can't figure out the 
>>>       
>> answer.  When 
>>     
>>> I try to use ctest -DExperimentalCoverage, I get:
>>>
>>> cisst> ctest -D ExperimentalCoverage
>>>   Site: Macintosh.local
>>>   Build name: Darwin-g++-4.0.1--CoVeNuInOs-Py-CNe
>>> Performing coverage
>>> Cannot find any coverage files.
>>>
>>> Is there something specific to add in my DartConfig.cmake?
>>>
>>> What I currently have is:
>>> # Options for Dart2
>>> SET(DROP_METHOD "xmlrpc")
>>> SET(DROP_SITE "http://lacuna.cs.jhu.edu:8081")
>>> SET(DROP_LOCATION "cisst")
>>> SET(COMPRESS_SUBMISSION ON)
>>>
>>> # the specified NIGHLY_START_TIME. Time is specified in 24 hour 
>>>       
>> format.>SET (NIGHTLY_START_TIME "01:00:00 EDT")
>>     
>>> # Coverage
>>> SET(CTEST_COVERAGE_COMMAND ${COVERAGE_COMMAND})
>>>
>>>
>>> Anton
>>>
>>> _______________________________________________
>>> CMake mailing list
>>> CMake at cmake.org
>>> http://www.cmake.org/mailman/listinfo/cmake
>>>  
>>>
>>>       
>> -- 
>> Andy Cedilnik
>> Kitware Inc.
>>
>>     




More information about the CMake mailing list