| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
At the moment, cmStandardIncludes.h needs to be included before any
standard includes because it disables some warnings that are caused
by the standard library of some compilers. Move this responsibility
to the cmConfigure.h file.
Also add include guards to cmConfigure.h to make sure the file can be
included multiple times.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Run the `Utilities/Scripts/clang-format.bash` script to update
all our C++ code to a new style defined by `.clang-format`.
Use `clang-format` version 3.8.
* If you reached this commit for a line in `git blame`, re-run the blame
operation starting at the parent of this commit to see older history
for the content.
* See the parent commit for instructions to rebase a change across this
style transition commit.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sort include directives within each block (separated by a blank line) in
lexicographic order (except to prioritize `sys/types.h` first). First
run `clang-format` with the config file:
---
SortIncludes: false
...
Commit the result temporarily. Then run `clang-format` again with:
---
SortIncludes: true
IncludeCategories:
- Regex: 'sys/types.h'
Priority: -1
...
Commit the result temporarily. Start a new branch and cherry-pick the
second commit. Manually resolve conflicts to preserve indentation of
re-ordered includes. This cleans up the include ordering without
changing any other style.
Use the following command to run `clang-format`:
$ git ls-files -z -- \
'*.c' '*.cc' '*.cpp' '*.cxx' '*.h' '*.hh' '*.hpp' '*.hxx' |
egrep -z -v '(Lexer|Parser|ParserHelper)\.' |
egrep -z -v '^Source/cm_sha2' |
egrep -z -v '^Source/(kwsys|CursesDialog/form)/' |
egrep -z -v '^Utilities/(KW|cm).*/' |
egrep -z -v '^Tests/Module/GenerateExportHeader' |
egrep -z -v '^Tests/RunCMake/CommandLine/cmake_depends/test_UTF-16LE.h' |
xargs -0 clang-format -i
This selects source files that do not come from a third-party.
Inspired-by: Daniel Pfeifer <daniel@pfeifer-mail.de>
|
|
|
|
|
| |
Each source file has a logical first include file. Include it in an
isolated block so that tools that sort includes do not move them.
|
|
|
|
| |
KWIML no longer uses a configured prefix.
|
|\
| |
| |
| |
| | |
001043ac Include `sys/types.h` header to get `mode_t`
|
| |
| |
| |
| |
| | |
Do not depend on it being included by other system headers.
It is not included by others on musl-libc, for example.
|
|/
|
|
| |
Remove a reason for generate time code to depend on the cmTarget header/type.
|
|
|
|
| |
We no longer need this compatibility layer for the compilers we support.
|
| |
|
|
|
|
| |
Include it only where used.
|
|
|
|
| |
Include it only where used.
|
|
|
|
|
| |
Added in commit v2.6.0~2824 (COMP: Fix warnings in system headers
on VS6., 2006-08-29), but no longer needed.
|
|
|
|
|
| |
Assume that a container whose value_type is a std::pair should have
its second member deleted.
|
|
|
|
|
|
|
|
| |
Specialize for std::map types to delete the second element from
the iterator. This is not quite general enough that it can
be used everywhere, because CMake inherits from std::map and
creates typedefs with custom comparison functors etc, which
can not use this algorithm.
|
|\
| |
| |
| |
| |
| |
| | |
55a73e6b Use the cmJoin algorithm where possible.
8dc8d756 cmStandardIncludes: Add a join algorithm for string containers.
b5813cee cmInstallCommand: Remove unused variable.
|
| |
| |
| |
| |
| |
| |
| |
| | |
This requires the input range to supply BidirectionalIterators, which
is not a problem for where it is currently useful to us. The alternative
would be to not invoke --last;, and instead create an output iterator
similar to std::ostream_iterator, but which puts the delimiter before
the item to output.
|
| | |
|
| |
| |
| |
| | |
All compilers hosting CMake support the std class.
|
| | |
|
| | |
|
| |
| |
| |
| | |
All compilers hosting CMake support proper for scoping.
|
| |
| |
| |
| | |
It is no longer tested on the dashboard.
|
| |
| |
| |
| |
| | |
The compiler is not tested on the dashboard, and on Windows there
are more-natural compilers to use to build CMake.
|
| | |
|
| |
| |
| |
| |
| | |
The code the comment refers to was removed in commit 2db55ffa (Remove
borland workarounds., 2014-08-06)
|
|/
|
|
|
| |
It has not been tested since commit v3.1.0-rc1~584^2 (Utilities/Release: Drop
IRIX binary generation on ferrari, 2014-04-30).
|
| |
|
|
|
|
| |
GCC < 3 is no longer supported as a host compiler.
|
| |
|
|
|
|
|
| |
CMake 3.0 is the last release to require to be able to build with
Borland.
|
|
|
|
| |
It is now unused.
|
|
|
|
|
| |
Clang based tools running over the code complain about these,
but clang has a fixit for removing them.
|
|
|
|
|
| |
Apply the same workaround to the cmCPackTypeMacro. Additionally
change that macro to not use 'class' as a macro parameter.
|
|
|
|
|
|
|
|
|
|
|
| |
Casts from std::string -> cmStdString were high on the list of things
taking up time. Avoid such implicit casts across function calls by just
using std::string everywhere.
The comment that the symbol name is too long is no longer relevant since
modern debuggers alias the templates anyways and the size is a
non-issue since the underlying methods are generated since it's
inherited.
|
| |
|
|
|
|
| |
Also teach the bootstrap script to configure the needed headers.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
This allows avoiding error-prone hard-coding of literal
string lengths.
Borland is not able to process the template version of this
method. Make it use the macro version instead. This means
that Borland will also use the macro versions of cmArray*.
|
|
|
|
| |
It is not capable of using the template versions.
|
| |
|