Introduce the function cmReadGccDepfile that parses a GCC-style depfile
and returns its content. The implementation uses a lexer that is
modeled after the re2c implementation in Ninja.
The sample files of the autotest have been created with gcc 8.3.0.
This depfile reader is to be used by the Autogen facility to make use
of the depfiles that are generated by Qt's meta object compiler.
Update `.clang-format` with configuration to make the 6.0 format as
close as possible to what 3.8 produced before. Then revise the style:
* Indent preprocessor directives (a feature new since 3.8)
* Add a newline and indentation before inheritance `:` and `,`
Rename the Git attribute identifying the format to include the
clang-format version number: `format.clang-format-6.0`. This will aid
external infrastructure in knowing what version of the tool to run.
Versions of clang-format newer than 3.8 produce different output.
Our source code guide says that version 3.8 exactly must be used.
Update the comment in our `.clang-format` config file accordingly.
Add a check to our formatting script to verify the version.
Also update its tool search to look for the explicitly-named
3.8 variant first.
- sed on Mac does not support embedded sed statements, hence eliminating
the non-matches via grep
- xargs on Mac does not support -d, but does support -0, hence replacing
note: this depends on
- a suitable flex version in PATH (currently 2.6.4)
- a suitable version of 'sed' in PATH (e.g. GNU sed)
Signed-off-by: Matthias Maennich <matthias@maennich.net>
The KWSys `.gitattributes` file now defines custom attributes.
Git does not support these in a subdirectory where we are about
to place the content, so comment them out during import.
This also ensures that the `our-c-style` attribute on KWSys
sources does not activate the `format.clang-format` attribute
on the third-party import branch.
Provide a helper function that import scripts can use when the
third-party project defines custom Git attributes in its top-level
`.gitattributes` file. These must be commented out because Git
does not support custom attributes in a subdirectory where we
where the third-party project is about to be merged.
d49176e9 libarchive: Avoid using isblank
ce8f117f libarchive: Avoid declaration after statement in C code
e0f725f8 libarchive: Fix use of ssize_t in archive_entry.h
ae4861ec libarchive: Define __LA_DEPRECATED consistently
fecb70dd Update CMake pre-cached values for libarchive 3.3.0
a59a7ee9 Merge branch 'upstream-LibArchive' into update-libarchive
c206211a LibArchive 2017-02-19 (100ee75a)
cdce7c61 libarchive: Update script to get 3.3.0
d5f39a56 clang-format.bash: Use Git attributes to mark files for formatting
f6986ee4 Define a custom Git attribute to mark sources using our C style
2256c3a7 Define a custom Git attribute to mark source files as generated