Commit Graph
38971 Commits
Author SHA1 Message Date
Brad King 2d262efd29 cmNinjaTargetGenerator: Factor out helper for shell path arguments 2026-02-25 15:41:17 -05:00
Brad King 6d397a330f Merge topic 'fix-cps-prefix-crash' into release-4.3
7d2b4df69a CPS: Fix crash on bad paths in `.cps` file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11723
2026-02-24 12:03:42 -05:00
Matthew Woehlke 7d2b4df69a CPS: Fix crash on bad paths in .cps file
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
2026-02-23 14:54:02 -05:00
Matthew Woehlke 344f23bac4 CPS: Fix C features
Fix a typo in the logic that generates CPS compile features for C
language standards. Update tests to cover both C and C++.

Fixes: #27618
2026-02-19 15:13:24 -05:00
Brad King ff0cd9500e CMake 4.3.0-rc1 2026-02-19 10:50:25 -05:00
Brad King 0d341bf6b8 Merge topic 'ctest-launch-stdin' into release-4.3
0cc24534d7 ctest --launch: Restore sharing of stdin with child process

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Martin Duffy <martin.duffy@kitware.com>
Merge-request: !11709
2026-02-19 10:31:42 -05:00
Brad King fe3fee4622 Merge topic 'ctest-launch-stdin' into release-4.2
0cc24534d7 ctest --launch: Restore sharing of stdin with child process

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11709
2026-02-19 10:31:00 -05:00
Brad King 1f9c69b8ad Merge topic 'sbom-spec-fixes' into release-4.3
78f8b83ddb cmSbom: Fix names to ensure SBOM SPDX-3 compliance

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11700
2026-02-19 09:57:39 -05:00
Brad King 85961548d4 Merge topic 'cmp0210-warning' into release-4.3
8b350fae71 CMP0210: Warn at most once per `CMAKE_<LANG>_LINK_FLAGS` variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11703
2026-02-19 09:55:26 -05:00
Brad King 0cc24534d7 ctest --launch: Restore sharing of stdin with child process
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
2026-02-18 19:50:07 -05:00
Taylor Sasser 78f8b83ddb cmSbom: Fix names to ensure SBOM SPDX-3 compliance 2026-02-18 15:01:43 -05:00
Brad King 4f451d044a cmake-gui: Fix first-configure dialog appearance in Dark Mode on Windows
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>
2026-02-18 14:25:25 -05:00
Tyler Yankee 8b350fae71 CMP0210: Warn at most once per CMAKE_<LANG>_LINK_FLAGS variable
Additionally, add more testing for the warning case.

Issue: #21934
2026-02-18 11:44:07 -05:00
Brad King 40c2adc5c7 Merge topic 'pchreuse-copy-depends' into release-4.3
a8cf09d49a PCH: Fix regression in REUSE_FROM that copies the `.pdb` too often

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !11702
2026-02-18 09:19:37 -05:00
Brad King a8cf09d49a PCH: Fix regression in REUSE_FROM that copies the .pdb too often
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
2026-02-17 17:14:45 -05:00
Brad King 49298c7b18 Begin 4.3 release versioning 2026-02-17 14:23:19 -05:00
Brad King 78b344068b Merge topic 'fastbuild-msvc-i18n'
8bb0eef8e6 FASTBuild: make it work with non-US installations of MSVC

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Eduard Voronkin <edward.voronkin@gmail.com>
Merge-request: !11668
2026-02-17 11:09:26 -05:00
Brad King c266f697ec Merge topic 'remove-unneeded-check'
bcb62c875a cmMakefile: Remove unneeded check

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11692
2026-02-17 11:03:21 -05:00
Brad King 8569be1245 Merge topic 'ctest-per-test-start-time'
14e93d31c1 ctest: Report `StartTestTime` in Test.xml only for tests that started
fa69e8348d ctest: Convert `StartTestTime` field in Test.xml to seconds

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Joe Snyder <joe.snyder@kitware.com>
Merge-request: !11694
2026-02-17 10:59:16 -05:00
Kitware Robot 53d7dd96db CMake Nightly Date Stamp 2026-02-17 00:10:09 -05:00
Alexander Neundorf 8bb0eef8e6 FASTBuild: make it work with non-US installations of MSVC
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
2026-02-16 10:33:20 -05:00
Kitware Robot c0a05022b6 CMake Nightly Date Stamp 2026-02-16 00:06:25 -05:00
Kitware Robot f809b9cb55 CMake Nightly Date Stamp 2026-02-15 00:07:27 -05:00
Brad King 14e93d31c1 ctest: Report StartTestTime in Test.xml only for tests that started
Fix commit fd55647d16 (ctest: Record `StartTestTime` entry for each
test in Test.xml, 2026-02-12) to not report an uninitialized field.
2026-02-14 18:39:42 -05:00
Brad King fa69e8348d ctest: Convert StartTestTime field in Test.xml to seconds
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
2026-02-14 18:39:15 -05:00
Brad King a4373ca252 Merge topic 'cpack-wix-perUser'
781754f505 CPack/WiX: Add support for perUser install scope

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11680
2026-02-14 16:27:14 -05:00
Kitware Robot 16c8ec8ec7 CMake Nightly Date Stamp 2026-02-14 00:14:03 -05:00
Matthew Woehlke bcb62c875a cmMakefile: Remove unneeded check
Don't check whether the variable watch is null before returning either
the variable watch or `nullptr`, as that is clearly redundant.
2026-02-13 14:24:34 -05:00
Ivan Desiatov 781754f505 CPack/WiX: Add support for perUser install scope
This allows one to create installers that install to `AppDataLocal`
and do not require admin privileges to execute.

