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
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.
e0f39312 cmCommands: add commands directly to cmState
72dcbbe5 split Default commands into Scripting and Project
7fb14775 cmDisallowedCommand: extract policy checking from cmCommand
615e2a17 cmCommand: Don't prefix error message with command name
45b49099 cmCommand: make noncopyable
5396bc92 cmCommand: remove member Helper
Since commit v3.8.0-rc1~232^2 (execute_process: Add ENCODING option for
Windows child process output, 2016-11-23) we decode child process output
using the console's active codepage by default. This differs from
previous versions of CMake and is therefore incompatible. Changing this
default will require a policy, so for now revert the default behavior
back to performing no decoding.
Reported-by: Nils Gladitz <nilsgladitz@gmail.com>
The new variable allows specification of a custom root folder ID.
The implicit default is "ProgramFiles<64>Folder".
The "<64>" token is replaced by "" for 32-bit and "64" for 64-bit builds.
Inspired-By: Eric Backus
Fixes: #16573