The logic to compute the CPS prefix by comparing the specified relative
path to the actual path contained a potential overflow if the specified
path is longer than the actual path. Fix this by comparing the path
lengths first.
Fixes: #27631
This was broken by commit 96b3dd329e (cmCTestLaunchReporter: Replace
cmsysProcess with cmUVProcessChain, 2023-07-26, v3.28.0-rc1~138^2~2).
KWSys Process shares stdin by default. Now it must be explicit.
Issue: #27610
Since commit 1fef953655 (Utilities/Release: Update to Qt 6.10.1 on
Windows builds, 2025-12-08) our official binaries on Windows now honor
dark mode. However, this dialog became unreadable, seemingly due to
QTBUG-123853. Setting the wizard style to itself seems to work around
the problem.
Fixes: #27587
Qt-Issue: https://qt-project.atlassian.net/browse/QTBUG-123853
Suggested-by: Matthew Woehlke <matthew.woehlke@kitware.com>
Since commit 99bdf2ae16 (cmLocalGenerator: add PDB copying dependency on
its script, 2025-06-16, v4.2.0-rc1~481^2~8) the copy is repeated
whenever the copying script is updated. Avoid updating the copy script
timestamp when it does not change.
Fixes: #27608
The fastbuild generator uses clui.dll directly, and assumed it is in
the 1033/ subdirectory. But this doesn't exist on non-US installations
of Visual Studio. With this patch cmake searches for clui.dll, so it can
use the correct path. If the env. var VSLANG is set, it tries that first,
then it tries 1033/ and if none of the two exists, it takes the first
one it finds.
Fixes: #27535
In commit fd55647d16 (ctest: Record `StartTestTime` entry for each test
in Test.xml, 2026-02-12) we added the field with milliseconds to match
instrumentation. However, all other times reported by CTest are in
seconds, including the global `StartTestTime` field. Preserve
sub-second resolution using a floating-point representation.
Issue: #26859
Remove basic CPS import and export from 'experimental' status. Update
documentation and tests accordingly.
Note that mapped exports (CMAKE_EXPERIMENTAL_MAPPED_PACKAGE_INFO) are
still experimental.
The FASTBuild generator puts source files from different subdirectories
into different `FastbuildObjectListNode` instances. This ensures that
files with the same name will not write to the same object file. A unity
bucket can only contain files from a single `FastbuildObjectListNode`
instance, so a side effect of this logic is that unity buckets can only
contain files in the same subdirectory. This change fixes the problem by
skipping the subdirectory check logic for files with unity enabled.
Fixes: #27457
d284ce2fd6 Initialize character set encoding on program startup
6ec707312d Make character classification locale-independent
ea47c154e5 Make case-dependent operations locale-independent
c81909f842 Merge branch 'upstream-KWSys' into cmake-locale
5a187b69e7 KWSys 2026-02-11 (dcab76ba)
55842d16ac cmFileCommand: Adopt `file://` URL compatibility helper
6fe7acfe1d curl: Build with support for wide-character filesystem APIs on Windows
9a2ebd7f25 Tests: Add RunCMake.string case covering TOLOWER and TOUPPER with UTF-8
...
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Overchenko <aleksandr9809@gmail.com>
Merge-request: !11647
libarchive uses `nl_langinfo(CODESET)` as the host's encoding to convert
path names to/from the archive's encoding. Since commit cd408d93fd (Add
setlocale() calls around use of libarchive APIs, 2015-02-06, v3.1.3~2^2)
we've set `LC_CTYPE` using a scoped locale around libarchive calls to
avoid affecting character classification in the rest of the program.
We've since updated the rest of our code to be locale-independent.
Replace the scoped locale with a single locale established at program
startup. This is more efficient and avoids mutating global state.
Issue: #27562
6d8ce8b190 VS: Accept Windows 11 SDKs as semantically equivalent to Windows 10 SDKs
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11671
6d8ce8b190 VS: Accept Windows 11 SDKs as semantically equivalent to Windows 10 SDKs
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11671