summaryrefslogtreecommitdiffstats
path: root/Help/command
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2023-03-27 13:34:40 (GMT)
committerBrad King <brad.king@kitware.com>2023-03-27 13:49:51 (GMT)
commit5922c86ed60423b7d85506ae251e83d25dffca25 (patch)
tree7ae0cb8f3d062def2080693ce6b79053e47858ef /Help/command
parent7dffe99ad8bf6c34421632aa277dc09d48085cb2 (diff)
downloadCMake-5922c86ed60423b7d85506ae251e83d25dffca25.zip
CMake-5922c86ed60423b7d85506ae251e83d25dffca25.tar.gz
CMake-5922c86ed60423b7d85506ae251e83d25dffca25.tar.bz2
file(GET_RUNTIME_DEPENDENCIES): Document case-preserving change on Windows
In commit fa45594407 (file(GET_RUNTIME_DEPENDENCIES): Preserve casing for Windows PE binaries, 2023-03-06) we neglected to update associated documentation.
Diffstat (limited to 'Help/command')
-rw-r--r--Help/command/file.rst25
1 files changed, 16 insertions, 9 deletions
diff --git a/Help/command/file.rst b/Help/command/file.rst
index 25b762c..30a7f4d 100644
--- a/Help/command/file.rst
+++ b/Help/command/file.rst
@@ -341,12 +341,13 @@ Reading
On Windows platforms, library resolution works as follows:
- 1. The dependent DLL name is converted to lowercase. Windows DLL names are
- case-insensitive, and some linkers mangle the case of the DLL dependency
- names. However, this makes it more difficult for ``PRE_INCLUDE_REGEXES``,
- ``PRE_EXCLUDE_REGEXES``, ``POST_INCLUDE_REGEXES``, and
- ``POST_EXCLUDE_REGEXES`` to properly filter DLL names - every regex would
- have to check for both uppercase and lowercase letters. For example:
+ 1. DLL dependency names are converted to lowercase for matching filters.
+ Windows DLL names are case-insensitive, and some linkers mangle the
+ case of the DLL dependency names. However, this makes it more difficult
+ for ``PRE_INCLUDE_REGEXES``, ``PRE_EXCLUDE_REGEXES``,
+ ``POST_INCLUDE_REGEXES``, and ``POST_EXCLUDE_REGEXES`` to properly
+ filter DLL names - every regex would have to check for both uppercase
+ and lowercase letters. For example:
.. code-block:: cmake
@@ -369,9 +370,15 @@ Reading
either on disk or in the depending file. (For example, it will match
``mylibrary.dll``, ``MyLibrary.dll``, and ``MYLIBRARY.DLL``.)
- Please note that the directory portion of any resolved DLLs retains its
- casing and is not converted to lowercase. Only the filename portion is
- converted.
+ .. versionchanged:: 3.27
+
+ The conversion to lowercase only applies while matching filters.
+ Results reported after filtering case-preserve each DLL name as it is
+ found on disk, if resolved, and otherwise as it is referenced by the
+ dependent binary.
+
+ Prior to CMake 3.27, the results were reported with lowercase DLL
+ file names, but the directory portion retained its casing.
2. (**Not yet implemented**) If the depending file is a Windows Store app,
and the dependency is listed as a dependency in the application's package