changeset 71:88f408092b6d

Support for code coverage analysis with gcov.
author Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
date Thu, 31 Jan 2013 16:15:39 +0100
parents c2ad34480216
children b4185273c14a
files CMakeLists.txt
diffstat 1 files changed, 10 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/CMakeLists.txt	Sat Jan 12 12:15:34 2013 +0100
+++ b/CMakeLists.txt	Thu Jan 31 16:15:39 2013 +0100
@@ -3,10 +3,16 @@
 
 #INCLUDE(PrecompiledHeader.cmake)
 
+OPTION(COVERAGE "Enable code coverage analysis" OFF)
+
+IF(COVERAGE)
+  SET(COVERAGE_FLAGS "--coverage")
+ENDIF()
+
 MACRO(NEW_TEST file)
   ADD_EXECUTABLE(${file} ${file}.cpp ${TEST_SOURCES})
   ADD_TEST(${file} ${file})
-  TARGET_LINK_LIBRARIES(${file} ${QT_LIBRARIES} ${Boost_LIBRARIES})
+  TARGET_LINK_LIBRARIES(${file} ${QT_LIBRARIES} ${Boost_LIBRARIES} ${COVERAGE_FLAGS})
 ENDMACRO()
 
 SET(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/CMake_Modules/")
@@ -108,6 +114,9 @@
 #ADD_DEFINITIONS("-O3")
 ADD_DEFINITIONS("-g2 -fno-inline")
 
+ADD_DEFINITIONS(${COVERAGE_FLAGS})
+SET(CMAKE_EXE_LINKER_FLAGS "${COVERAGE_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}")
+
 ADD_EXECUTABLE(DeDupe Apps/DeDupe.cpp ${SOURCES} ${MOC_SOURCES})
 TARGET_LINK_LIBRARIES(
 	DeDupe