Commit Graph
76872 Commits
Author SHA1 Message Date
Brad King 62dc29dfcc Merge branch 'release-4.0' 2026-08-07 10:54:27 -04:00
Brad King ce8b1f0e29 Merge branch 'release-3.31' 2026-08-07 10:54:21 -04:00
Brad King b91c6682b9 Merge branch 'release-4.4' 2026-08-07 10:53:34 -04:00
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 7ecf782279 Merge topic 'file-GLOB-CONFIGURE_DEPENDS-quoting' into release-4.4
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:31 -04:00
Brad King 1d4e75b58a Merge branch 'release-3.31' into release-4.0 2026-08-07 10:51:33 -04:00
Brad King 30b4c66234 Merge topic 'file-GLOB-CONFIGURE_DEPENDS-quoting' into release-4.0
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>
Merge-request: !12378
2026-08-07 10:51:25 -04:00
Brad King 2ec6c94f82 Merge topic 'backport-3.31-file-GLOB-CONFIGURE_DEPENDS-quoting' into release-3.31
9a9ce6637b file(GLOB): Teach CONFIGURE_DEPENDS to handle quotes in matched file names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12378
2026-08-07 10:48:42 -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 b547a934f4 Merge topic 'FindPython-CROSSCOMPILING_EMULATOR-management'
8c0bb8ee95 FindPython: Add support for python specific crosscompiling emulator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12380
2026-08-07 10:45:03 -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
Brad King 5ae6ad5ad2 Merge topic 'ci-intel-compiler'
891f7f8cd5 ci: add job testing Intel oneAPI 2026.1.0 compilers on Linux

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12376
2026-08-07 10:37:26 -04:00
Kitware Robot 85e06e3791 CMake Nightly Date Stamp 2026-08-07 00:05:10 -04:00
Marc Chevrier 8c0bb8ee95 FindPython: Add support for python specific crosscompiling emulator
Fixes: #27996
2026-08-06 17:57:26 +02: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 249e364dd7 Merge branch 'backport-3.31-file-GLOB-CONFIGURE_DEPENDS-quoting' 2026-08-06 10:47:43 -04: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 9a9ce6637b 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:37:56 -04:00
Brad King 891f7f8cd5 ci: add job testing Intel oneAPI 2026.1.0 compilers on Linux
There is no corresponding Intel classic C/C++ compiler version.
2026-08-06 09:26:30 -04:00
Brad King 5190a9d88e Merge branch 'release-4.4' 2026-08-06 09:24:54 -04:00
Brad King de68c0071c Merge topic 'orangec-rc'
835dfdfbac OrangeC: Fix compiling Windows Resources with only CXX enabled

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12373
2026-08-06 09:24:54 -04:00
Brad King 86d6c46938 Merge topic 'orangec-rc' into release-4.4
835dfdfbac OrangeC: Fix compiling Windows Resources with only CXX enabled

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12373
2026-08-06 09:24:52 -04:00
Brad King 1712ef9914 Merge topic 'completion-target-help-header'
0862819756 bash-completion: Fix spurious 'following' target completion candidate

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !12372
2026-08-06 09:22:42 -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
Brad King ac513358d1 Merge topic 'FortranCInterface-NAG-Fortran'
1c84ea4953 FortranCInterface: Restore mangling detection for NAG Fortran

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12369
2026-08-05 15:05:32 -04:00
Brad King 835dfdfbac OrangeC: Fix compiling Windows Resources with only CXX enabled
Fix commit 402d72b6c0 (OrangeC: Add support for compiling Windows
Resources, 2026-03-24, v4.4.0-rc1~444^2~1) to work for both C and CXX.

Inspired-by: Arha Gatram <agatram@nvidia.com>
2026-08-05 14:21:10 -04:00
Brad King 80169accea Merge branch 'release-4.4' 2026-08-05 13:49:28 -04:00
Brad King 3541846b47 Merge topic 'FindJNI-OpenSUSE'
25efb8bf45 FindJNI: Add paths for OpenSUSE libalternatives-based packages

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12368
2026-08-05 13:49:28 -04:00
Brad King 362f4ec53a Merge topic 'FindJNI-OpenSUSE' into release-4.4
25efb8bf45 FindJNI: Add paths for OpenSUSE libalternatives-based packages

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12368
2026-08-05 13:49:25 -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
Chuck Atkins 03e56cd338 Tests: Add cases covering nm handling for WINDOWS_EXPORT_ALL_SYMBOLS
Add `__create_def` coverage for:

- missing nm tools
- generator selection
- single- and multi-object inputs
- object paths containing spaces
- mixed object and definition inputs
- nm symbol classification
2026-08-05 10:58:08 -04:00
Kitware Robot b4091767ca CMake Nightly Date Stamp 2026-08-05 00:09:54 -04:00
Daksh Mamodiya 0862819756 bash-completion: Fix spurious 'following' target completion candidate
The '--target' completion parsed 'cmake --build --target help'
with a sed pattern whose leading '...' matched any three
characters, so the header line yielded a bogus 'following'
candidate.  Anchor the pattern to literal dots.

Also note in the user-interaction guide that 'make' target
tab-completion is provided by the external bash-completion
package, which may hide the plain '<target>' name when a
'<target>/fast' variant exists, and recommend
'cmake --build --target' completion instead.

Fixes: #27873
2026-08-05 05:51:19 +02:00
Alex Overchenko 79b807d185 nmake: support long comments for custom commands
Fixes: #27980
2026-08-04 20:16:42 +03:00
Alex Overchenko e2a243ba43 fastbuild: long list of custom target deps really tested
Relates: #27984
2026-08-04 20:10:24 +03:00
Alex Overchenko b44db2c372 instrumentation: enable long output tests for all generators
Relates: #27942
2026-08-04 20:06:35 +03:00
Alex Overchenko 94e37bc281 Tests: fix RunCMake_TEST_FILTER with non-matching TargetGenexEvent 2026-08-04 20:06:35 +03:00
Alex Overchenko 0a4b5c1e36 Tests: deduplicate configure-and-build sequence 2026-08-04 20:06:35 +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 1c84ea4953 FortranCInterface: Restore mangling detection for NAG Fortran
Since commit cb616d43d6 (FortranCInterface: Fix failure with gfortran 12
and Clang, 2022-05-16, v3.23.2~10^2) we add LTO flags for C symbols when
using the GNU C compiler.  However, they are only needed when detecting
mangling of the GNU Fortran compiler, as was originally written in
commit 6a0ce19ce1 (FortranCInterface: Fix compatibility with GCC
gfortran 12 LTO, 2022-01-19, v3.22.2~5^2).

Fixes: #28008
2026-08-04 09:44:08 -04:00