Thread failure of VC tool commands through more APIs so that we can
detect when they fail. Defer updating of the individual VC tool usage
the future and just return true from them for now.
Since commit v3.7.0-rc1~132^2 (CTestSVN: Fix segfault when
CTEST_UPDATE_VERSION_ONLY is enabled, 2016-09-12) we do not properly
extract svn log or externals. After updating we erase the information
that was loaded before updating and can no longer log the changes
between revisions to extract authors.
Fix this by only loading the repository information once, whether needed
by `NoteOldRevision`, `NoteNewRevision`, or both.
Fixes: #12630, #16646
Fix the default values of `CMAKE_CUDA_FLAGS[_<CONFIG>]` on Windows to
make the host compiler flags match those produced for C++ by the
`Platform/Windows-MSVC` module. This makes the flags consistent with
those used for C++.
Store unknown flags directly in a flag map entry for `AdditionalOptions`
instead of having a separate member for them. This avoids duplicating
the output generation logic for the entry.
Refactoring in commit 7fb14775 (cmDisallowedCommand: extract policy
checking from cmCommand, 2016-12-26) introduced a wrapper for
disallowed commands that forwards to their original commands.
This broke the `export_library_dependencies` command that uses
a final pass. Forward the final pass too to fix it.
We parse `CMAKE_GENERATOR_TOOLSET` values of the forms:
* `toolset`
* `toolset,host=x64`
* `host=x64`
Generalize the parsing to support the forms:
* `toolset`
* `toolset[,key=value]*`
* `key=value[,key=value]*`
Disallow duplicate keys. Require all but the first field to
be of `key=value` form.
Make the VS generator consistent with the Ninja and Makefile generators
that place the libraries listed in this variable after other libraries
on the link command line. These system libraries never depend on the
project libraries.
Parse the value as a command line string just as the MS CRT would.
This makes the VS generator behavior consistent with how the string
is used by the Ninja and Makefile generators.
1009e1d7 Merge branch 'backport-clang-format-cuda' into clang-format-cuda
33a65941 Tests: Run clang-format on CUDA code
fa5188d0 Merge branch 'backport-clang-format-cuda' into clang-format-cuda
c4a61350 Tests: Run clang-format on CUDA code
0b2f8ae3 Modules: Run clang-format on CUDA code
592e3d2f clang-format.bash: Format CUDA source files too
On Windows with MSVC-like host compilers we must honor the standard
libraries chosen by the `Platform/Windows-MSVC` module. Otherwise C
code linked into the CUDA binary that expects to have these libraries
available may not link.
Add `.clang-format` configuration files for Cuda test directories that
use `Standard: Cpp11`. Otherwise clang-format splits the triple angle
brackets used for CUDA kernels.