Commit Graph

15 Commits

Author SHA1 Message Date
Brad King 86578eccf2 Simplify CMake per-source license notices
Per-source copyright/license notice headers that spell out copyright holder
names and years are hard to maintain and often out-of-date or plain wrong.
Precise contributor information is already maintained automatically by the
version control tool.  Ultimately it is the receiver of a file who is
responsible for determining its licensing status, and per-source notices are
merely a convenience.  Therefore it is simpler and more accurate for
each source to have a generic notice of the license name and references to
more detailed information on copyright holders and full license terms.

Our `Copyright.txt` file now contains a list of Contributors whose names
appeared source-level copyright notices.  It also references version control
history for more precise information.  Therefore we no longer need to spell
out the list of Contributors in each source file notice.

Replace CMake per-source copyright/license notice headers with a short
description of the license and links to `Copyright.txt` and online information
available from "https://cmake.org/licensing".  The online URL also handles
cases of modules being copied out of our source into other projects, so we
can drop our notices about replacing links with full license text.

Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority
of the replacements mechanically.  Manually fix up shebang lines and trailing
newlines in a few files.  Manually update the notices in a few files that the
script does not handle.
2016-09-27 15:14:44 -04:00
Zack Galbreath 5de122dfa4 CTestCoverageCollectGCOV: improve DELETE option
The DELETE option to ctest_coverage_collect_gcov now properly
removes all the .gcov files that were created by this function.
Previously it left behind any files that were excluded by
CTEST_CUSTOM_COVERAGE_EXCLUDE.

This option now also deletes the following files/directory that
are created by ctest_coverage_collect_gcov:
  data.json
  coverage_file_list.txt
  the uncovered/ directory
2016-04-19 13:19:10 -04:00
Brad King 82c405c473 Merge topic 'branch_coverage_working_dir'
c5ff34cc CTestCoverageCollectGCOV: specify base dir for GLOB_RECURSE
2016-04-07 08:57:45 -04:00
Zack Galbreath 8ea1b0df58 CTestCoverageCollectGCOV: Improve documentation
Clean up prose and mention support for CTEST_EXTRA_COVERAGE_GLOB.
2016-04-07 08:53:30 -04:00
Zack Galbreath 425d764685 CTestCoverageCollectGCOV: Honor CTEST_EXTRA_COVERAGE_GLOB
Teach CTestCoverageCollectGCOV to honor the
CTEST_EXTRA_COVERAGE_GLOB variable.  When this variable is set,
this module will glob for matching source files that were not
covered and include them in the resulting tar file.
2016-04-07 08:53:30 -04:00
Zack Galbreath c5ff34cc47 CTestCoverageCollectGCOV: specify base dir for GLOB_RECURSE
Consistently glob for .gcda files in the binary directory.
Previously the behavior of this function depended on the
current working directory that it was called from.
2016-04-04 14:04:35 -04:00
Zack Galbreath 062045b8b6 More options for CTestCoverageCollectGCOV
This commit introduces two new options to CTestCoverageCollectGCOV.

When GLOB is set we recursively search in the source & binary
directories for .gcda files.  Otherwise the default behavior is to
parse TargetDirectories.txt for a list of locations to search.

When DELETE is set we remove any .gcda file found after it has
been used to generate the corresponding .gcov file.  The .gcov
file is also removed after the result tarball has been created.

Together these two new features help support the use case of
computing coverage across subprojects.
2016-02-10 10:12:01 -05:00
Ben Boeckel 71c67e83bf CTEST_CUSTOM_*: treat variables as lists 2015-09-21 09:27:54 -04:00
Nils Gladitz fd04d87323 CTestCoverageCollectGCOV: Write tar files intended for CDash in gnutar format
PHP's PharData can not currently (PHP 5.6.4) extract paxr tar archives
with long filenames.
2015-04-10 08:32:31 -04:00
Nils Gladitz 9a544f2d98 CTestCoverageCollectGCOV: Support CTEST_CUSTOM_COVERAGE_EXCLUDE 2015-04-04 12:25:15 +02:00
Zack Galbreath fc58bdb9ad ctest_coverage: Add QUIET option 2015-02-23 10:02:00 -05:00
Brad King 03c0812c41 CTestCoverageCollectGCOV: Fix handling of international characters
When loading the list of target support directories, read the file
with UTF-8 encoding since that is what CMake writes into the file.
This allows us to support international characters in the path to
the build tree containing the target support directories.
2015-02-03 10:40:58 -05:00
Bill Hoffman 5c828cc89b CTestCoverageCollectGCOV: Allow custom flags to gcov
Add a GCOV_OPTIONS option to allow specification of custom flags.  In
ctest_coverage gcov support, if you set CTEST_COVERAGE_EXTRA_FLAGS, they
get put on the command line before the -o.  In this case we remove the
-b and replace it with GCOV_OPTIONS.  All other arguments remain the
same.
2015-02-03 10:40:58 -05:00
Bill Hoffman 30cb628ecb CTestCoverageCollectGCOV: Fix handling of large file counts
Use the --files-from option to tar to handle lots of files.
2015-02-03 10:40:53 -05:00
Bill Hoffman f3e0b6f1eb CTestCoverageCollectGCOV: Add module to run gcov
Provide a function to run gcov and create a tarball of results.
Since CDash tracks the md5sum of the files uploaded, use the
--mtime option with "cmake -E tar" so that tar files could be
created that would have the same md5sum with the same content.
2015-01-22 11:15:54 -05:00