In commit a203fcc63d (cmake: Teach '-E tar' to report errors copying
data, 2018-05-16) we introduced use of `la_ssize_t` but that was not
available until libarchive 3.3.1. Switch to the `__LA_SSIZE_T` macro
we use elsewhere.
Code extracted from:
https://gitlab.kitware.com/utils/kwsys.git
at commit 8ef62b289e0a99856893ef49106c2b2d94e9dd0c (master).
Upstream Shortlog
-----------------
Brad King (2):
6b9c233c clang-format.bash: update to clang-format-6.0
b7a341cf Empty commit at end of history preceding clang-format-6.0 style transition
Kitware Robot (1):
828b6837 Revise C++ coding style using clang-format-6.0
d7204e649e Revise C++ coding style using clang-format-6.0
12fed3edb1 Empty commit at end of history preceding clang-format-6.0 style transition
523c443d13 clang-format.bash: update to clang-format-6.0
eb7ec19c1c clang-format: Add comments to suppress some formatting
b67a5bf175 Tests/VSWinStorePhone: Do not format managed source
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sebastian Holtermann <sebholt@xwmw.org>
Merge-request: !2123
Run the `clang-format.bash` script to update all our C and C++ code to a
new style defined by `.clang-format`. Use `clang-format` version 6.0.
* 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.
This is an empty commit that precedes an automatic application of
clang-format-6.0 to update the C++ style of our entire source tree.
This may be helpful to rebase a topic branch that was originally
based on a commit preceding the transition. One may first rebase
the topic on this commit. Then use one of the following approaches.
* Rewrite the topic, including this commit, using `git filter-branch`
`--tree-filter` with `clang-format.bash` to update the style in
every commit. Rebase the revised topic, excluding the rewrite of
this commit, on the style transition commit.
OR
* Add a `.git/info/grafts` entry to change the parent of the first
commit in the topic from this commit to the style transition commit.
Rewrite the topic using `git filter-branch --tree-filter` with
`clang-format.bash` to update the style in every commit. Then
remove the graft, which was resolved by the filter.
See `git help filter-branch` and `git help repository-layout` for
details.
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.
Moves `CMAKE_${lang}_COMPILER_PREDEFINES_COMMAND` from linux specific
[Modules/Platform/Linux-GNU.cmake](Modules/Platform/Linux-GNU.cmake) to
[Modules/Compiler/GNU.cmake](Modules/Compiler/GNU.cmake).
This enables compiler predefines generation (in AUTOMOC) on all
platforms that run gcc (and clang).
For multi configuration generators let AUTORCC generate
the rcc output for all configurations. This is a workaround
for the incomplete `$<CONFIG>` support in the DEPENDS and OUTPUT
clauses of a custom_command/custom_target. Since we can't depend
on the per-config rcc output file we somehow must ensure the successful
rcc build for one configuration doesn't shadow the need to rcc rebuild
for a second configuration.
Closes#18006
6d7c074055 cmAlgorithms: Speed up cmRemoveDuplicates method
281f59536f IWYU: Define a macro to tell code it is preprocessing for iwyu
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2101
GCC 8.1.0 now gives an error if `strncpy` is called with a bound
depending on the length of the source argument. Replace `strncpy` with
`strcpy` as the length is known a priori.
Fixes: #18038
The use of `uv_fs_realpath` introduced by commit v3.11.0-rc1~445^2~1
(cmSystemTools: Implement GetRealPath on Windows, 2017-10-02) causes
`subst` drives to be expanded on Windows, breaking existing use cases.
Revert its use until an alternative implementation can be chosen.
Preserve the behavior introduced by commit v3.11.0-rc1~445^2
(cmTimestamp: For symlinks switch to timestamp of resolved path,
2017-10-02) by retaining use of `uv_fs_realpath` in a function of
a different name.
Fixes: #18033
Issue: #17206
Add new `version=` parameter in the toolset setting to select the
version. Add variable `CMAKE_VS_PLATFORM_TOOLSET_VERSION` to hold the
version, if one is set (blank indicates default).
Fixes: #17549