Browse Source

ENH: Added option WITH_COVERAGE to CMakeLists.txt

Jean-Christophe Fillion-Robin 15 years ago
parent
commit
23ec2e7091
2 changed files with 18 additions and 0 deletions
  1. 16 0
      CMakeLists.txt
  2. 2 0
      SuperBuild.cmake

+ 16 - 0
CMakeLists.txt

@@ -113,6 +113,11 @@ IF(BUILD_TESTING)
 ENDIF()
 
 #-----------------------------------------------------------------------------
+# Coverage
+#
+OPTION(WITH_COVERAGE "Enable/Disable coverage" OFF)
+
+#-----------------------------------------------------------------------------
 # QT
 #
 ctkMacroSetupQt()
@@ -281,6 +286,17 @@ IF(CTK_SUPERBUILD)
 ENDIF()
 
 #-----------------------------------------------------------------------------
+# Set coverage flag
+#
+IF(WITH_COVERAGE)
+  IF(CMAKE_CXX_COMPILER_ID AND ${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
+    SET(coverage_flags "-g -fdiagnostics-show-option -fprofile-arcs -ftest-coverage -O3 -DNDEBUG")
+    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${coverage_flags}")
+    SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${coverage_flags}")
+  ENDIF()
+ENDIF()
+
+#-----------------------------------------------------------------------------
 # Add CTK library subdirectories
 #
 FOREACH(lib ${CTK_LIBS})

+ 2 - 0
SuperBuild.cmake

@@ -7,6 +7,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION ${cmake_version_required})
 # CTK_KWSTYLE_EXECUTABLE
 # DCMTK_DIR
 # QT_QMAKE_EXECUTABLE
+# WITH_COVERAGE
 #
 
 #-----------------------------------------------------------------------------
@@ -324,6 +325,7 @@ ExternalProject_Add(${proj}
     ${ctk_superbuild_boolean_args}
     -DCTK_SUPERBUILD:BOOL=OFF
     -DCTEST_USE_LAUNCHERS:BOOL=${CTEST_USE_LAUNCHERS}
+    -DWITH_COVERAGE:BOOL=${WITH_COVERAGE}
     -DCMAKE_INSTALL_PREFIX:PATH=${ep_install_dir}
     -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
     -DCMAKE_CXX_FLAGS:STRING=${CTK_CXX_FLAGS}