From a6b7379d408eec095a02f204e0f314e56ab5258a Mon Sep 17 00:00:00 2001
From: Stephane Del Pino <stephane.delpino44@gmail.com>
Date: Mon, 28 May 2018 18:06:45 +0200
Subject: [PATCH] Adds Coverage build target

---
 CMakeLists.txt | 26 +++++++++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index cdc93b4aa..8fa0c9444 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -22,10 +22,34 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
 set(PASTIS_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
 set(PASTIS_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}")
 
+# Add new build types
+message("* Adding build types...")
+SET(CMAKE_CXX_FLAGS_COVERAGE
+  "-g -Wall -O0 --coverage"
+  CACHE STRING "Flags used by the C++ compiler during coverage builds."
+  FORCE )
+SET(CMAKE_C_FLAGS_COVERAGE
+  "-g -Wall -O0 --coverage"
+  CACHE STRING "Flags used by the C compiler during coverage builds."
+  FORCE )
+SET(CMAKE_EXE_LINKER_FLAGS_COVERAGE
+  "--coverage"
+  CACHE STRING "Flags used for linking binaries during coverage builds."
+  FORCE )
+SET(CMAKE_SHARED_LINKER_FLAGS_COVERAGE
+  "--coverage"
+  CACHE STRING "Flags used by the shared libraries linker during coverage builds."
+  FORCE )
+MARK_AS_ADVANCED(
+  CMAKE_CXX_FLAGS_COVERAGE
+  CMAKE_C_FLAGS_COVERAGE
+  CMAKE_EXE_LINKER_FLAGS_COVERAGE
+  CMAKE_SHARED_LINKER_FLAGS_COVERAGE )
+
 # Default build type is RelWIthDebInfo
 if(NOT CMAKE_BUILD_TYPE)
   set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
-      "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel."
+      "Choose the type of build: Debug Release RelWithDebInfo MinSizeRel Coverage."
       FORCE)
 endif(NOT CMAKE_BUILD_TYPE)
 
-- 
GitLab