Fixes: #24939
2026-02-13 10:57:39 -05:00
Brad King 32bd370b6b Merge topic 'ctest-test-start-time'
fd55647d16 ctest: Record `StartTestTime` entry for each test in Test.xml

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11684
2026-02-13 09:55:33 -05:00
Brad King 84aff9588f Merge topic 'remove-cps-experimental-gate'
f5c515cbf2 CPS: Remove experimental gate (mostly)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11683
2026-02-13 09:51:24 -05:00
Kitware Robot 17aaf26a26 CMake Nightly Date Stamp 2026-02-13 00:09:52 -05:00
Joseph Snyder fd55647d16 ctest: Record StartTestTime entry for each test in Test.xml
Capture the time at which each test was started.  The time should be in
milliseconds to allow quick test runs to be differentiated.

Fixes: #26859
2026-02-12 14:40:04 -05:00
Brad King 477dd9a061 Merge topic 'fbuild_unity_subdirs'
3f43795df9 FASTBuild: Allow files in different subdirs to be in the same unity bucket

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Eduard Voronkin <edward.voronkin@gmail.com>
Merge-request: !11679
2026-02-12 11:04:34 -05:00
Kitware Robot c3a18b6dd8 CMake Nightly Date Stamp 2026-02-12 00:11:33 -05:00
Matthew Woehlke f5c515cbf2 CPS: Remove experimental gate (mostly)
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.
2026-02-11 16:10:29 -05:00
Andrew Maher 3f43795df9 FASTBuild: Allow files in different subdirs to be in the same unity bucket
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
2026-02-11 14:38:22 -05:00
Brad King 9d2fc99a95 Merge topic 'cmake-locale-query'
b02ae60a76 cmake_host_system_information: Add query for the locale's charset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11648
2026-02-11 12:41:12 -05:00
Brad King 1ebfb6cb03 Merge topic 'cmake-locale'
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
2026-02-11 12:39:36 -05:00
Brad King a92c9d30ae Merge topic 'cps-dyld-properties'
9fa2b5dd99 CPS: Support importing `link_libraries`
3071bc6c87 CPS: Support importing "link dependent libraries".
92a0abd164 CPS: Support exporting "link dependent libraries".
93891e27cb cmExportPackageInfoGenerator: Refactor extracting requirements

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11667
2026-02-11 12:08:32 -05:00
Brad King 43375ad8f8 Merge topic 'per-importer-bmi'
5c00749c5d cmCxxModuleUsageEffects: Collect and apply BMI compatibility requirements
5898c8d2e0 cxxmodules: Generate per-importer BMIs for native targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Vito Gamberini <vito.gamberini@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !11561
2026-02-11 12:03:15 -05:00
Brad King b02ae60a76 cmake_host_system_information: Add query for the locale's charset
Issue: #27562
2026-02-11 11:56:05 -05:00
Brad King d284ce2fd6 Initialize character set encoding on program startup
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
2026-02-11 11:55:59 -05:00
Brad King 6ec707312d Make character classification locale-independent
Use ASCII-only ctype operations provided by KWSys String.
These match the "C" locale in which `cmake` has long run.
2026-02-11 11:55:54 -05:00
Brad King ea47c154e5 Make case-dependent operations locale-independent
Use ASCII-only ctype operations provided by KWSys String.
These match the "C" locale in which `cmake` has long run.
2026-02-11 11:55:50 -05:00
Brad King c81909f842 Merge branch 'upstream-KWSys' into cmake-locale
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2026-02-11 (dcab76ba)
2026-02-11 11:54:22 -05:00
Brad King 9686a367df Merge topic 'vs-win11-sdk'
6d8ce8b190 VS: Accept Windows 11 SDKs as semantically equivalent to Windows 10 SDKs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11671
2026-02-11 11:53:22 -05:00
Brad King 57346991aa Merge topic 'vs-win11-sdk' into release-4.2
6d8ce8b190 VS: Accept Windows 11 SDKs as semantically equivalent to Windows 10 SDKs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11671
2026-02-11 11:53:20 -05:00
Kitware Robot a4d059ca3a CMake Nightly Date Stamp 2026-02-11 00:12:15 -05:00
Brad King 8d251cc54a Merge topic 'fastbuild-imported-objlib'
67dc1dff7c FASTBuild: fix imported object libs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11670
2026-02-10 11:32:08 -05:00