summaryrefslogtreecommitdiffstats
path: root/Source/cmFileCommand.cxx
Commit message (Collapse)AuthorAgeFilesLines
...
| * file: Change REMOVE to ignore empty namesBrad King2019-05-211-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously code like file(REMOVE_RECURSE "${accidentally_missing_variable}") treated the empty string as a relative path with respect to the current directory and removed its contents. Change this behavior to ignore the empty string with a warning instead. Normally such behavior changes are done with a policy, but in this case such code is likely a real bug in project code that can delete data. Fixes: #19274
* | Source: change parameters to std::stringVitaly Stakhovsky2019-05-191-2/+1
|/
* cmFileCommand: Port to cmArgumentParserRegina Pfeifer2019-04-041-81/+74
|
* cmFileCommand: Factor out cmFileCopier and cmFileInstallerBryon Bean2019-03-131-1080/+2
| | | | Split these classes out into their own sources.
* cmFileCommand: Refactor HandleCMakePathCommandArtur Ryt2019-02-261-24/+23
| | | | | | Make use of cmJoin and fresh cmRange::transform to reduce function complexity. Move conversion logic to named functions.
* cmRange: Move to dedicated header fileRegina Pfeifer2019-02-211-0/+1
|
* Merge topic 'delete_copy_assign'Brad King2019-02-181-0/+3
|\ | | | | | | | | | | | | ae5e97a005 Delete some default constructors and assignment operators Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2968
| * Delete some default constructors and assignment operatorsAlbert Astals Cid2019-02-151-0/+3
| | | | | | | | | | | | 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
* | cmSystemTools: Remove redundant cmCopyFile() and Split()Vitaly Stakhovsky2019-02-151-1/+1
|/
* Merge topic 'systools-stdstring2'Brad King2019-02-131-41/+43
|\ | | | | | | | | | | | | 080a79ca4a cmSystemTools: More methods accept `std::string` params Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2952
| * cmSystemTools: More methods accept `std::string` paramsVitaly Stakhovsky2019-02-111-41/+43
| |
* | cmake: Progress functions use `std::string` paramVitaly Stakhovsky2019-02-111-5/+5
|/
* Modernize: Use ranged for-loops when possibleArtur Ryt2019-02-071-20/+16
| | | | | | | Replaced most manual `const_iterator`-based loops and some reverse-iterator loops with range loops. Fixes: #18858
* Prefer front/back/data over dereferencing begin/rbegin iterArtur Ryt2019-02-061-3/+3
| | | | Changed for sequenced containers: vector, list, string and array
* Merge topic 'copyfile-stdstring'Brad King2019-01-301-2/+1
|\ | | | | | | | | | | | | c31b6e616d cmSystemTools: copy file member functions accept std::string params Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2877
| * cmSystemTools: copy file member functions accept std::string paramsVitaly Stakhovsky2019-01-291-2/+1
| | | | | | | | | | Cleaned up `c_str()`s. `cmSystemTools::CopyFileIfDifferent()` removed as redundant.
* | Merge topic 'tidy-use-equals-default'Brad King2019-01-291-2/+1
|\ \ | |/ |/| | | | | | | | | | | | | 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
| * cleanup: Prefer compiler provided special member functionsRegina Pfeifer2019-01-251-1/+0
| |
| * clang-tidy: Use `= default`Regina Pfeifer2019-01-251-2/+2
| | | | | | | | | | | | Suppress some cases in `Source/cmGeneratorExpressionNode.cxx` and `Source/cmUVHandlePtr.h` where a few older compilers require a user-defined default constructor (with `{}`).
* | Merge topic 'cmake-files-directory'Brad King2019-01-251-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | 3e867ed400 cmake: inlined files dir constant and removed it from cmake.h Acked-by: Kitware Robot <kwrobot@kitware.com> Rejected-by: vvs31415 <vstakhovsky@fastmail.com> Merge-request: !2655
| * | cmake: inlined files dir constant and removed it from cmake.hBruno Manganelli2019-01-211-1/+1
| | |
* | | Merge topic 'renamefile-string'Brad King2019-01-251-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 9e5c13738b cmSystemTools::RenameFile: Accepts std::string args Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2842
| * | | cmSystemTools::RenameFile: Accepts std::string argsVitaly Stakhovsky2019-01-231-1/+1
| | |/ | |/|
* | | Merge topic 'revert-file-alt-httpauth'Brad King2019-01-251-8/+0
|\ \ \ | |/ / |/| | | | | | | | | | | | | | 646eedcfcb Revert "file: Allow DOWNLOAD/UPLOAD using alternate authentication methods" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2858
| * | Revert "file: Allow DOWNLOAD/UPLOAD using alternate authentication methods"Brad King2019-01-241-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | Revert commit 31301b46a7 (file: Allow DOWNLOAD/UPLOAD using alternate authentication methods, 2018-08-28, v3.13.0-rc1~155^2). It regressed support for password-protected redirects. Fixes: #18691
* | | cmSystemTools: Silence CreateLink and CreateSymlink errorsTushar Maheshwari2019-01-161-15/+13
| | | | | | | | | | | | | | | If provided, report errors to a std::string. This allows "silent" fallback to another flow, like COPY_ON_ERROR.
* | | cmFileCommand: Add CREATE_LINK subcommandTushar Maheshwari2019-01-161-0/+121
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | This brings the functionality of `cmake -E create_symlink` and more to scripts. The default behavior is to create hard links. The `SYMBOLIC` argument can be used to create symlinks instead. The `COPY_ON_ERROR` argument enables a fallback to copying the file in case the link fails. The `RESULT <var>` retrieves the error message generated by the system. It is set to "0" on success. Fixes: #16926
* | Merge topic 'semi-warnings'Brad King2019-01-161-6/+8
|\ \ | | | | | | | | | | | | | | | | | | b056bc3425 Fix most clang -Wextra-semi-stmt warnings in C++ files Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2795
| * | Fix most clang -Wextra-semi-stmt warnings in C++ filesSean McBride2019-01-151-6/+8
| | | | | | | | | | | | Suppress one in code generated by flex.
* | | Factor out enum MessageType into dedicated headerBruno Manganelli2019-01-161-17/+20
|/ / | | | | | | Reduce the number of files relying on `cmake.h`.
* | IWYU: Update CMake code for IWYU built with Clang 6Brad King2019-01-151-0/+1
| | | | | | | | | | IWYU now correctly requires `<utility>` for `std::move`. It also requires a container header when used via a range-based for loop.
* | Source: Fix various compiler warnings in Visual Studio 2017Bruno Manganelli2019-01-091-1/+1
| |
* | clang-tidy: Use default member initializationRegina Pfeifer2018-12-151-7/+3
| |
* | file: Fix formatting of error in SIZE sub-commandKyle Edwards2018-12-061-1/+1
| |
* | file: Add READ_SYMLINK sub-commandKyle Edwards2018-12-061-0/+30
| |
* | Merge topic 'file-size'Brad King2018-11-281-0/+32
|\ \ | | | | | | | | | | | | | | | | | | 12b471e828 file: add SIZE option Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2639
| * | file: add SIZE optionWouter Klouwen2018-11-271-0/+32
| | | | | | | | | | | | | | | This commit adds the SIZE option to file(). It returns the file size of the given path if it exists and produces an error if not.
* | | clang-tidy: Enable checks from bugprone setRegina Pfeifer2018-11-211-3/+4
| | |
* | | clang-tidy: fix warnings from version 7Regina Pfeifer2018-11-201-1/+1
|/ / | | | | | | | | Fix some warnings that are new since clang-tidy version 4, and update `.clang-tidy` to suppress the rest.
* | Using front() and back() instead of calculationsCengizhan Pasaoglu2018-11-061-1/+1
|/
* install: Set permissions on directories created by install(DIRECTORY)Kyle Edwards2018-10-011-18/+38
| | | | | | | The directories that are implicitly created by install(DIRECTORY) were not having their permissions being set by CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS. This change refactors cmFileCopier to take this into account for directory installation.
* Remove unnecessary c_str() callsVitaly Stakhovsky2018-09-051-4/+4
| | | | Use the new IsOn(),IsOff() overloads.
* Merge topic 'file-alt-httpauth'Brad King2018-08-311-0/+8
|\ | | | | | | | | | | | | 31301b46a7 file: Allow DOWNLOAD/UPLOAD using alternate authentication methods Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2320
| * file: Allow DOWNLOAD/UPLOAD using alternate authentication methodsClinton Stimpson2018-08-301-0/+8
| |
* | cmMakefile: return directories as const std::string&Vitaly Stakhovsky2018-08-271-1/+1
|/
* Remove unnecessary c_str() in RegularExpression::find callsVitaly Stakhovsky2018-08-071-4/+4
|
* file(WRITE): Avoid toggling permissions between 644 and 664David Faure2018-08-011-5/+9
| | | | | | | | | | On systems with umask 022, this function would set permissions to 664 and restore them to 644 at the end, every single time it was called (which is many times on e.g. install_manifest.txt). The intent of the code was to make non-writable files temporarily writable and to restore permissions in the end, but really, if it's already user-writable there's no point in toggling this back and forth.
* file(STRINGS): Use isprint() to test character typeDevin Nakamura2018-07-101-2/+3
| | | | | | | Use the more portable `isprint()` function to test characters rather than using hard-coded hex values. The function is documented by the C++ standard to return non-zero for the exact range of hex values we previously hard-coded, so this should not change behavior.
* Merge topic 'update-kwsys'Brad King2018-06-251-4/+4
|\ | | | | | | | | | | | | | | | | b41b30f16e Update use of KWSys SystemTools::SplitString for new signature f2d97c1cdf Merge branch 'upstream-KWSys' into update-kwsys 6d7fdedde6 KWSys 2018-06-22 (49068d94) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2165
| * Update use of KWSys SystemTools::SplitString for new signatureBrad King2018-06-221-4/+4
| |