Sebastian Holtermann
f71f7ce3f0
cmStringAlgorithms: Move string functions to the new cmStringAlgorithms.h
...
This adds the `cmStringAlgorithms.h` header and moves all string functions
from `cmAlgorithms.h` to `cmStringAlgorithms.h`.
2019-07-29 21:13:56 +02:00
Kyle Edwards
b8828ecbba
cmake -E: Add true and false commands
2019-07-11 13:41:30 -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
Brad King
6696855f72
cmake: Simplify implementation of -E capabilities
...
The `cmake -E capabilities` command-line tool is implemented only in a
full-featured (non-bootstrap) CMake, and server mode is now always
available in this case.
2019-06-07 11:08:38 -04:00
John Freeman
07a80c7002
cmake: Teach -E remove_directory to remove multiple directories
...
The `make_directory` command can make multiple directories in a single
invocation. Make `remove_directory` mirror that behavior.
2019-06-03 14:20:00 -04: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
Brad King
4ec2b99941
Merge topic 'selective-tar-extracting-and-listing'
...
c8e217e0a7 cmake: tar: Allow selective extracting and listing of archives
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3342
2019-05-24 10:43:14 -04:00
Sebastian Holtermann
006229278b
Use cmAppend to append ranges to std::vector instances
2019-05-23 16:19:49 +02:00
Bartosz Kosiorek
c8e217e0a7
cmake: tar: Allow selective extracting and listing of archives
2019-05-23 10:08:22 -04:00
Bartosz Kosiorek
53cb1f2d04
cmake: Teach cmake -E tar command, Zstandard compression
...
Fixes #18657
2019-05-22 03:46:55 +02:00
Sebastian Holtermann
a3f062091f
Autogen: Rename cmQtAutoGeneratorMocUic
class to cmQtAutoMocUic
...
The class name `cmQtAutoGeneratorMocUic` is long and cumbersome. This renames
it to `cmQtAutoMocUic`.
2019-04-15 16:07:13 +02:00
Sebastian Holtermann
7b98a6eb68
Autogen: Rename cmQtAutoGeneratorRcc to cmQtAutoRcc
...
The class name `cmQtAutoGeneratorRcc` is long and cumbersome. This shortens
it to `cmQtAutoRcc`.
2019-04-06 17:37:12 +02:00
Brad King
29802ed272
Merge topic 'refactor-cmcmd'
...
f13aef4de5 cmcmd: Modernize for loops with cmMakeRange
e9bbfdd9a1 cmcmd: Pass args vector by const&
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3168
2019-04-01 10:47:13 -04: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
Artur Ryt
f13aef4de5
cmcmd: Modernize for loops with cmMakeRange
...
Also minor loop variable renaming
2019-03-30 15:39:45 +01:00
Artur Ryt
e9bbfdd9a1
cmcmd: Pass args vector by const&
2019-03-30 15:34:59 +01:00
Bartosz Kosiorek
ea9a2c1759
cmake: tar: Parse 'cmake -E tar' arguments
2019-03-20 09:28:49 -04:00
Bartosz Kosiorek
7c47fd8cd1
cmake: tar: Display warning when no files provided during archive creation
2019-03-18 17:08:20 +01:00
Bartosz Kosiorek
da2e588935
cmake: Upgrade 'cmake -E' commands description
...
Fixes : #13204
2019-03-12 16:01:33 +01:00
Brad King
6873e98486
Merge topic 'llvm-rc'
...
e53a968ed5 MSVC: Use -D instead of /D in RC_FLAGS
1a281a1acd RC: Pass output file in a way that llvm-rc 7 and below understand
fa339ced67 CMakeVersion.rc: Avoid preprocessor definitions to support llvm-rc
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3007
2019-03-04 08:42:49 -05:00
Zsolt Parragi
1a281a1acd
RC: Pass output file in a way that llvm-rc 7 and below understand
...
Prior to LLVM 8.0, `llvm-rc` does not recognize `/fo` without a space
after it. Add the space unconditionally because MS `rc` accepts it too.
Issue: #18957
2019-02-27 08:39:02 -05:00
Brad King
a4d99e4dec
Merge topic 'cmrange-improvements'
...
b8031308f3 cmRange: Add unit tests
a8d51ef8b7 cmRange: Add functions filter and transform
da4773e8b8 cmRange: Add functions all_of, any_of, none_of
17a367e77f cmRange: Stylistic cleanup
9eb0e73f46 cmRange: Move to dedicated header file
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Artur Ryt <artur.ryt@gmail.com>
Merge-request: !2972
2019-02-25 08:03:01 -05:00
Regina Pfeifer
9eb0e73f46
cmRange: Move to dedicated header file
2019-02-21 08:24:25 -05:00
Vitaly Stakhovsky
9dd255548d
cmSystemTools::Error: consolidate parameters into single std::string
2019-02-20 11:18:11 -05:00
Brad King
2bff8513f2
Merge topic 'modernize-for-loops-c-arrays'
...
706b93fa55 Modernize: C-arrays and loops over them
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2951
2019-02-19 07:56:41 -05:00
Artur Ryt
706b93fa55
Modernize: C-arrays and loops over them
...
It replaces C arrays with deduced std::initializer_lists
or std::array what makes enables for-loop over them.
2019-02-15 23:40:30 +01:00
Vitaly Stakhovsky
bd20cc29a2
cmSystemTools: Remove redundant cmCopyFile() and Split()
2019-02-15 09:52:29 -05:00
Vitaly Stakhovsky
65baaa0e37
cmSystemTools::RunSingleCommand: Accept std::string argument
2019-02-06 11:02:10 -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
Brad King
9620cb935a
Merge topic 'add_consistent_verbose_build_flag'
...
66801f4d40 cmake: Add tests for verbose output to --build mode
439fe2e253 cmake: Add options for verbose output to --build mode
638667efa2 cmake: cmcmd.cxx fix "The arguments are" comments
3ca4402966 ctest: Fix --build-and-test without --build-target on Xcode
cb6c233ecc cmake: Add -hideShellScriptEnvironment xcodebuild option
1a45266cb5 cmGlobalGenerator: Add a class that represent the build command
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2708
2019-01-29 09:19:39 -05:00
Taylor Braun-Jones
a5098cad94
cmake: Add --ignore-eol option to -E compare_files
command
...
Fixes : #13007
2019-01-28 08:24:50 -05:00
Florian Maushart
638667efa2
cmake: cmcmd.cxx fix "The arguments are" comments
...
Changed "argv" to "args" in comments to match parameter names
2019-01-25 08:21:14 -05: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
Brad King
9f84cbd8c3
Merge topic 'error-overloads'
...
99337d345b cmSystemTools::Error(): new overload accepting std::string
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2845
2019-01-25 07:59:11 -05:00
Vitaly Stakhovsky
99337d345b
cmSystemTools::Error(): new overload accepting std::string
2019-01-23 10:19:30 -05:00
Vitaly Stakhovsky
9e5c13738b
cmSystemTools::RenameFile: Accepts std::string args
2019-01-22 20:37:59 -05:00
Vitaly Stakhovsky
614876c638
cmLocalUnixMakefileGenerator3: more methods accept std::string
2019-01-22 11:11:13 -05:00
Regina Pfeifer
ef61997b1b
clang-tidy: Use emplace
2019-01-17 13:12:02 -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
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
jasjuang
c834c47dfc
cpplint: only print diagnostics to console if there are errors
...
Fixes : #18781
2019-01-11 12:56:51 -05:00
Isaiah Norton
100366a267
cmake: add error message when '-E touch' fails
...
Issue: #16526
2018-11-27 16:20:43 -05:00
Cengizhan Pasaoglu
c67ab22cdc
Using front() and back() instead of calculations
2018-11-06 21:43:33 +03:00
Brad King
a052479a5c
Merge topic 'msvc-custom-rc-mt'
...
bd9bfc6449 MSVC: Respect CMAKE_RC_COMPILER and CMAKE_MT in vs_link_{dll,exe}
0033676796 CUDA: Enable RC language on Windows
02f566a559 MSVC: Factor out enable_language(RC) call into helper macro
b601bb6f1c CUDA: Find CMAKE_LINKER on Windows
3eebe28ef4 cmLocalNinjaGenerator: Simplify CreateRulePlaceholderExpander
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2424
2018-11-02 07:57:06 -04:00
Mateusz Zych
bd9bfc6449
MSVC: Respect CMAKE_RC_COMPILER and CMAKE_MT in vs_link_{dll,exe}
...
CMake commands vs_link_dll and vs_link_exe, performing linking on MSVC,
are responsible for calling resource compiler and manifest tool.
Before this commit, both of these tools were called directly, with the
expectation that they are available in the `PATH`. This has been fixed
by respecting CMake variables `CMAKE_RC_COMPILER` and `CMAKE_MT`
defining paths to these tools.
Fixes : #17804
2018-10-29 13:40:47 -04:00
Harald Brinkmann
3b80cd77fb
Fail the build if cppcheck returns a non-zero exit code
...
This allows the build failure to be tuned with cppcheck's
options --error-exitcode=<n> and --exitcode-suppressions=<file>.
2018-10-11 07:56:05 -04:00
Jon Chronopoulos
afb7f6e4ff
cmake: Add '-E create_symlink' support on Windows
...
The allows `-E create_symlink` to work on Windows. It utilizes
`uv_fs_symlink`. I am still unsure exactly which Windows platforms will
work without requiring Administrator privileges or needing a user/group
with the "Create Symbolic Links" User Rights. It does work with my
Windows 10 Pro with Developer Mode turned on. In the test suite check
that the symlink either worked or failed with a permissions error.
Use recent changes in cmSystemTools::FileExists to check that a symlink
is broken.
2018-09-18 11:24:08 -04:00