Commit Graph

27265 Commits

Author SHA1 Message Date
Kitware Robot 65fe80794d CMake Nightly Date Stamp 2019-08-27 00:01:03 -04:00
Brad King 89479bde94 Merge topic 'pvs-cleanup'
7fe3e874d5 cmCPackLog: Fix support for multiple log message tags
74f2c0ea56 cmCTestTestHandler: Remove extra layer of parentheses
7c2767ef3b cmCTestMultiProcessHandler: Explain testRun ownership in comments
303e813438 CTest: Simplify some boolean conditions
51565abe79 cmMessageCommand: Remove extra layer of parentheses
b1cfaf7b91 cmVSSetupHelper: Remove unused SmartBSTR copy operations
3f4c4e7afe cmVSSetupHelper: Fix SmartBSTR copy operations
a8ca5aea94 cmMakefileTargetGenerator: Check for null before using a pointer
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Daniel Pfeifer <daniel@pfeifer-mail.de>
Acked-by: Artalus <artalus-mail@yandex.ru>
Merge-request: !3715
2019-08-26 10:51:11 -04:00
Brad King 37c671570c Merge topic 'source_sweep_ostringstream_single'
3b2b02825d Source sweep: Replace std::ostringstream when used with a single append

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3726
2019-08-26 10:49:10 -04:00
Brad King 8685d0d291 Merge topic 'source_sweep_cmExpandedList'
aaf59120bf Source sweep: Replace cmExpandList with the shorter cmExpandedList

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3725
2019-08-26 10:47:24 -04:00
Brad King bd3fb4c462 Merge topic 'list-subcommand-table'
b14bcd9123 cmListCommand: Use cmSubcommandTable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3723
2019-08-26 10:43:06 -04:00
Brad King 8d019c096e Merge topic 'string-subcommand-table'
66c2714f22 cmStringCommand: Use cmSubcommandTable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3721
2019-08-26 10:40:30 -04:00
Brad King e7d7cd47ed Merge topic 'group_not_track'
2a71a0390c ctest: rename TRACK to GROUP

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Zack Galbreath <zack.galbreath@kitware.com>
Merge-request: !3707
2019-08-26 10:34:55 -04:00
Brad King 7d89c5bf77 Merge topic 'warnings_skip_color'
2079267959 ctest_build: ignore ANSI color

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3702
2019-08-26 10:33:08 -04:00
Brad King f5a7ae0c4b Merge topic 'optional'
197c5e12ad Source: Add cm::optional
170fcd715f Extend C++17 feature checks to require std::optional

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sebastian Holtermann <sebholt@web.de>
Merge-request: !3644
2019-08-26 10:31:15 -04:00
Brad King 7fe3e874d5 cmCPackLog: Fix support for multiple log message tags
Fix logic from commit bbf1c2d275 (ENH: More improvements and add
logging, 2006-01-02, v2.4.0~712) to append to the accumulated tag string
instead of overwriting it for each type of message.

Issue: #19610
2019-08-26 09:43:46 -04:00
Brad King 74f2c0ea56 cmCTestTestHandler: Remove extra layer of parentheses
A condition in `ComputeTestListForRerunFailed` contained an extra layer
of parentheses.  Remove them.  The condition itself is correct because
an empty list means "all tests" so we want to include the current test.

Issue: #19610
2019-08-26 09:43:46 -04:00
Brad King 7c2767ef3b cmCTestMultiProcessHandler: Explain testRun ownership in comments
The ownership semantics of the 'testRun' variable are subtle and
may fool static analysers.  Add comments explaining them for now.
Later some refactoring could be done to clarify the code.

Issue: #19610
2019-08-26 09:43:46 -04:00
Brad King 303e813438 CTest: Simplify some boolean conditions
Directly compare two boolean values instead of spelling out accepted
combinations.

Issue: #19610
2019-08-26 09:43:46 -04:00
Brad King 51565abe79 cmMessageCommand: Remove extra layer of parentheses
The logic checking `CMAKE_WARN_DEPRECATED` contained an unnecessary
layer of parentheses.  The condition is of the form `!IsSet || IsOn`
which is correct because the documentation says that the behavior is
enabled unless the variable is explicitly set to a false value.

Issue: #19610
2019-08-26 09:43:46 -04:00
Brad King b1cfaf7b91 cmVSSetupHelper: Remove unused SmartBSTR copy operations
For our use case we do not actually need to copy these.
Mark the operations as `= delete` to simplify the code.
2019-08-26 09:43:45 -04:00
Brad King 3f4c4e7afe cmVSSetupHelper: Fix SmartBSTR copy operations
Fix the SmartBSTR copy constructor and copy assignment operator added by
commit 18c8278b62 (VS: Add helper class to interact with Visual Studio
Installer, 2016-12-14, v3.8.0-rc1~93^2~4) to use the string from the
source of the copy.

