Kitware Robot
ed98209ddc
Revise include order using clang-format-6.0
...
Run the `clang-format.bash` script to update our C and C++ code to a new
include order `.clang-format`. Use `clang-format` version 6.0.
2019-10-01 12:26:36 -04:00
Marc Chevrier
c688b401d3
cmstd: Modernize CMake system headers
...
Provide a standardized way to handle the C++ "standard" headers
customized to be used with current CMake C++ standard constraints.
Offer under directory `cm` headers which can be used as direct
replacements of the standard ones. For example:
#include <cm/string_view>
can be used safely for CMake development in place of the `<string_view>`
standard header.
Fixes : #19491
2019-09-20 10:01:37 -04:00
Regina Pfeifer
f30523d090
clang-tidy: modernize-deprecated-headers
2019-09-16 10:11:13 -04:00
Rolf Eike Beer
5eaf1e1be2
cmSystemTools: introduce MoveFileIfDifferent()
2019-09-09 10:30:25 +02:00
Regina Pfeifer
62e5f72289
clang-tidy: Replace typedef with using
2019-09-03 13:21:26 -04:00
Sebastian Holtermann
3b6c62be23
cmSystemTools: Remove IsInternallyOn, IsNOTFOUND, IsOn, IsOff
...
The removes the following methods from cmSystemTools:
- `IsInternallyOn`
- `IsNOTFOUND`
- `IsOn`
- `IsOff`
2019-08-17 12:14:14 +02:00
Kyle Edwards
2beed5a4ef
Merge topic 'cmExpandList'
...
2f6495e24e cmSystemTools: Remove ExpandListArgument methods
f4f3c68926 Source code: Use cmExpandList instead of cmSystemTools::ExpandListArgument
ff42dec891 cmStringAlgorithms: Add cmExpandList functions
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3682
2019-08-16 14:51:03 -04:00
Kyle Edwards
dcf2beb7de
Merge topic 'cmStringAlgorithms_ulong'
...
935fbe0b04 cmStringAlgorithms: Add cmStrToLong and cmStrToULong
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3681
2019-08-16 14:49:28 -04:00
Sebastian Holtermann
2f6495e24e
cmSystemTools: Remove ExpandListArgument methods
2019-08-14 16:33:20 +02:00
Sebastian Holtermann
f4f3c68926
Source code: Use cmExpandList instead of cmSystemTools::ExpandListArgument
2019-08-14 16:33:20 +02:00
Sebastian Holtermann
935fbe0b04
cmStringAlgorithms: Add cmStrToLong and cmStrToULong
...
This adds the following functions to cmStringAlgorithms:
- `cmStrToLong`: moved from `cmSystemTools::StringToLong`
- `cmStrToULong`: moved from `cmSystemTools::StringToULong`
Overloads of the given functions for `std::string` are added as well.
2019-08-10 14:39:03 +02:00
Kitware Robot
54e9d38c28
Refactor: Convert all instances of CMAKE_BUILD_WITH_CMAKE to CMAKE_BOOTSTRAP
2019-08-09 10:41:44 -04:00
Sebastian Holtermann
7fbcc16dcd
cmStringAlgorithms: cmIsSpace, cmTrimWhitespace, cmEscapeQuotes, cmTokenize
...
This adds the following functions to `cmStringAlgorithms`:
- `cmIsSpace`
- `cmTrimWhitespace` (moved from `cmSystemTools::TrimWhitespace`)
- `cmEscapeQuotes` (moved from `cmSystemTools::EscapeQuotes`)
- `cmTokenize` (moved from `cmSystemTools::tokenize` and adapted to
accept `cm::string_view`)
2019-08-05 11:25:30 +02:00
Sebastian Holtermann
09977c1816
cmSystemTool: Let TrimWhitespace accept a cm::string_view
2019-07-28 17:47:26 +02:00
Sebastian Holtermann
2f19e53705
cmSystemTool: Let HelpFileName accept a cm::string_view
2019-07-28 17:47:26 +02:00
Sebastian Holtermann
2c5454f227
cmSystemTool: Let EscapeQuotes accept a cm::string_view
2019-07-28 17:47:26 +02:00
Sebastian Holtermann
ad3183db8c
cmSystemTool: Let Expand(ed)ListArgument accept a cm::string_view
2019-07-28 17:47:26 +02:00
Kyle Edwards
618bd463ad
Merge topic 'remove_compiler_rpath'
...
bd2793b6e9 Help: Add documentation for INSTALL_REMOVE_ENVIROMENT_RPATH
f08dcbffec Property: Add INSTALL_REMOVE_ENVIROMENT_RPATH property
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3544
2019-07-26 12:01:27 -04:00
Jiang Yue
f08dcbffec
Property: Add INSTALL_REMOVE_ENVIROMENT_RPATH property
2019-07-25 12:30:23 -04:00
Sebastian Holtermann
4ff0bb054b
cmSystemTools: Make IsInternallyOn, IsON and IsOff cm::string_view based
2019-07-24 19:31:14 +02:00
Sebastian Holtermann
f8a310c9d1
cmSystemTools: Remove cmSystemTools::FileFormat method
2019-07-04 13:46:19 +02:00
Brad King
6e8acc51a5
Merge topic 'string-tar'
...
57cedb18c0 cmSystemTools: std::string parameters for tar functions
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3392
2019-05-30 09:57:11 -04:00
Brad King
05af1770a0
Merge topic 'tar-zstd-compression'
...
53cb1f2d04 cmake: Teach cmake -E tar command, Zstandard compression
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3357
2019-05-30 09:39:35 -04:00
Vitaly Stakhovsky
57cedb18c0
cmSystemTools: std::string parameters for tar functions
2019-05-29 09:56:08 -04:00
Bartosz Kosiorek
c8e217e0a7
cmake: tar: Allow selective extracting and listing of archives
2019-05-23 10:08:22 -04:00
Brad King
a4faf7788c
Merge topic 'string-error'
...
e884b1b693 cmSystemTools::Error(): remove const char* overload
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3360
2019-05-23 09:05:47 -04:00
Vitaly Stakhovsky
e884b1b693
cmSystemTools::Error(): remove const char* overload
2019-05-22 10:51:06 -04:00
Sebastian Holtermann
5b53cfda24
cmSystemTools: Remove cmSystemToolsFileTime interface
...
This removes the C style cmSystemToolsFileTime interface in cmSystemTools.
It was replaced by the RAII based cmFileTimes class.
2019-05-22 10:57:10 +02:00
Bartosz Kosiorek
53cb1f2d04
cmake: Teach cmake -E tar command, Zstandard compression
...
Fixes #18657
2019-05-22 03:46:55 +02:00
Sebastian Holtermann
cdff7f4e2a
cmSystemTools: Add ExpandedListArgument and ExpandedLists methods
...
Changes
-------
In `cmSystemTools` this
- renames the method `ExpandList` to `ExpandLists` and makes it iterator based
and adds the methods
- `std::vector<std::string> ExpandedLists(InputIt first, InputIt last)`
- `std::vector<std::string> ExpandedListArgument(const std::string& arg,
bool emptyArgs)`
Both return the `std::vector<std::string>` instead of taking a return vector
reference like `cmSystemTools::ExpandLists` and
`cmSystemTools::ExpandListArgument`.
Motivation
----------
Since C++17 return value optimization is mandatory, so returning a
`std:vector<std::string>` from a function should be (at least) as fast as
passing a return vector reference to the function.
The new methods can replace `cmSystemTools::ExpandLists` and
`cmSystemTools::ExpandListArgument` in many cases, which leads to
shorter and simpler syntax.
E.g. the commonly used pattern
```
if (const char* value = X->GetProperty("A_KEY_STRING")) {
std::vector<std::string> valuesList;
cmSystemTools::ExpandListArgument(value, valuesList);
for (std::string const& i : valuesList) {
doSomething(i);
}
}
```
becomes
```
if (const char* value = X->GetProperty("A_KEY_STRING")) {
for (std::string const& i :
cmSystemTools::ExpandedListArgument(value)) {
doSomething(i);
}
}
```
2019-05-13 15:37:18 +02:00
Brad King
c85524a94a
Ensure stdin, stdout, and stderr pipes are always open
...
On non-Windows platforms libuv assumes that file descriptors 0-2 are
always used for standard pipes and never for anything else. Otherwise,
libuv may re-use one of these descriptors and then fail an assertion
when closing it. Similarly, On Windows platforms our ConsoleBuf
implementation assumes that the standard handles are always open.
If CMake is run with any standard pipes closed, open them with
`/dev/null` or `NUL` to satisfy these assumptions.
Fixes : #19219
2019-05-02 14:34:58 -04:00
Alex Turbov
377d1b7896
cmSystemTools: Remove unused message-related code, simplify logic
2019-04-27 18:36:45 +10:00
Sebastian Holtermann
735c6f39d9
Fix invalid ///! doxygen comment line starts
...
In various places `///!` was used to start a comment line. This is not valid
Doygen syntax. This patch replaces `///!` comment starts with `//!`.
2019-03-31 11:27:12 +02:00
Kyle Edwards
fac093802a
Merge topic 'tar-improve-error-handling'
...
ea9a2c1759 cmake: tar: Parse 'cmake -E tar' arguments
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3081
2019-03-21 10:50:38 -04:00
Bartosz Kosiorek
ea9a2c1759
cmake: tar: Parse 'cmake -E tar' arguments
2019-03-20 09:28:49 -04:00
Brad King
b52d9d6960
cmSystemTools: Drop unused CollapseCombinedPath method
...
All call sites have been converted to `CollapseFullPath`, so the
now-unused `CollapseCombinedPath` can be removed.
Fixes : #19050
2019-03-19 10:00:08 -04:00
Vitaly Stakhovsky
4e315e9449
cmSystemTools: More functions accept std::string
params
2019-02-20 14:53:39 -05:00
Vitaly Stakhovsky
bd20cc29a2
cmSystemTools: Remove redundant cmCopyFile() and Split()
2019-02-15 09:52:29 -05:00
Vitaly Stakhovsky
080a79ca4a
cmSystemTools: More methods accept std::string
params
2019-02-11 18:11:59 -05:00
Brad King
89ca5d7fdc
Merge topic 'message-stdstring'
...
82edd98300 cmSystemTools: MessageCallback and Message() accept std::string argument
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2929
2019-02-08 08:49:35 -05:00
Vitaly Stakhovsky
82edd98300
cmSystemTools: MessageCallback and Message() accept std::string argument
2019-02-07 13:41:27 -05:00
Vitaly Stakhovsky
65baaa0e37
cmSystemTools::RunSingleCommand: Accept std::string argument
2019-02-06 11:02:10 -05:00
Sebastian Holtermann
ed0fa784eb
cmSystemTools: Let GetFileFormat
accept a std::stding const&
...
The `const char*` used formerly was converted to a `std::string`
internally anyway.
2019-02-02 18:42:08 +01:00
Brad King
fb82385515
Merge topic 'std-string-callback'
...
1180fc8780 OutputCallback: Accept std::string argument
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: vvs31415 <vstakhovsky@fastmail.com>
Merge-request: !2891
2019-01-31 11:13:34 -05:00
Brad King
eb2c23868f
Merge topic 'tidy-use-equals-delete'
...
b05b778a2d clang-tidy: Use `= delete`
Acked-by: Kitware Robot <kwrobot@kitware.com>
Rejected-by: vvs31415 <vstakhovsky@fastmail.com>
Merge-request: !2848
2019-01-30 14:00:58 -05:00
Regina Pfeifer
1180fc8780
OutputCallback: Accept std::string argument
2019-01-30 18:33:58 +01:00
Brad King
c30f9b1cde
Merge topic 'functional-callbacks'
...
8c92db829b MessageCallback: Remove unused bool& argument
bcee24aecc Use `std::function` for callbacks
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: vvs31415 <vstakhovsky@fastmail.com>
Acked-by: Daniel Pfeifer <daniel@pfeifer-mail.de>
Merge-request: !2872
2019-01-30 08:10:27 -05:00
Regina Pfeifer
b05b778a2d
clang-tidy: Use = delete
2019-01-29 14:09:21 -05:00
Regina Pfeifer
8c92db829b
MessageCallback: Remove unused bool& argument
2019-01-29 16:35:53 +01:00
Vitaly Stakhovsky
c31b6e616d
cmSystemTools: copy file member functions accept std::string params
...
Cleaned up `c_str()`s.
`cmSystemTools::CopyFileIfDifferent()` removed as redundant.
2019-01-29 10:34:18 -05:00