From e4900d75b100d2acc35b7989c0b301cc22ba874d Mon Sep 17 00:00:00 2001 From: Brendan Moran Date: Wed, 18 Nov 2015 18:00:03 +0000 Subject: [PATCH 1/3] Add code coverage options, enabled by yotta config --- CMake/Platform/mbedOS-GNU-C.cmake | 6 ++++++ CMake/Platform/mbedOS-GNU-CXX.cmake | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/CMake/Platform/mbedOS-GNU-C.cmake b/CMake/Platform/mbedOS-GNU-C.cmake index 71e5d52..5420f4a 100755 --- a/CMake/Platform/mbedOS-GNU-C.cmake +++ b/CMake/Platform/mbedOS-GNU-C.cmake @@ -30,3 +30,9 @@ set(CMAKE_ASM_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG") set(CMAKE_ASM_FLAGS_RELEASE_INIT "-Os -DNDEBUG") set(CMAKE_ASM_FLAGS_RELWITHDEBINFO_INIT "-Os -g -gdwarf-3 -DNDEBUG") set(CMAKE_INCLUDE_SYSTEM_FLAG_ASM "-isystem ") + +if(DEFINED YOTTA_CFG_DEBUG_OPTIONS_COVERAGE) + set(CMAKE_C_FLAGS_DEBUG_INIT "${CMAKE_C_FLAGS_DEBUG_INIT} -fprofile-arcs -ftest-coverage") + set(CMAKE_ASM_FLAGS_DEBUG_INIT "${CMAKE_ASM_FLAGS_DEBUG_INIT} -fprofile-arcs -ftest-coverage") + set(CMAKE_C_LINK_EXECUTABLE "${CMAKE_C_LINK_EXECUTABLE} -fprofile-arcs -lgcov") +endif() diff --git a/CMake/Platform/mbedOS-GNU-CXX.cmake b/CMake/Platform/mbedOS-GNU-CXX.cmake index c4d3218..5cb6640 100755 --- a/CMake/Platform/mbedOS-GNU-CXX.cmake +++ b/CMake/Platform/mbedOS-GNU-CXX.cmake @@ -33,3 +33,8 @@ set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG") set(CMAKE_CXX_FLAGS_RELEASE_INIT "-Os -DNDEBUG") set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-Os -g -gdwarf-3 -DNDEBUG") set(CMAKE_INCLUDE_SYSTEM_FLAG_CXX "-isystem ") + +if(DEFINED YOTTA_CFG_DEBUG_OPTIONS_COVERAGE) + set(CMAKE_CXX_FLAGS_DEBUG_INIT "${CMAKE_CXX_FLAGS_DEBUG_INIT} -fprofile-arcs -ftest-coverage") + set(CMAKE_CXX_LINK_EXECUTABLE "${CMAKE_CXX_LINK_EXECUTABLE} -fprofile-arcs -lgcov") +endif() From 90c91111fa6d0fba5c2cb4a9eaf7f2937b9c09f5 Mon Sep 17 00:00:00 2001 From: Brendan Moran Date: Tue, 15 Dec 2015 13:56:06 -0800 Subject: [PATCH 2/3] Check for truthiness instead of definedness. --- CMake/Platform/mbedOS-GNU-C.cmake | 2 +- CMake/Platform/mbedOS-GNU-CXX.cmake | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CMake/Platform/mbedOS-GNU-C.cmake b/CMake/Platform/mbedOS-GNU-C.cmake index 5420f4a..9eaf649 100755 --- a/CMake/Platform/mbedOS-GNU-C.cmake +++ b/CMake/Platform/mbedOS-GNU-C.cmake @@ -31,7 +31,7 @@ set(CMAKE_ASM_FLAGS_RELEASE_INIT "-Os -DNDEBUG") set(CMAKE_ASM_FLAGS_RELWITHDEBINFO_INIT "-Os -g -gdwarf-3 -DNDEBUG") set(CMAKE_INCLUDE_SYSTEM_FLAG_ASM "-isystem ") -if(DEFINED YOTTA_CFG_DEBUG_OPTIONS_COVERAGE) +if(YOTTA_CFG_DEBUG_OPTIONS_COVERAGE) set(CMAKE_C_FLAGS_DEBUG_INIT "${CMAKE_C_FLAGS_DEBUG_INIT} -fprofile-arcs -ftest-coverage") set(CMAKE_ASM_FLAGS_DEBUG_INIT "${CMAKE_ASM_FLAGS_DEBUG_INIT} -fprofile-arcs -ftest-coverage") set(CMAKE_C_LINK_EXECUTABLE "${CMAKE_C_LINK_EXECUTABLE} -fprofile-arcs -lgcov") diff --git a/CMake/Platform/mbedOS-GNU-CXX.cmake b/CMake/Platform/mbedOS-GNU-CXX.cmake index 5cb6640..465a694 100755 --- a/CMake/Platform/mbedOS-GNU-CXX.cmake +++ b/CMake/Platform/mbedOS-GNU-CXX.cmake @@ -34,7 +34,7 @@ set(CMAKE_CXX_FLAGS_RELEASE_INIT "-Os -DNDEBUG") set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-Os -g -gdwarf-3 -DNDEBUG") set(CMAKE_INCLUDE_SYSTEM_FLAG_CXX "-isystem ") -if(DEFINED YOTTA_CFG_DEBUG_OPTIONS_COVERAGE) +if(YOTTA_CFG_DEBUG_OPTIONS_COVERAGE) set(CMAKE_CXX_FLAGS_DEBUG_INIT "${CMAKE_CXX_FLAGS_DEBUG_INIT} -fprofile-arcs -ftest-coverage") set(CMAKE_CXX_LINK_EXECUTABLE "${CMAKE_CXX_LINK_EXECUTABLE} -fprofile-arcs -lgcov") endif() From c4c4ec88bd9c6d37a4a8655e6a410bd758738b19 Mon Sep 17 00:00:00 2001 From: Brendan Moran Date: Wed, 16 Dec 2015 07:57:58 -0800 Subject: [PATCH 3/3] Compile flags should be set on a per-module basis Delete global compiler flags for coverage. --- CMake/Platform/mbedOS-GNU-C.cmake | 2 -- CMake/Platform/mbedOS-GNU-CXX.cmake | 1 - 2 files changed, 3 deletions(-) diff --git a/CMake/Platform/mbedOS-GNU-C.cmake b/CMake/Platform/mbedOS-GNU-C.cmake index 9eaf649..a64c487 100755 --- a/CMake/Platform/mbedOS-GNU-C.cmake +++ b/CMake/Platform/mbedOS-GNU-C.cmake @@ -32,7 +32,5 @@ set(CMAKE_ASM_FLAGS_RELWITHDEBINFO_INIT "-Os -g -gdwarf-3 -DNDEBUG") set(CMAKE_INCLUDE_SYSTEM_FLAG_ASM "-isystem ") if(YOTTA_CFG_DEBUG_OPTIONS_COVERAGE) - set(CMAKE_C_FLAGS_DEBUG_INIT "${CMAKE_C_FLAGS_DEBUG_INIT} -fprofile-arcs -ftest-coverage") - set(CMAKE_ASM_FLAGS_DEBUG_INIT "${CMAKE_ASM_FLAGS_DEBUG_INIT} -fprofile-arcs -ftest-coverage") set(CMAKE_C_LINK_EXECUTABLE "${CMAKE_C_LINK_EXECUTABLE} -fprofile-arcs -lgcov") endif() diff --git a/CMake/Platform/mbedOS-GNU-CXX.cmake b/CMake/Platform/mbedOS-GNU-CXX.cmake index 465a694..1b42a14 100755 --- a/CMake/Platform/mbedOS-GNU-CXX.cmake +++ b/CMake/Platform/mbedOS-GNU-CXX.cmake @@ -35,6 +35,5 @@ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-Os -g -gdwarf-3 -DNDEBUG") set(CMAKE_INCLUDE_SYSTEM_FLAG_CXX "-isystem ") if(YOTTA_CFG_DEBUG_OPTIONS_COVERAGE) - set(CMAKE_CXX_FLAGS_DEBUG_INIT "${CMAKE_CXX_FLAGS_DEBUG_INIT} -fprofile-arcs -ftest-coverage") set(CMAKE_CXX_LINK_EXECUTABLE "${CMAKE_CXX_LINK_EXECUTABLE} -fprofile-arcs -lgcov") endif()