Merge lp:~chris.gagnon/cmake-extras/lowercase-lcov-cleanup-whitespace into lp:cmake-extras

Proposed by Chris Gagnon
Status: Needs review
Proposed branch: lp:~chris.gagnon/cmake-extras/lowercase-lcov-cleanup-whitespace
Merge into: lp:cmake-extras
Diff against target: 228 lines (+67/-67)
3 files modified
EnableCoverageReport.cmake (+24/-24)
FindGcovr.cmake (+43/-0)
Findgcovr.cmake (+0/-43)
To merge this branch: bzr merge lp:~chris.gagnon/cmake-extras/lowercase-lcov-cleanup-whitespace
Reviewer Review Type Date Requested Status
Michi Henning (community) Approve
Allan LeSage Needs Fixing
Jussi Pakkanen (community) Approve
Review via email: mp+221196@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Jussi Pakkanen (jpakkane) wrote :

LGTM

review: Approve
Revision history for this message
Allan LeSage (allanlesage) wrote :

The casing matches not the binary but the supporting cmake file, in this case 'FindLcov.cmake', so this breaks. Surveying the output of 'ls /usr/share/cmake-2.8/Modules/' there doesn't appear to be a standard for casing, although camel-case appears more common. What should we do?

review: Needs Fixing
7. By Chris Gagnon

make gcover follow cmake standard, revert lowercase lcov

Revision history for this message
Michi Henning (michihenning) wrote :

Seeing that Findgcovr will rarely be called directly and normally be dragged in as part of EnableCoverageReport, I think it makes sense to change this.

review: Approve

Unmerged revisions

7. By Chris Gagnon

make gcover follow cmake standard, revert lowercase lcov

6. By Chris Gagnon

