Commit Graph
40027 Commits
Author SHA1 Message Date
Brad King 0dfba78434 Merge topic 'file-GLOB-CONFIGURE_DEPENDS-quoting'
249e364dd7 Merge branch 'backport-3.31-file-GLOB-CONFIGURE_DEPENDS-quoting'
2c89c2a74c file(GLOB): Teach CONFIGURE_DEPENDS to handle quotes in matched file names
9a9ce6637b file(GLOB): Teach CONFIGURE_DEPENDS to handle quotes in matched file names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !12378
2026-08-07 10:53:33 -04:00
Brad King e2a05ee03c Merge topic 'fileapi-reply-case-collision'
e6482b840a fileapi: Fix dangling reply reference on case-insensitive filesystems

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !12379
2026-08-07 10:48:15 -04:00
Brad King a42ed06cd0 Merge topic 'fix-27980-2'
ba93b9cf49 borland: support long comments for custom commands

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !12374
2026-08-07 10:39:21 -04:00
Kitware Robot 85e06e3791 CMake Nightly Date Stamp 2026-08-07 00:05:10 -04:00
Daksh Mamodiya e6482b840a fileapi: Fix dangling reply reference on case-insensitive filesystems
Reply file names embed the configuration name verbatim.  Reconfiguring
a build tree with a build type that differs from the previous one only
in case (e.g. Debug -> debug) makes CMake write a reply whose name also
differs only in case from the existing file.  On a case-insensitive
filesystem the write is skipped because the name already exists, but
RemoveOldReplyFiles compared on-disk names to the just-written names
textually and deleted the surviving file, leaving the reply index
citing a target or directory reply that no longer exists on disk.

Prune reply files by file identity via cmSystemTools::GetFileId instead
of by name, so an on-disk entry that aliases a reply we just wrote is
kept.  An entry whose identity cannot be obtained is retained rather
than deleted.

Fixes: #28022
2026-08-06 17:44:54 +02:00
Brad King 2c89c2a74c file(GLOB): Teach CONFIGURE_DEPENDS to handle quotes in matched file names
Otherwise a malicious file name can inject code into the verification
script.

Fixes: #28023
2026-08-06 10:38:49 -04:00
Brad King daf52d3bec Merge topic 'windows-export-nm-response-file'
a887fda85e WINDOWS_EXPORT_ALL_SYMBOLS: Improve performance with Clang toolsets
6d6e58a15e WINDOWS_EXPORT_ALL_SYMBOLS: Fix support for Visual Studio with ClangCL
ca1dc92e36 WINDOWS_EXPORT_ALL_SYMBOLS: Fail explicitly if `nm` fails to start
03e56cd338 Tests: Add cases covering `nm` handling for WINDOWS_EXPORT_ALL_SYMBOLS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12327
2026-08-06 09:20:06 -04:00
Alex Overchenko ba93b9cf49 borland: support long comments for custom commands
Fixes: #28013
2026-08-06 07:24:16 +03:00
Kitware Robot 60c1f7fe45 CMake Nightly Date Stamp 2026-08-06 00:05:36 -04:00
Brad King 60561e1337 Merge topic 'nmake-custom-command-long-comments'
79b807d185 nmake: support long comments for custom commands
e2a243ba43 fastbuild: long list of custom target deps really tested
b44db2c372 instrumentation: enable long output tests for all generators
94e37bc281 Tests: fix RunCMake_TEST_FILTER with non-matching TargetGenexEvent
0a4b5c1e36 Tests: deduplicate configure-and-build sequence

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !12354
2026-08-05 15:23:19 -04:00
Brad King 2d2a1c5c7a Merge topic 'jsonstate-dyndep'
afb609ce14 cmScanDepFormat: Use cmJSONState to parse P1689 output

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12366
2026-08-05 15:16:54 -04:00
Brad King 11c6315fc3 Merge topic 'jsonstate-plist'
44d8022322 cmPListParser: Use cmJSONState to read plist

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12365
2026-08-05 15:11:54 -04:00
Brad King bed4c8ba28 Merge topic 'jsonstate-string'
4678b7b34a string(JSON): Use cmJSONState to read input
76026ce818 Tests/string(JSON): Add comments to test case

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12364
2026-08-05 15:10:33 -04:00
Chuck Atkins a887fda85e WINDOWS_EXPORT_ALL_SYMBOLS: Improve performance with Clang toolsets
- Separate definition files from object files while reading the
  generated input list.
- Add batch bindexplib interfaces.
- Preserve native Windows COFF parsing for ordinary objects.
- Collect objects requiring nm and pass them to one nm process through a
  response file. On non-Windows hosts, pass every object to nm.
- Request --print-file-name so single- and multi-object output use the
  same format.
- Recognize text, data, and MSVC vftable symbols; ignore known
  non-exported types and warn about unknown types.
- Capture nm stderr separately so diagnostics cannot corrupt stdout
  symbol records.

Closes: #27995
2026-08-05 10:58:20 -04:00
Chuck Atkins 6d6e58a15e WINDOWS_EXPORT_ALL_SYMBOLS: Fix support for Visual Studio with ClangCL
Thread `CMAKE_NM` to the generated `__create_def` commands.

Closes: #27994
2026-08-05 10:58:20 -04:00
Chuck Atkins ca1dc92e36 WINDOWS_EXPORT_ALL_SYMBOLS: Fail explicitly if nm fails to start
Previously, when process creation failed, the initialized exit code
remained zero and `__create_def` silently wrote an empty export file.

Closes: #27993
2026-08-05 10:58:20 -04:00
Kitware Robot b4091767ca CMake Nightly Date Stamp 2026-08-05 00:09:54 -04:00
Alex Overchenko 79b807d185 nmake: support long comments for custom commands
Fixes: #27980
2026-08-04 20:16:42 +03:00
Brad King a0d1a037ec Merge topic 'preset-errors'
b1f15344c9 Presets: Clarify workflow step error messages

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !12349
2026-08-04 10:59:20 -04:00
Brad King fc5ff503cf Merge topic 'ctest-json-test-prop-raw'
572e4b5d2a ctest: Add --show-only=json-v1-raw option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !12288
2026-08-04 10:53:33 -04:00
Brad King 0a3a4c7293 Merge topic 'update-kwsys'
763b72fbbd Merge branch 'upstream-KWSys' into update-kwsys
3d95494391 KWSys 2026-08-04 (ea24baf0)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12363
2026-08-04 09:56:38 -04:00
Brad King 763b72fbbd Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2026-08-04 (ea24baf0)
2026-08-04 09:24:36 -04:00
Brad King 1704cd267e Merge topic 'jsonstate-ctest-submit'
c0e1d332af cmCTestSubmitHandler: Use cmJSONState to read responses

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12355
2026-08-04 09:08:21 -04:00
Brad King 7c4eb5f109 Merge topic 'jsonstate-vswhere'
7b7e9c162c VS: Use cmJSONState to read vswhere output

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12356
2026-08-04 09:02:42 -04:00
Kitware Robot ba6f9b5bfc CMake Nightly Date Stamp 2026-08-04 00:05:27 -04:00
Tyler Yankee afb609ce14 cmScanDepFormat: Use cmJSONState to parse P1689 output
This approach will be more portable.
2026-08-03 19:59:19 -04:00
Tyler Yankee 4678b7b34a string(JSON): Use cmJSONState to read input
This approach will be more portable.
2026-08-03 19:52:53 -04:00
Tyler Yankee 44d8022322 cmPListParser: Use cmJSONState to read plist
This approach will be more portable.
2026-08-03 19:18:20 -04:00
Arha Gatram 572e4b5d2a ctest: Add --show-only=json-v1-raw option
This option changes the JSON value field for test properties to use the
unparsed string value.

Fixes: #27958
2026-08-03 09:36:11 -07:00
Brad King 7e4e036531 Merge topic 'import-std-refactor'
ab1bd6f6c6 c++modules: Remove CXX_MODULE_STD and CMAKE_CXX_COMPILER_IMPORT_STD
00d8e23414 c++modules: use synthetic interface objects for import std

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12347
2026-08-03 10:18:23 -04:00
Vito Gamberini ab1bd6f6c6 c++modules: Remove CXX_MODULE_STD and CMAKE_CXX_COMPILER_IMPORT_STD
Fixes: #27966, #27992, #28000
2026-08-03 10:05:34 -04:00
Kitware Robot 493c52cbdd CMake Nightly Date Stamp 2026-08-03 00:05:53 -04:00
Kitware Robot 4970297e50 CMake Nightly Date Stamp 2026-08-02 00:05:37 -04:00
Vito Gamberini 00d8e23414 c++modules: use synthetic interface objects for import std
Fixes: #27999
2026-08-01 19:55:07 -04:00
Tyler Yankee c0e1d332af cmCTestSubmitHandler: Use cmJSONState to read responses
This approach will be more portable.
2026-08-01 11:38:10 -04:00
Tyler Yankee 7b7e9c162c VS: Use cmJSONState to read vswhere output
This approach will be more portable.
2026-08-01 11:37:32 -04:00
Brad King 437cf232c5 Merge topic 'fix-cps-default-components-reexport'
4c6b437265 Export: Expand CPS default targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12333
2026-08-01 07:48:06 -04:00
Brad King 3091990556 Merge topic 'jsonstate-instrumentation'
1a9d3faff1 cmInstrumentation: Use cmJSONState to read snippet files
8dd00674bd cmInstrumentationCommand: Use cmJSONState to read content args
76e4137229 cmJSONState: Allow strictMode toggle
397fcd4663 cmJSONState: Allow input stream as input

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12320
2026-08-01 07:31:02 -04:00
Brad King 689ded6cc8 Merge topic 'update-kwsys'
f442561af3 Merge branch 'upstream-KWSys' into update-kwsys
e02ccf40f3 KWSys 2026-08-01 (786ec914)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12353
2026-08-01 07:16:38 -04:00
Brad King f442561af3 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2026-08-01 (786ec914)
2026-08-01 07:11:37 -04:00
Kitware Robot ab1627af4c CMake Nightly Date Stamp 2026-08-01 00:05:28 -04:00
Richard b1f15344c9 Presets: Clarify workflow step error messages
Report both the workflow step type and preset name when workflow
preset validation or execution fails.  This disambiguates workflows
where configure, build, test, and package steps share the same preset
name.

Update the workflow preset RunCMake expectations.
2026-07-31 10:44:57 -06:00
Brad King 90cfce949a Merge topic 'discover-tests-crash'
1b2f3287f7 GoogleTest: Restore toleration of odd test PROPERTIES count
6147180017 discover_tests: Require properties to be key-value pairs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12350
2026-07-31 08:52:06 -04:00
Kitware Robot 3d0f2256a6 CMake Nightly Date Stamp 2026-07-31 00:05:23 -04:00
Matthew Woehlke 4c6b437265 Export: Expand CPS default targets
CPS provides "default targets" as a user convenience which can be linked
by specifying only the package name. CMake implements this via a utility
`INTERFACE` target. However, because it is not namespaced, this is not a
valid requirement, which prevents exporting anything linking to this
target to CPS.

Work around this by introducing a new (internal) target property which
replaces a target with its link interface targets at export time.
2026-07-30 15:01:47 -04:00
Tyler Yankee 1a9d3faff1 cmInstrumentation: Use cmJSONState to read snippet files
This approach will be more portable.
2026-07-30 13:53:04 -04:00
Tyler Yankee 8dd00674bd cmInstrumentationCommand: Use cmJSONState to read content args
This approach will be more portable.
2026-07-30 13:52:58 -04:00
Daniel Pfeifer 6147180017 discover_tests: Require properties to be key-value pairs
Issue: #28004
2026-07-30 12:21:23 -04:00
Brad King 6fa0c6114b Merge topic 'fix-missing-rst-roles'
a9e89fec6d cmRST: Add missing roles

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12348
2026-07-30 11:52:27 -04:00
Brad King 0f556ca580 Merge topic 'improve-rst-output'
afd937eb3e cmRST: Split parsing into two phases

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12339
2026-07-30 11:51:07 -04:00