From 1fb7067b6e13bed3900b05a046aedcf19e962753 Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 10 Apr 2025 17:21:13 -0400 Subject: [PATCH] Help: Add 4.0 release note about file path case sensitivity on Windows Since KWSys commit `4feb470ab` (SystemTools: Remove GetActualCaseForPath from CollapseFullPath, 2024-10-23), imported by commit ede7f2afa6 (KWSys 2024-10-24 (e1acde2e), 2024-10-24, v4.0.0-rc1~589^2~1^2), the KWSys `CollapseFullPath` function that we use to normalize source file paths no longer looks up the on-disk case of file paths. This change was intentionally made to reduce unnecessary disk accesses. The change may affect Windows-only projects that were never built on a case sensitive filesystem. Call out the change in the 4.0 release notes. Issue: #26854 --- Help/release/4.0.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Help/release/4.0.rst b/Help/release/4.0.rst index 92583b9c6f..574676e3ee 100644 --- a/Help/release/4.0.rst +++ b/Help/release/4.0.rst @@ -241,6 +241,13 @@ Other Changes installed in ``/usr/local`` should pass ``-DCMAKE_OSX_SYSROOT=macosx``, or ``export SDKROOT=macosx``, when not building with Homebrew tools. +* On Windows, file paths named in project code, e.g., in ``CMakeLists.txt``, + are no longer automatically converted to their on-disk upper/lower case. + Projects are expected to spell source file paths consistently using + their canonical case, e.g., in calls to :command:`add_library`, + :command:`set_property(SOURCE)`, or :command:`set_source_files_properties`. + This matches the behavior on platforms with case-sensitive filesystems. + * On AIX, ``SHARED`` library targets now produce a shared library archive by default. See policy :policy:`CMP0182`.