| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
Previously REAL_PATH would collapse paths before resolving any symlinks
so if `..` crossed a symlink the output from `REAL_PATH` would be wrong.
It looked like REAL_PATH did this by mistake since it was a side-effect
of ensuring we had an absolute path before resolving symlinks.
|
| |
|
| |
|
|
|
|
| |
Fixes: #24605
|
|
|
|
|
|
|
|
| |
For policy-specific tests, use the version before the policy was
introduced. Otherwise, use 3.5 where possible.
Also, remove `cmake_minimum_required()` and `project()` calls from
individual cases where they are handled by `CMakeLists.txt`.
|
|
|
|
|
|
| |
Previously, MAKE_DIRECTORY would print `problem creating directory: {}`,
which was very unhelpful for debugging. Extend the message with the
OS error string.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
28513a5fba Tests: Honor CMake_TEST_NO_NETWORK in RunCMake.file-DOWNLOAD
52b9c7b958 Tests: Move CMake.FileDownload cases into RunCMake.file-DOWNLOAD
9dda7c276c Tests: Factor out common helper in RunCMake.file-DOWNLOAD cases
d6af54c473 Tests: Factor out a RunCMake.file-DOWNLOAD test
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7937
|
| |
| |
| |
| | |
Move the `DOWNLOAD-*` cases over from the `RunCMake.file` test.
|
|/
|
|
|
|
|
|
| |
On Windows, a file may be inaccessible for a short time after it is
created. This occurs for various reasons, including indexing, antivirus
tools, and NTFS's asynchronous semantics. Add an `INPUT_MAY_BE_RECENT`
option to tell CMake that the input file may have been recently created
so that we can retry a few times to read it.
|
|
|
|
|
| |
When we know whether a failure was associated with the input or the
output path, include this information in the error message.
|
| |
|
| |
|
|
|
|
| |
Fixes: #23610
|
|\
| |
| |
| |
| |
| |
| |
| | |
41bebbe50a file: Restore error capture in undocumented READ_ELF mode
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6853
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Revise the error message added by commit 115ff6a347 (cmELF: Include the
ELF parsing code unconditionally, 2021-06-17, v3.22.0-rc1~557^2) to
honor the `CAPTURE_ERROR` option. This is needed by the call site in
`BundleUtilities` to suppress errors on non-ELF files.
Fixes: #23074
|
|/
|
|
|
|
| |
Move backtrace printing functions from `cmListFileBacktrace` over to
`cmMessenger`, their primary caller. Thread `cmMessenger` instances
through APIs needed to update other call sites.
|
|
|
|
|
|
|
| |
This case was added by commit e3ff7ced63 (file(INSTALL): Add
FOLLOW_SYMLINK_CHAIN argument, 2019-05-16, v3.15.0-rc1~103^2).
Skip it on Cygwin because it fails due to `foo/../` pairs being
flattened away in symlinks.
|
|
|
|
| |
Detect MSYS as CYGWIN, with the required adaptations.
|
|
|
|
|
| |
This option enables the replacement of any leading tilde with the path
to the user's home directory.
|
|
|
|
|
|
| |
The `file(COPY)` subcommand is overloaded and busy for such a simple
operation. Instead, make a simpler subcommand with error handling
support.
|
|
|
|
|
| |
Add a `NO_REPLACE` option that prevents overwriting `<newname>`
if it exists.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* Improve and test err messages when TLS_VERIFY and TLS_CAINFO
are not set in file(DOWNLOAD) and file(UPLOAD).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In certain cases, rebuilds with CMake using the CONFIGURE_DEPENDS flag
with GLOB_RECURSE could result in a reconfigure loop due to CMP0009 not
being propogated to the generated VerifyGlobs.cmake script.
During the inital configuration phase, RecurseThroughSymlinksOn() is
called for recursive glob operations either by having the CMP0009 status
not set to NEW or by explicitly providing the FOLLOW_SYMLINKS flag. At
the end when the VerifyGlobs script is created, the FOLLOW_SYMLINKS flag
is written according to the final resolved form through a call to
GetRecurseThroughSymlinks(). Thus, setting CMP0009 to NEW in the
generated file is safe and allows correct behavior whether or not the
end user sets the policy status to NEW or OLD.
|
| |
|
|
|
|
| |
Co-Authored-by: vector-of-bool <vectorofbool@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
Add a test for COPY_ON_ERROR to cover that scenario.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
| |
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 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.
|
| |
|
|
|
|
|
| |
Leave it undocumented for now because we intend to use it internally and
it cannot be made available everywhere.
|
|
|
|
|
|
|
| |
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.
|