Brad King
e15314420c
Merge topic 'iwyu-memory'
...
71fbebd1dc IWYU: Fix handling of <memory> standard header
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: Marc Chevrier <marc.chevrier@gmail.com >
Merge-request: !3536
2019-07-11 08:52:36 -04:00
Brad King
71fbebd1dc
IWYU: Fix handling of <memory> standard header
...
An old workaround for `std::allocator_traits<>::value_type` lints from
IWYU on `std::vector<>` usage breaks IWYU's handling of `<memory>`.
Convert the workaround to use the same approach we already use for a
workaround of `std::__decay_and_strip<>::::__type` lints. Then update
the `<memory>` inclusions to follow the now-correct IWYU lints.
2019-07-10 11:48:56 -04:00
Alex Turbov
98617f1be0
Refactor: Move CPack internal files to Internal/CPack/ directory
...
Some commits ago all CPack internal `*.cmake` files have been moved
to `Internal/CPack/`. This commit also move some templates
internally used by generators to the same location to make
`Modules/` directory less noisy w/ files the end users don't
need to use/see.
2019-07-09 15:45:03 +03:00
Sebastian Holtermann
9c576a88d9
Use cmFileTimes instead of cmSystemToolsFileTime interface
2019-05-22 10:57:10 +02:00
Brad King
186ca170da
Merge topic 'std-pipes-always'
...
c85524a94a Ensure stdin, stdout, and stderr pipes are always open
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: Kyle Edwards <kyle.edwards@kitware.com >
Merge-request: !3282
2019-05-03 11:48:46 -04: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
Zaytsev Yuriy
c474fb2777
CPack/IFW: Add StyleSheet field
2019-05-02 13:01:31 -04:00
Brad King
67645c132b
cpack: Remove unused file with old development notes
2019-04-11 10:56:05 -04:00
Brad King
0090907e86
tidy: Fix modernize-raw-string-literal in FreeBSD CPack generator
2019-04-05 08:32:39 -04:00
Artur Ryt
30bb14c657
Modernize: Enable modernize-raw-string-literal in clang-tidy
2019-04-02 19:59:54 +02:00
Artur Ryt
2d66567dca
Modernize: Prefer .substr in place of .c_str() + int
...
A lot of temporary/local strings were created out of C-strings
substr can utilize current string size, so in theory be a little
more efficient.
2019-03-30 16:15:05 +01:00
Brad King
a13a5c948e
Replace use of CollapseCombinedPath with CollapseFullPath
...
`CollapseCombinedPath` was introduced by commit 551d3343cd (cmDependsC:
Collapse relative include paths, 2013-06-19, v2.8.12~237^2) where the
existing `CollapseFullPath` should have been used instead. Then its use
proliferated slightly. Since `CollapseCombinedPath` is less widely used
and less robust (see issue #19049 ), use `CollapseFullPath` everywhere
instead.
Issue: #19050
2019-03-19 09:57:23 -04:00
Vitaly Stakhovsky
4e315e9449
cmSystemTools: More functions accept std::string params
2019-02-20 14:53:39 -05:00
Vitaly Stakhovsky
0281f9a4ca
cmMakefile::ConfigureFile: Accept std::string parameters
2019-02-18 20:48:19 -05:00
Albert Astals Cid
ae5e97a005
Delete some default constructors and assignment operators
...
They are unused, but if someone used them they would lead to
problems since they would copy the internal raw pointers
and the destructor would cause double delete
2019-02-15 07:25:47 -05:00
Brad King
8914d4317a
Merge topic 'systools-stdstring2'
...
080a79ca4a cmSystemTools: More methods accept `std::string` params
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !2952
2019-02-13 10:17:08 -05:00
Vitaly Stakhovsky
080a79ca4a
cmSystemTools: More methods accept std::string params
2019-02-11 18:11:59 -05:00
Vitaly Stakhovsky
950c099d83
cmake: Progress functions use std::string param
2019-02-11 10:32:43 -05:00
Brad King
4b37b4f1bb
Merge topic 'modernize-for-loops'
...
01b2d6ab74 Modernize: Use ranged for-loops when possible
15bdbec017 cmAlgorithms: Make cmRange advance/retreat safe for rvalues
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: Daniel Pfeifer <daniel@pfeifer-mail.de >
Merge-request: !2901
2019-02-11 08:08:22 -05:00
Brad King
9783825de5
Merge topic 'runsinglecommand'
...
65baaa0e37 cmSystemTools::RunSingleCommand: Accept std::string argument
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !2927
2019-02-08 08:47:56 -05:00
Artur Ryt
01b2d6ab74
Modernize: Use ranged for-loops when possible
...
Replaced most manual `const_iterator`-based loops and some
reverse-iterator loops with range loops.
Fixes : #18858
2019-02-07 22:39:05 +01:00
Vitaly Stakhovsky
65baaa0e37
cmSystemTools::RunSingleCommand: Accept std::string argument
2019-02-06 11:02:10 -05:00
Artur Ryt
f3534386b5
Prefer front/back/data over dereferencing begin/rbegin iter
...
Changed for sequenced containers: vector, list, string and array
2019-02-06 10:43:16 -05: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
Brad King
bcec7d0778
Merge topic 'copyfile-stdstring'
...
c31b6e616d cmSystemTools: copy file member functions accept std::string params
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !2877
2019-01-30 08:08:59 -05:00
Brad King
d75fec5a88
Merge topic 'tidy-use-equals-default'
...
094f01d0f0 cleanup: Prefer compiler provided special member functions
55671b41d2 clang-tidy: Use `= default`
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: Brad King <brad.king@kitware.com >
Merge-request: !2841
2019-01-29 14:07:24 -05: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
Regina Pfeifer
bcee24aecc
Use std::function for callbacks
2019-01-29 16:32:52 +01:00
Brad King
c18fc30d1a
Merge topic 'renamefile-string'
...
9e5c13738b cmSystemTools::RenameFile: Accepts std::string args
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !2842
2019-01-25 08:00:14 -05:00
Regina Pfeifer
55671b41d2
clang-tidy: Use = default
...
Suppress some cases in `Source/cmGeneratorExpressionNode.cxx` and
`Source/cmUVHandlePtr.h` where a few older compilers require a
user-defined default constructor (with `{}`).
2019-01-25 06:44:32 -05:00
Vitaly Stakhovsky
9e5c13738b
cmSystemTools::RenameFile: Accepts std::string args
2019-01-22 20:37:59 -05:00
Regina Pfeifer
5a0784ddea
clang-tidy: Pass by value
2019-01-22 13:03:04 -05:00
Brad King
c7428e1729
Merge topic 'read-list-file'
...
25caf7bafe cmMakefile::ReadListFile() accepts std::string argument
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !2821
2019-01-21 07:57:33 -05:00
Regina Pfeifer
ef61997b1b
clang-tidy: Use emplace
2019-01-17 13:12:02 -05:00
Vitaly Stakhovsky
25caf7bafe
cmMakefile::ReadListFile() accepts std::string argument
...
Same for cmMakefile::ReadDependentFile(); some cleanup
2019-01-17 12:36:07 -05:00
Kyle Edwards
4568d046c4
Properties: Add CMAKE_ROLE global property
...
This property allows scripts to determine whether they're in project
mode, script mode, find-package mode, CTest, or CPack.
2019-01-17 09:44:29 -05:00
Sean McBride
b056bc3425
Fix most clang -Wextra-semi-stmt warnings in C++ files
...
Suppress one in code generated by flex.
2019-01-15 14:09:46 -05:00
Regina Pfeifer
414aa6c81e
clang-tidy: Simplify boolean expressions
2019-01-15 11:40:25 -05:00
Brad King
cd0881be61
IWYU: Update CMake code for IWYU built with Clang 6
...
IWYU now correctly requires `<utility>` for `std::move`. It also
requires a container header when used via a range-based for loop.
2019-01-15 10:00:50 -05:00
Vitaly Stakhovsky
94632087b2
Add missing override
2018-12-30 12:32:55 -05:00
Brad King
d99e1cca20
Merge topic 'cpack-status-callback'
...
4a3ae1710e CPack/External: Fix status messages of staging scripts
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !2696
2018-12-10 08:17:06 -05:00
Nils Gladitz
4a3ae1710e
CPack/External: Fix status messages of staging scripts
...
Set progress callback on cmake instance used by CPack. The progress
callback is used to output STATUS messages which are otherwise missing
when issued from e.g. CPack External staging scripts.
Fixes : #18567
2018-12-07 07:33:30 -05:00
Regina Pfeifer
a816fe298d
cmCPackFreeBSDGenerator: fix clang-tidy issues
...
Install FreeBSD's libpkg on Linux and configure CMake with
CPACK_ENABLE_FREEBSD_PKG and CMake_RUN_IWYU set to ON.
Then, fix all warnings.
2018-12-06 19:45:24 +01:00
Brad King
81bea69bd1
Merge topic 'productbuild-encode-pkg-url-ref'
...
7954ba9bc1 productbuild: escape pkg-ref urls
652210e901 cmSystemTools: Add EncodeURL helper
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !2681
2018-12-06 09:06:13 -05:00
Brad King
7954ba9bc1
productbuild: escape pkg-ref urls
...
Inspired-by: James Goruk <james.goruk@gmail.com >
Fixes : #18645
2018-11-28 14:27:32 -05:00
Guillem Jover
38e75bb3c6
CPack/Deb: Remove paxr as a supported tar format for a .deb
...
The only format supported from the ones available within cpack is
gnutar, which supports large numbers encoded in base-256, and long
filenames and linknames. PAX is not and has never been a supported
format by dpkg.
Fixes : #18620
2018-11-28 09:31:28 -05:00
Brad King
772edffbf0
Merge topic 'readability-static-accessed-through-instance'
...
3e60580784 clang-tidy: Fix readability-static-accessed-through-instance
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !2647
2018-11-28 09:07:45 -05:00
Brad King
cb6229b8b8
clang-tidy: fix warnings in macOS-only code
2018-11-27 13:20:34 -05:00
Regina Pfeifer
3e60580784
clang-tidy: Fix readability-static-accessed-through-instance
...
Enable the check in .clang-tidy and fix all warnings.
2018-11-22 00:11:37 +01:00
Robert Maynard
f29e2292c9
cpack: When given an unknown generator print out all valid generators
...
This makes cpack behavior match cmake when passed an invalid generator
2018-11-08 19:07:24 -05:00