summaryrefslogtreecommitdiffstats
path: root/Help/command/file.rst
diff options
context:
space:
mode:
authorRobert Maynard <rmaynard@nvidia.com>2023-06-29 19:24:49 (GMT)
committerRobert Maynard <rmaynard@nvidia.com>2023-07-20 21:02:58 (GMT)
commit6b5f2dbbfe453f9bafe46ee420e657735ff16fb0 (patch)
treea27c2718ea6c2ddd76e75b35eb035cfc48a0b358 /Help/command/file.rst
parentb0054dd65c1d69a437abe85d27e704326884a9c2 (diff)
downloadCMake-6b5f2dbbfe453f9bafe46ee420e657735ff16fb0.zip
CMake-6b5f2dbbfe453f9bafe46ee420e657735ff16fb0.tar.gz
CMake-6b5f2dbbfe453f9bafe46ee420e657735ff16fb0.tar.bz2
file(REAL_PATH): resolve symlinks before '..' components
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.
Diffstat (limited to 'Help/command/file.rst')
-rw-r--r--Help/command/file.rst5
1 files changed, 5 insertions, 0 deletions
diff --git a/Help/command/file.rst b/Help/command/file.rst
index 30a7f4d..f9d1a79 100644
--- a/Help/command/file.rst
+++ b/Help/command/file.rst
@@ -981,6 +981,11 @@ Path Conversion
if ``USERPROFILE`` is not defined. On all other platforms, only ``HOME``
is used.
+ .. versionchanged:: 3.28
+
+ All symlinks are resolved before collapsing ``../`` components.
+ See policy :policy:`CMP0152`.
+
.. signature::
file(RELATIVE_PATH <variable> <directory> <file>)