diff options
author | Brad King <brad.king@kitware.com> | 2023-07-24 12:43:15 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2023-07-24 12:43:19 (GMT) |
commit | 6194193a8a0a476539590aabbb27094d1aff136a (patch) | |
tree | 7b56eea1985a37978b58b64c35c53bf4c682d571 /Help | |
parent | e61a51b5a247bec564cb48184b499d17386c0470 (diff) | |
parent | 6b5f2dbbfe453f9bafe46ee420e657735ff16fb0 (diff) | |
download | CMake-6194193a8a0a476539590aabbb27094d1aff136a.zip CMake-6194193a8a0a476539590aabbb27094d1aff136a.tar.gz CMake-6194193a8a0a476539590aabbb27094d1aff136a.tar.bz2 |
Merge topic 'file-REAL_PATH-relative'
6b5f2dbbfe file(REAL_PATH): resolve symlinks before '..' components
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8605
Diffstat (limited to 'Help')
-rw-r--r-- | Help/command/file.rst | 5 | ||||
-rw-r--r-- | Help/manual/cmake-policies.7.rst | 8 | ||||
-rw-r--r-- | Help/policy/CMP0152.rst | 20 |
3 files changed, 33 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>) diff --git a/Help/manual/cmake-policies.7.rst b/Help/manual/cmake-policies.7.rst index 7c48806..89b7924 100644 --- a/Help/manual/cmake-policies.7.rst +++ b/Help/manual/cmake-policies.7.rst @@ -51,6 +51,14 @@ The :variable:`CMAKE_MINIMUM_REQUIRED_VERSION` variable may also be used to determine whether to report an error on use of deprecated macros or functions. +Policies Introduced by CMake 3.28 +================================= + +.. toctree:: + :maxdepth: 1 + + CMP0152: file(REAL_PATH) resolves symlinks before collapsing ../ components. </policy/CMP0152> + Policies Introduced by CMake 3.27 ================================= diff --git a/Help/policy/CMP0152.rst b/Help/policy/CMP0152.rst new file mode 100644 index 0000000..d7e8692 --- /dev/null +++ b/Help/policy/CMP0152.rst @@ -0,0 +1,20 @@ +CMP0152 +------- + +.. versionadded:: 3.28 + +:command:`file(REAL_PATH)` resolves symlinks before collapsing ../ components. + +In CMake 3.27 and below, :command:`file(REAL_PATH)` collapsed any ``../`` +components in a path before resolving symlinks. This produced incorrect +results when the ``../`` collapsed away a symlink. + +The ``OLD`` behavior for this policy is to collapse ``../`` components before +resolving symlinks. +The ``NEW`` behavior for this policy is to resolve all symlinks before +collapsing ``../`` components. + +This policy was introduced in CMake version 3.28. Use the +:command:`cmake_policy` command to set it to ``OLD`` or ``NEW`` explicitly. + +.. include:: DEPRECATED.txt |