Issue: #19610
2019-08-26 09:43:45 -04:00
Brad King a8ca5aea94 cmMakefileTargetGenerator: Check for null before using a pointer
Fix the order of logic added by commit 7740ccd1a4 (ENH: some cleanup of
the makefile generator, 2006-02-14, v2.4.0~517) to check for allocation
failure ('new' returns null) before using the pointer.

Issue: #19610
2019-08-26 09:43:36 -04:00
Kitware Robot 0d356e4c94 CMake Nightly Date Stamp 2019-08-26 00:01:03 -04:00
Kitware Robot 2a1be178de CMake Nightly Date Stamp 2019-08-25 00:01:03 -04:00
Kitware Robot 395cbee2fc CMake Nightly Date Stamp 2019-08-24 00:01:12 -04:00
Sebastian Holtermann 3b2b02825d Source sweep: Replace std::ostringstream when used with a single append
This replaces `std::ostringstream`, when it is written to only once.
If the single written argument was numeric, `std::to_string` is used instead.
Otherwise, the single written argument is used directly instead of the
`std::ostringstream::str()` invocation.
2019-08-23 18:52:33 +02:00
Sebastian Holtermann aaf59120bf Source sweep: Replace cmExpandList with the shorter cmExpandedList
This replaces the code pattern
```
std::vector<std::string> args;
cmExpandList(valueStr, args, ...)
```
with
```
std::vector<std::string> args = cmExpandedList(valueStr, ...)
```
2019-08-23 17:07:49 +02:00
Brad King a6b01b7d45 Merge topic 'ctest-json-REQUIRED_FILES'
5778880d20 CTest: Fix --show-only=json-v1 output with REQUIRED_FILES property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3719
2019-08-23 10:07:32 -04:00
Brad King 7f2bb732fc Merge topic 'source_sweep_cmStrCat'
9b334397f5 Source sweep: Use cmStrCat for string concatenation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Rolf Eike Beer <eike@sf-mail.de>
Acked-by: Daniel Pfeifer <daniel@pfeifer-mail.de>
Merge-request: !3699
2019-08-23 10:03:57 -04:00
Kyle Edwards 197c5e12ad Source: Add cm::optional 2019-08-23 08:43:35 -04:00
Brad King 170fcd715f Extend C++17 feature checks to require std::optional 2019-08-23 08:43:35 -04:00
Kitware Robot 68126f5a02 CMake Nightly Date Stamp 2019-08-23 00:01:08 -04:00
Regina Pfeifer b14bcd9123 cmListCommand: Use cmSubcommandTable 2019-08-22 22:55:58 +02:00
Regina Pfeifer 66c2714f22 cmStringCommand: Use cmSubcommandTable 2019-08-22 22:14:53 +02:00
Zack Galbreath 2079267959 ctest_build: ignore ANSI color
Ignore ANSI color when scraping logs for errors and warnings
2019-08-22 15:53:42 -04:00
Brad King 5778880d20 CTest: Fix --show-only=json-v1 output with REQUIRED_FILES property
Fixes: #19629
2019-08-22 15:07:43 -04:00
Zack Galbreath 2a71a0390c ctest: rename TRACK to GROUP
Update command-line options, script variables, and documentation to use
the term "group" instead of "track". The old terms are still available
for now, but they are now undocumented.

This makes our terminology more consistent with CDash. The goal of this
change is to make it more clear to our users how CTest and CDash interact
with each other.
2019-08-22 13:10:18 -04:00
Brad King a7aade8419 cmGlobalVisualStudioGenerator: Fix buffer sizes used with RegEnumKeyExW
In commit 0b9906c2fb (Windows: Use wide-character system APIs,
2013-12-04, v3.0.0-rc1~254^2) several buffer size computations had to be
updated to multiply by `sizeof(wchar_t)`, but for RegEnumKeyExW we were
already computing the correct number of characters with a division which
was accidentally converted to a multiplication.  Use `cm::size` to
compute the number of characters in the buffer instead.

Issue: #19610
2019-08-22 13:06:15 -04:00
Brad King f6211f57d6 cmGlobalVisualStudioGenerator: Fix buffer sizes used RegQueryValueExW
In commit 0b9906c2fb (Windows: Use wide-character system APIs,
2013-12-04, v3.0.0-rc1~254^2) several buffer size computations had to be
updated to multiply by `sizeof(wchar_t)`, but some for RegQueryValueExW
were incorrect because the number of bytes was already computed.

