[CMake] Using gcov/lcov and valgrind with cmake
Ben Boeckel
ben.boeckel at kitware.com
Thu Nov 4 14:28:56 EDT 2010
Gerhard Gappmeier <gerhard.gappmeier at ascolab.com> wrote:
> Hi all,
>
> I'm trying to figure out how to use gcov and maybe also lcov with cmake.
> I know it works using ctest, I've seen that in several wiki entries,
> but I could not find one single example on how to use it.
> The wiki only shows the commandline args for GCC, but no cmake examples.
>
> I attached a simple hello world project with two tests (ADD_TEST) which work.
> I tried to add the "ctest_coverage" and "ctest_memcheck" commands but I can't
> get them working.
>
> Maybe somebody can complete this example.
>
> IMO a new section about gcov and valgrind should be added to
> http://www.cmake.org/cmake/help/cmake_tutorial.html
> This would help a lot of people.
Hi,
I have a setup for doing something that you might be looking for. In the
top-level CMakeLists.txt[1], I add some options to build with coverage.
I also have a couple of macros[2] which make generating testing targets
much nicer[3].
These macros do not assume CTest is enabled nor conflict with it. AFAIK
they are gcov-specific, but another option could be added to use lcov
instead. Similar with valgrind.
If you have any questions or suggestions, feel free to ask.
--Ben
[1]http://git.benboeckel.net/?p=chasmd.git;a=blob;f=CMakeLists.txt
[2]http://git.benboeckel.net/?p=chasmd.git;a=blob;f=cmake/test.cmake
[3]http://git.benboeckel.net/?p=chasmd.git;a=blob;f=test/libchasm/CMakeLists.txt
More information about the CMake
mailing list