Commit Graph

27279 Commits

Author SHA1 Message Date
Sebastian Holtermann 32b15d320f Autogen: cmQtAutoMocUic settings hash computation optimizations 2019-08-27 17:31:46 +02:00
Sebastian Holtermann b66cd3fe63 Autogen: cmQtAutoMocUic string concatenation cleanups 2019-08-27 17:31:46 +02:00
Sebastian Holtermann 619a92eacd Autogen: cmQtAutoRcc settings hash computation optimizations 2019-08-27 17:31:46 +02:00
Sebastian Holtermann 10dc684508 Autogen: cmQtAutoRcc string concatenation cleanups 2019-08-27 17:31:46 +02:00
Sebastian Holtermann da6c4b1273 Autogen: cmQtAutoGenInitializer string concatenation cleanups 2019-08-27 17:31:46 +02:00
Sebastian Holtermann 7a78d15415 Autogen: Let cmQtAutoGenerator::Logger methods accept cm::string_view 2019-08-27 17:31:45 +02:00
Sebastian Holtermann c797148e85 Autogen: Use cm::string_view for AUTO{MOC,UIC,RCC} generator names
- Store `AUTO{MOC,UIC,RCC}` generator name as `cm::string_view`
- Use `std::initializer_list` instead of `std::array`
2019-08-27 17:31:45 +02:00
Sebastian Holtermann 8586077baa Autogen: Modernize cmQtAutoGen methods using cm::string_view 2019-08-27 17:31:45 +02:00
Brad King 4a4001477d Merge topic 'alpine-cpu_zero'
1902e39746 cmAffinity: Add include for CPU_ZERO on Alpine Linux

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3740
2019-08-27 10:20:50 -04:00
Brad King 297df45d00 Merge topic 'cmGlobalGenerator-compilerId-lifetime'
17ce0c29ad cmGlobalGenerator: Fix CheckCompilerIdCompatibility local var lifetime

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3741
2019-08-27 10:18:57 -04:00
Brad King 2a2c4cc722 Merge topic 'ninja_additional_clean_files_custom_target'
d040f3f1ee Tests: Extend MakeClean test to test various target types
3ed8cffe73 Ninja: Add support for ADDITIONAL_CLEAN_FILES in custom targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3739
2019-08-27 10:16:05 -04:00
Brad King 1902e39746 cmAffinity: Add include for CPU_ZERO on Alpine Linux
The definition of `CPU_ZERO` requires `<string.h>` to be included
explicitly for `memset`.  Since IWYU does not agree on other Linux
platforms, use a pragma to silence the warning.

Fixes: #19643
2019-08-27 09:32:32 -04:00
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 17ce0c29ad cmGlobalGenerator: Fix CheckCompilerIdCompatibility local var lifetime
Save the value of the compiler id variable in storage we own so that
mutating it based on a policy does not invalidate the local value for
later comparisons.  This was identified by Clang AddressSanitizer.
2019-08-26 10:28:32 -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
Sebastian Holtermann 3ed8cffe73 Ninja: Add support for ADDITIONAL_CLEAN_FILES in custom targets
This enables the support for `ADDITIONAL_CLEAN_FILES` in custom targets
using the ninja generator.

Fixes: #19641
2019-08-26 09:31:03 -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