[CMake] using gcov with cmake
    Ioan Calin Borcoman 
    iborco at gmail.com
       
    Thu Oct  2 08:33:10 EDT 2008
    
    
  
Hi,
I am trying to use gcov with cmake (I'm new to both gcov and cmake).
My first attempt was like this:
   add_executable(hello main.cpp)
   set(CMAKE_CXX_FLAGS -fprofile-arcs -ftest-coverage)
   target_link_libraries(hello -fprofile-arcs)
As recommended, I've created a build dir and did the compilation from there:
   $ cmake ..
   $ make
   $ ./hello
The problem is that no coverage data was produced.
Then I've changed the CMakeLists.txt to this:
   include(CTest)
   add_executable(hello main.cpp)
   add_test(hello_test ${EXECUTABLE_OUTPUT_PATH}/hello)
   add_definitions(-fprofile-arcs -ftest-coverage)
   target_link_libraries(hello -fprofile-arcs)
Then run this from the build dir:
   $ cmake ..
   $ make
   $ make test
   $ make ExperimentalCoverage
Now coverage worked and I've got the coverage output under
build/Testing/CoverageInfo.
If I run "make Experimental" all the above steps are run, but I don't
understand very well if the results are really uploaded and if yes,
where can I view them. On the console I get something like
   Drop site: http://public.kitware.com/cgi-bin/HTTPUploadDartFile.cgi
   Uploaded: ...
   Using HTTP trigger method
   Trigger site:
http://public.kitware.com/cgi-bin/Submit-Random-TestingResults.cgi
   Dart server triggered...
   Submission successful
Now my questions:
1. is this the way to do a code coverage? why no coverage is produced
when I run the hello app?
2. is there a way to store and convert all the test/coverage/etc
results normally uploaded to a dart server into a local directory for
local browsing?
3. is there a better way to test/do coverage?
Thanx,
Ionutz
    
    
More information about the CMake
mailing list