lowercase Lcov, clean up whitespace

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'EnableCoverageReport.cmake'
--- EnableCoverageReport.cmake 2014-05-27 12:26:14 +0000
+++ EnableCoverageReport.cmake 2014-05-28 15:24:32 +0000
@@ -37,10 +37,10 @@
37# Bielefeld University37# Bielefeld University
3838
39FIND_PACKAGE(Lcov)39FIND_PACKAGE(Lcov)
40FIND_PACKAGE(gcovr)40FIND_PACKAGE(Gcovr)
4141
42FUNCTION(ENABLE_COVERAGE_REPORT)42FUNCTION(ENABLE_COVERAGE_REPORT)
43 43
44 # argument parsing44 # argument parsing
45 SET(MULTI_VALUE_ARGS FILTER TARGETS TESTS)45 SET(MULTI_VALUE_ARGS FILTER TARGETS TESTS)
46 CMAKE_PARSE_ARGUMENTS(ENABLE_COVERAGE_REPORT "" "" "${MULTI_VALUE_ARGS}" ${ARGN})46 CMAKE_PARSE_ARGUMENTS(ENABLE_COVERAGE_REPORT "" "" "${MULTI_VALUE_ARGS}" ${ARGN})
@@ -50,7 +50,7 @@
50 SET(COVERAGE_REPORT_DIR "${CMAKE_BINARY_DIR}/coveragereport")50 SET(COVERAGE_REPORT_DIR "${CMAKE_BINARY_DIR}/coveragereport")
51 SET(COVERAGE_XML_FILE "${CMAKE_BINARY_DIR}/coverage.xml")51 SET(COVERAGE_XML_FILE "${CMAKE_BINARY_DIR}/coverage.xml")
52 SET(COVERAGE_XML_COMMAND_FILE "${CMAKE_BINARY_DIR}/coverage-xml.cmake")52 SET(COVERAGE_XML_COMMAND_FILE "${CMAKE_BINARY_DIR}/coverage-xml.cmake")
53 53
54 # decide if there is any tool to create coverage data54 # decide if there is any tool to create coverage data
55 SET(TOOL_FOUND FALSE)55 SET(TOOL_FOUND FALSE)
56 IF(LCOV_FOUND OR GCOVR_FOUND)56 IF(LCOV_FOUND OR GCOVR_FOUND)
@@ -59,34 +59,34 @@
59 IF(NOT TOOL_FOUND)59 IF(NOT TOOL_FOUND)
60 MESSAGE(STATUS "Cannot enable coverage targets because neither lcov nor gcovr are found.")60 MESSAGE(STATUS "Cannot enable coverage targets because neither lcov nor gcovr are found.")
61 ENDIF()61 ENDIF()
62 62
63 IF(CMAKE_COMPILER_IS_GNUCXX AND TOOL_FOUND AND "${enable_coverage}")63 IF(CMAKE_COMPILER_IS_GNUCXX AND TOOL_FOUND AND "${enable_coverage}")
64 64
65 MESSAGE(STATUS "Coverage support enabled for targets: ${ENABLE_COVERAGE_REPORT_TARGETS}")65 MESSAGE(STATUS "Coverage support enabled for targets: ${ENABLE_COVERAGE_REPORT_TARGETS}")
66 66
67 # create coverage build type67 # create coverage build type
68 SET(CMAKE_CXX_FLAGS_COVERAGE ${CMAKE_CXX_FLAGS_DEBUG} PARENT_SCOPE)68 SET(CMAKE_CXX_FLAGS_COVERAGE ${CMAKE_CXX_FLAGS_DEBUG} PARENT_SCOPE)
69 SET(CMAKE_C_FLAGS_COVERAGE ${CMAKE_C_FLAGS_DEBUG} PARENT_SCOPE)69 SET(CMAKE_C_FLAGS_COVERAGE ${CMAKE_C_FLAGS_DEBUG} PARENT_SCOPE)
70 SET(CMAKE_CONFIGURATION_TYPES ${CMAKE_CONFIGURATION_TYPES} coverage PARENT_SCOPE)70 SET(CMAKE_CONFIGURATION_TYPES ${CMAKE_CONFIGURATION_TYPES} coverage PARENT_SCOPE)
71 71
72 # instrument targets72 # instrument targets
73 SET_TARGET_PROPERTIES(${ENABLE_COVERAGE_REPORT_TARGETS} PROPERTIES COMPILE_FLAGS --coverage73 SET_TARGET_PROPERTIES(${ENABLE_COVERAGE_REPORT_TARGETS} PROPERTIES COMPILE_FLAGS --coverage
74 LINK_FLAGS --coverage)74 LINK_FLAGS --coverage)
75 75
76 # html report76 # html report
77 IF (LCOV_FOUND)77 IF (LCOV_FOUND)
78 78
79 MESSAGE(STATUS "Enabling HTML coverage report")79 MESSAGE(STATUS "Enabling HTML coverage report")
80 80
81 # set up coverage target81 # set up coverage target
82 82
83 ADD_CUSTOM_COMMAND(OUTPUT ${COVERAGE_RAW_FILE}83 ADD_CUSTOM_COMMAND(OUTPUT ${COVERAGE_RAW_FILE}
84 COMMAND ${LCOV_EXECUTABLE} -c -d ${CMAKE_BINARY_DIR} -o ${COVERAGE_RAW_FILE}84 COMMAND ${LCOV_EXECUTABLE} -c -d ${CMAKE_BINARY_DIR} -o ${COVERAGE_RAW_FILE}
85 WORKING_DIRECTORY ${CMAKE_BINARY_DIR}85 WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
86 COMMENT "Collecting coverage data"86 COMMENT "Collecting coverage data"
87 DEPENDS ${ENABLE_COVERAGE_REPORT_TARGETS} ${ENABLE_COVERAGE_REPORT_TESTS}87 DEPENDS ${ENABLE_COVERAGE_REPORT_TARGETS} ${ENABLE_COVERAGE_REPORT_TESTS}
88 VERBATIM)88 VERBATIM)
89 89
90 # filter unwanted stuff90 # filter unwanted stuff
91 LIST(LENGTH ENABLE_COVERAGE_REPORT_FILTER FILTER_LENGTH)91 LIST(LENGTH ENABLE_COVERAGE_REPORT_FILTER FILTER_LENGTH)
92 IF(${FILTER_LENGTH} GREATER 0)92 IF(${FILTER_LENGTH} GREATER 0)
@@ -98,7 +98,7 @@
98 ELSE()98 ELSE()
99 SET(FILTER "")99 SET(FILTER "")
100 ENDIF()100 ENDIF()
101 101
102 ADD_CUSTOM_COMMAND(OUTPUT ${COVERAGE_FILTERED_FILE}102 ADD_CUSTOM_COMMAND(OUTPUT ${COVERAGE_FILTERED_FILE}
103 COMMAND ${LCOV_EXECUTABLE} -e ${COVERAGE_RAW_FILE} "${CMAKE_SOURCE_DIR}*" -o ${COVERAGE_FILTERED_FILE}103 COMMAND ${LCOV_EXECUTABLE} -e ${COVERAGE_RAW_FILE} "${CMAKE_SOURCE_DIR}*" -o ${COVERAGE_FILTERED_FILE}
104 ${FILTER}104 ${FILTER}
@@ -111,34 +111,34 @@
111 DEPENDS ${COVERAGE_FILTERED_FILE}111 DEPENDS ${COVERAGE_FILTERED_FILE}
112 COMMENT "Generating HTML coverage report in ${COVERAGE_REPORT_DIR}"112 COMMENT "Generating HTML coverage report in ${COVERAGE_REPORT_DIR}"
113 VERBATIM)113 VERBATIM)
114 114
115 ADD_CUSTOM_TARGET(coverage-html115 ADD_CUSTOM_TARGET(coverage-html
116 DEPENDS ${COVERAGE_REPORT_DIR})116 DEPENDS ${COVERAGE_REPORT_DIR})
117 117
118 ENDIF()118 ENDIF()
119 119
120 # xml coverage report120 # xml coverage report
121 IF(GCOVR_FOUND)121 IF(GCOVR_FOUND)
122 122
123 MESSAGE(STATUS "Enabling XML coverage report")123 MESSAGE(STATUS "Enabling XML coverage report")
124 124
125 # gcovr cannot write directly to a file so the execution needs to125 # gcovr cannot write directly to a file so the execution needs to
126 # be wrapped in a cmake file that generates the file output126 # be wrapped in a cmake file that generates the file output
127 FILE(WRITE ${COVERAGE_XML_COMMAND_FILE}127 FILE(WRITE ${COVERAGE_XML_COMMAND_FILE}
128 "SET(ENV{LANG} en)\n")128 "SET(ENV{LANG} en)\n")
129 FILE(APPEND ${COVERAGE_XML_COMMAND_FILE}129 FILE(APPEND ${COVERAGE_XML_COMMAND_FILE}
130 "EXECUTE_PROCESS(COMMAND \"${GCOVR_EXECUTABLE}\" -x -r \"${CMAKE_SOURCE_DIR}\" OUTPUT_FILE \"${COVERAGE_XML_FILE}\" WORKING_DIRECTORY \"${CMAKE_BINARY_DIR}\")\n")130 "EXECUTE_PROCESS(COMMAND \"${GCOVR_EXECUTABLE}\" -x -r \"${CMAKE_SOURCE_DIR}\" OUTPUT_FILE \"${COVERAGE_XML_FILE}\" WORKING_DIRECTORY \"${CMAKE_BINARY_DIR}\")\n")
131 131
132 ADD_CUSTOM_COMMAND(OUTPUT ${COVERAGE_XML_FILE}132 ADD_CUSTOM_COMMAND(OUTPUT ${COVERAGE_XML_FILE}
133 COMMAND ${CMAKE_COMMAND} ARGS -P ${COVERAGE_XML_COMMAND_FILE}133 COMMAND ${CMAKE_COMMAND} ARGS -P ${COVERAGE_XML_COMMAND_FILE}
134 COMMENT "Generating coverage XML report"134 COMMENT "Generating coverage XML report"
135 VERBATIM)135 VERBATIM)
136 136
137 ADD_CUSTOM_TARGET(coverage-xml137 ADD_CUSTOM_TARGET(coverage-xml
138 DEPENDS ${COVERAGE_XML_FILE})138 DEPENDS ${COVERAGE_XML_FILE})
139 139
140 ENDIF()140 ENDIF()
141 141
142 # provide a global coverage target executing both steps if available142 # provide a global coverage target executing both steps if available
143 SET(GLOBAL_DEPENDS "")143 SET(GLOBAL_DEPENDS "")
144 IF(LCOV_FOUND)144 IF(LCOV_FOUND)
@@ -151,7 +151,7 @@
151 ADD_CUSTOM_TARGET(coverage151 ADD_CUSTOM_TARGET(coverage
152 DEPENDS ${GLOBAL_DEPENDS})152 DEPENDS ${GLOBAL_DEPENDS})
153 ENDIF()153 ENDIF()
154 154
155 ENDIF()155 ENDIF()
156156
157ENDFUNCTION() 157ENDFUNCTION()
158158
=== added file 'FindGcovr.cmake'
--- FindGcovr.cmake 1970-01-01 00:00:00 +0000
+++ FindGcovr.cmake 2014-05-28 15:24:32 +0000
@@ -0,0 +1,43 @@
1# - Find gcovr scrip
2# Will define:
3#
4# GCOVR_EXECUTABLE - the gcovr script
5#
6# Uses:
7#
8# GCOVR_ROOT - root to search for the script
9#
10# Copyright (C) 2011 by Johannes Wienke <jwienke at techfak dot uni-bielefeld dot de>
11#
12# This file may be licensed under the terms of the
13# GNU Lesser General Public License Version 3 (the ``LGPL''),
14# or (at your option) any later version.
15#
16# Software distributed under the License is distributed
17# on an ``AS IS'' basis, WITHOUT WARRANTY OF ANY KIND, either
18# express or implied. See the LGPL for the specific language
19# governing rights and limitations.
20#
21# You should have received a copy of the LGPL along with this
22# program. If not, go to http://www.gnu.org/licenses/lgpl.html
23# or write to the Free Software Foundation, Inc.,
24# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
25#
26# The development of this software was supported by:
27# CoR-Lab, Research Institute for Cognition and Robotics
28# Bielefeld University
29
30INCLUDE(FindPackageHandleStandardArgs)
31
32FIND_PROGRAM(GCOVR_EXECUTABLE gcovr
33 HINTS ${GCOVR_ROOT}
34 "${GCOVR_ROOT}/bin"
35 "${GCOVR_ROOT}/share/python"
36 "/usr/share/python"
37 "/usr/local/share/python"
38 "${CMAKE_INSTALL_PREFIX}/share/python")
39
40FIND_PACKAGE_HANDLE_STANDARD_ARGS(gcovr DEFAULT_MSG GCOVR_EXECUTABLE)
41
42# only visible in advanced view
43MARK_AS_ADVANCED(GCOVR_EXECUTABLE)
044
=== removed file 'Findgcovr.cmake'
--- Findgcovr.cmake 2014-05-27 12:26:14 +0000
+++ Findgcovr.cmake 1970-01-01 00:00:00 +0000
@@ -1,43 +0,0 @@
1# - Find gcovr scrip
2# Will define:
3#
4# GCOVR_EXECUTABLE - the gcovr script
5#
6# Uses:
7#
8# GCOVR_ROOT - root to search for the script
9#
10# Copyright (C) 2011 by Johannes Wienke <jwienke at techfak dot uni-bielefeld dot de>
11#
12# This file may be licensed under the terms of the
13# GNU Lesser General Public License Version 3 (the ``LGPL''),
14# or (at your option) any later version.
15#
16# Software distributed under the License is distributed
17# on an ``AS IS'' basis, WITHOUT WARRANTY OF ANY KIND, either
18# express or implied. See the LGPL for the specific language
19# governing rights and limitations.
20#
21# You should have received a copy of the LGPL along with this
22# program. If not, go to http://www.gnu.org/licenses/lgpl.html
23# or write to the Free Software Foundation, Inc.,
24# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
25#
26# The development of this software was supported by:
27# CoR-Lab, Research Institute for Cognition and Robotics
28# Bielefeld University
29
30INCLUDE(FindPackageHandleStandardArgs)
31
32FIND_PROGRAM(GCOVR_EXECUTABLE gcovr
33 HINTS ${GCOVR_ROOT}
34 "${GCOVR_ROOT}/bin"
35 "${GCOVR_ROOT}/share/python"
36 "/usr/share/python"
37 "/usr/local/share/python"
38 "${CMAKE_INSTALL_PREFIX}/share/python")
39
40FIND_PACKAGE_HANDLE_STANDARD_ARGS(gcovr DEFAULT_MSG GCOVR_EXECUTABLE)
41
42# only visible in advanced view
43MARK_AS_ADVANCED(GCOVR_EXECUTABLE)

Subscribers

People subscribed via source and target branches

to all changes: