From 6ab50fa9e27c4710beb2641fd510dfce08cc2719 Mon Sep 17 00:00:00 2001 From: Aleix Pol Date: Thu, 11 Sep 2014 10:48:06 +0200 Subject: Make code coverage possible in any KDE project Introduces a BUILD_COVERAGE option from a ECMCoverageOption file so that projects can easily enable code coverage in their applications. Furthermore, KDECompilerSettings does include that by default, so all proper KDE projects have the option by default. REVIEW: 120118 --- modules/ECMCoverageOption.cmake | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 modules/ECMCoverageOption.cmake (limited to 'modules/ECMCoverageOption.cmake') diff --git a/modules/ECMCoverageOption.cmake b/modules/ECMCoverageOption.cmake new file mode 100644 index 00000000..8d435de8 --- /dev/null +++ b/modules/ECMCoverageOption.cmake @@ -0,0 +1,36 @@ +#.rst: +# ECMCoverageOption +# -------------------- +# +# Creates a BUILD_COVERAGE option, so the project can be built with code coverage +# support. +# +# :: +# +# BUILD_COVERAGE +# +# If it's on, the project will be compiled with code coverage support, using +# gcov. Otherwise, it will be built normally. +# +# :: +# +# +#============================================================================= +# Copyright 2014 Aleix Pol Gonzalez +# +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file COPYING-CMAKE-SCRIPTS for details. +# +# This software is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the License for more information. +#============================================================================= +# (To distribute this file outside of extra-cmake-modules, substitute the full +# License text for the above reference.) + +option(BUILD_COVERAGE "Build the project with gcov support" OFF) + +if(BUILD_COVERAGE) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lgcov") +endif() -- cgit v1.2.1