Issue: #19610
2019-08-22 11:01:50 -04:00
Sebastian Holtermann 9b334397f5 Source sweep: Use cmStrCat for string concatenation
This patch is generated by a python script that uses regular expressions to
search for string concatenation patterns of the kind

```
std::string str = <ARG0>;
str += <ARG1>;
str += <ARG2>;
...
```

and replaces them with a single `cmStrCat` call

```
std::string str = cmStrCat(<ARG0>, <ARG1>, <ARG2>, ...);
```

If any `<ARGX>` is itself a concatenated string of the kind

```
a + b + c + ...;
```

then `<ARGX>` is split into multiple arguments for the `cmStrCat` call.

If there's a sequence of literals in the `<ARGX>`, then all literals in the
sequence are concatenated and merged into a single literal argument for
the `cmStrCat` call.

Single character strings are converted to single char arguments for
the `cmStrCat` call.

`std::to_string(...)` wrappings are removed from `cmStrCat` arguments,
because it supports numeric types as well as string types.

`arg.substr(x)` arguments to `cmStrCat` are replaced with
`cm::string_view(arg).substr(x)`
2019-08-22 16:38:10 +02:00
Brad King 130dbe4a5d Merge topic 'cmCommand_refactor'
6ab28b9413 cmCommand refactor: cmStringCommand
36f32d3604 cmCommand refactor: cmSetPropertyCommand
7c83c19205 cmCommand refactor: cmSetDirectoryPropertiesCommand
9413952c42 cmCommand refactor: cmCMakePolicyCommand
07ea93de54 cmCommand refactor: cmWriteFileCommand
ca3b9186bb cmCommand refactor: cmVariableWatchCommand
b1acc711f4 cmCommand refactor: cmRemoveCommand
413a960391 cmCommand refactor: cmCMakeHostSystemInformationCommand
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3673
2019-08-22 10:25:09 -04:00
Brad King 337be1507d Merge topic 'isolate-declarations'
d331021255 clang-tidy: isolate declarations for readability

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3704
2019-08-22 10:23:34 -04:00
Kitware Robot 7ddb5adc40 CMake Nightly Date Stamp 2019-08-22 00:01:08 -04:00
Brad King b6412b38ee Merge topic 'double-export-error-message-install'
d17580909f cmExportInstallFileGenerator: improve error message
a18100898a cmInstallExportGenerator: add a method for the file destination

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3703
2019-08-21 11:58:27 -04:00
Brad King dfb5936f0f Merge topic 'shared-string'
be7807478c cmDefinitions: Reduce allocation of keys and values in MakeClosure
e07e2bc8bb bootstrap: Compile cm::String
c1787cb5eb cpack.cxx: Re-order include blocks to follow our conventions
141e307484 cmConfigure.h: Tell windows.h not to define min/max macros

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3669
2019-08-21 11:57:05 -04:00
Brad King ea4c3976fb Merge topic 'install-fail-reason'
891e670e59 install: print reason of failure

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Merge-request: !3696
2019-08-21 11:55:58 -04:00
Brad King bd3f088abe Merge topic 'ccmake-find-system-form-header'
66654135c1 ccmake: Fix form.h include with CMAKE_USE_SYSTEM_FORM

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3683
2019-08-21 11:54:48 -04:00
Brad King 3402e6cf82 Merge topic 'vs-sln-bom'
3b51343ea1 VS: Emit UTF-8 BOM for generated solution files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3705
2019-08-21 11:53:23 -04:00
Brad King bfe0ea2d98 Merge topic 'cm-contains'
2dfc52675c cmAlgorithms: Add cmContains

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sebastian Holtermann <sebholt@web.de>
Acked-by: Daniel Pfeifer <daniel@pfeifer-mail.de>
Merge-request: !3700
2019-08-21 11:52:06 -04:00
Brad King de2c73d84f Merge topic 'free-disallowed'
c55fb044a9 cmBuildNameCommand: Implement as free function
86bf1eef75 cmState: Support free function disallowed commands

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3688
2019-08-21 10:47:47 -04:00
Kitware Robot a04b852a7b CMake Nightly Date Stamp 2019-08-21 00:01:08 -04:00
Regina Pfeifer d331021255 clang-tidy: isolate declarations for readability 2019-08-21 00:20:49 +02:00
Gabor Bencze 6ab28b9413 cmCommand refactor: cmStringCommand 2019-08-20 14:42:20 -04:00
Gabor Bencze 36f32d3604 cmCommand refactor: cmSetPropertyCommand 2019-08-20 14:42:20 -04:00
Gabor Bencze 7c83c19205 cmCommand refactor: cmSetDirectoryPropertiesCommand 2019-08-20 14:42:20 -04:00