summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/file
Commit message (Collapse)AuthorAgeFilesLines
* file: Change REMOVE to ignore empty namesBrad King2019-05-213-0/+15
| | | | | | | | | | | | | | | 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
* file(INSTALL): Add FOLLOW_SYMLINK_CHAIN argumentKyle Edwards2019-05-162-0/+169
|
* Tests: Avoid cross-device links in CREATE_LINK testTushar Maheshwari2019-01-163-1/+20
| | | | Add a test for COPY_ON_ERROR to cover that scenario.
* Tests: Skip symlink tests on WindowsTushar Maheshwari2019-01-165-10/+10
|
* Tests: CREATE_LINK subcommand negative test caseTushar Maheshwari2019-01-164-0/+7
|
* Tests: file CREATE_LINK subcommand test casesTushar Maheshwari2019-01-164-0/+21
|
* file: Fix formatting of error in SIZE sub-commandKyle Edwards2018-12-062-3/+4
|
* file: Add READ_SYMLINK sub-commandKyle Edwards2018-12-068-0/+33
|
* file: add SIZE optionWouter Klouwen2018-11-275-0/+20
| | | | | 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.
* Testing: Update hard-coded line numbers to [0-9]+ in some testsKyle Edwards2018-10-102-7/+7
|
* file: Drop error cases added by CMake 3.12.0-rc1 to avoid regressionsBrad King2018-06-226-11/+1
| | | | | | | | | Refactoring in commit v3.12.0-rc1~418^2~3 (Refactor HandleGlobCommand, 2018-02-13) introduced error diagnostics for argument combinations that were previously accepted. Restore acceptance to avoid regressing projects that used those combinations even if they do not make sense. Fixes: #18097
* Add tests for `file(GLOB)` CONFIGURE_DEPENDS flagShane Parris2018-04-0219-0/+159
|
* Add test for sorting and deduping of file(GLOB) resultShane Parris2018-03-073-0/+24
|
* Enhance RunCMake test coverage for file(GLOB)Shane Parris2018-02-2815-2/+35
|
* Adds file(TOUCH) and file(TOUCH_NOCREATE) sub-commandsShane Parris2018-02-1510-0/+36
|
* Add testcases for file(DOWNLOAD|UPLOAD) netrc optionsShane Parris2017-10-189-0/+72
|
* file: Add COPY/INSTALL option for fixed layout relative to a directoryBrad King2017-04-139-0/+38
| | | | | | | | Add a `FILES_FROM_DIR` option to install a specific set of files specified relative to a given directory and preserve their layout in the destination. Currently we intend to use this internally to implement other things so we don't provide an `install()` porcelain or documentation yet.
* handle non-existing symlink creation locationsDomen Vrankar2017-03-283-0/+17
|
* file: Add READ_ELF command to parse ELF binariesFlorian Apolloner2017-03-104-0/+6
| | | | | Leave it undocumented for now because we intend to use it internally and it cannot be made available everywhere.
* Tests: Fix `file://` URLs given to curlBrad King2017-02-103-3/+12
| | | | | | | Since upstream curl commit curl-7_52_0~131 (URL-parser: for file://[host]/ URLs, the [host] must be localhost, 2016-11-11) we can no longer use URLs of the form `file://c:/...` on Windows. These worked only accidentally before. Use `file:///c:/...` instead.
* file: Fix crash on GLOB with no expressions after LIST_DIRECTORIESBrad King2017-01-162-0/+2
| | | | | | | | Since commit v3.3.0-rc1~318^2~1 (file: Teach GLOB to list directories optionally, 2015-03-17) using `LIST_DIRECTORIES` followed by no expression causes a crash. Fix the logic to avoid the crash. Fixes: #16565
* Merge topic 'file-curl-httpheader'Brad King2016-09-167-0/+14
|\ | | | | | | | | 8f6cb366 file(DOWNLOAD|UPLOAD): Add HTTPHEADER suboption
| * file(DOWNLOAD|UPLOAD): Add HTTPHEADER suboptionRuslan Baratov2016-09-157-0/+14
| |
* | Tests: Add case for file(LOCK) with lower-cased pathRuslan Baratov2016-09-152-0/+12
|/ | | | | | | The KWSys update in commit d28e4467 (KWSys 2016-09-14 (c4049689)) fixed this case, so add it to the test suite. Closes: #16295
* file(DOWNLOAD|UPLOAD): Add 'USERPWD' suboptionRuslan Baratov2016-09-137-0/+14
|
* file(DOWNLOAD|UPLOAD): Warn on unexpected argumentsRuslan Baratov2016-09-099-0/+22
| | | | | Emit warning message on unparsed argument instead of silently ignoring it. Can't stop with the error message because it may break old code.
* file: Sort GLOB results to make it deterministic (#14491)Reiner Herrmann2016-05-173-9/+0
| | | | | | | | | | | | | | | | | Even though the `file(GLOB)` documentation specifically warns against using it to collect a list of source files, projects often do it anyway. Since it uses `readdir()`, the list of files will be unsorted. This list is often passed directly to add_executable / add_library. Linking binaries with an unsorted list will make it unreproducible, which means that the produced binary will differ depending on the unpredictable `readdir()` order. To solve those reproducibility issues in a lot of programs (which don't explicitly `list(SORT)` the list manually), sort the resulting list of the `file(GLOB)` command. A more detailed rationale about reproducible builds is available [here](https://reproducible-builds.org/).
* file(DOWNLOAD): Fill STATUS variable on hash mismatch (#15987)Brad King2016-02-255-0/+21
| | | | | | | | | Although we fail with an error on a hash mismatch, it is not a fatal error so the script may continue processing. If the download itself had no error then report in the STATUS variable that the operation was not successful due to the hash mismatch. Suggested-by: Tobias Hieta <tobias@hieta.se>
* file: Teach GLOB to list directories optionallyDomen Vrankar2015-03-2013-0/+122
| | | | | | GLOB lists directories by default and GLOB_RECURSE does not. LIST_DIRECTORIES enables user to control the behavior explicitly for consistently for both GLOB and GLOB_RECURSE.
* file: Add LOCK subcommand to do file and directory lockingRuslan Baratov2014-12-0345-0/+196
| | | | | | | | | Provide options to fail without blocking or to block up to a timeout. Provide options to specify the scope containing the lock so it can be released automatically at the end of a function, file, or process. Extend the RunCMake.file test with cases covering the file(LOCK) command usage and error cases.
* file(INSTALL): Add undocumented options to control output verbosityBrad King2014-06-246-0/+45
| | | | | | Create options "MESSAGE_ALWAYS", "MESSAGE_LAZY", and "MESSAGE_NEVER" to specify whether to print the "Installing" and "Up-to-date" messages. Extend the RunCMake.file test with cases covering these options.
* file(INSTALL): Report existing DIRECTORY as Up-to-dateBrad King2014-06-244-0/+14
| | | | | | | | | | | Teach cmFileCopier::InstallDirectory to detect whether the destination directory exists. If so, report it as "Up-to-date" instead of "Installing". This resolves message asymmetry with file installations. Extend the RunCMake.file and RunCMake.install tests to check the installation output on both the first and second run. Suggested-by: J Decker <d3ck0r@gmail.com>
* file: Report system error on failure to open fileBrad King2014-05-205-0/+14