Commit Graph

38469 Commits

Author SHA1 Message Date
Brad King bb0216e0a2 Merge topic 'cxx-module-metadata'
fa10dc6c22 Experimental/CXXModules: Implement EcoStd Module Metadata parser

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11422
2025-11-19 08:53:29 -05:00
Brad King ad4a773d0c Merge topic 'vs-slnx'
06178da668 VS: Add include_external_msproject detection of `.wapproj` type
b9ce07b85b VS: Add SLNX project types

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11428
2025-11-19 08:47:07 -05:00
Kitware Robot a0081ac0cb CMake Nightly Date Stamp 2025-11-19 00:06:52 -05:00
Vito Gamberini fa10dc6c22 Experimental/CXXModules: Implement EcoStd Module Metadata parser
Adds a parser and serializer for the EcoStd Module Metadata format

RFC: https://github.com/ecostd/rfcs/pull/3

This adapts the existing experimental support for import std; to use
the new parser. The CMAKE_CXX_STDLIB_MODULES_JSON is now the canonical
variable for controlling how CMake discovers the stdlib module metadata,
and is used directly by compiler detection.

Toolchains can still override the __CMAKE::CXX## targets if they wish,
either in conjunction with CMAKE_CXX_STDLIB_MODULE_JSON or not. It is
possible to disable automatic detection of
CMAKE_CXX_STDLIB_MODULE_JSON by setting it to the empty string.

When available, the CMAKE_CXX_STDLIB_MODULE_JSON will be used to create
all requested C++ stdlibs which do not already have targets.
2025-11-18 11:39:59 -05:00
Brad King 06178da668 VS: Add include_external_msproject detection of .wapproj type
It is a Windows Application Packaging Project.

Issue: #27392
2025-11-18 11:18:17 -05:00
Brad King b9ce07b85b VS: Add SLNX project types
Extend commit e6aa7742b0 (VS: Generate .slnx files for VS 2026,
2025-09-17, v4.2.0-rc1~151^2) to add the `Type=` attribute on SLNX
`<Project>` elements.

Fixes: #27392
2025-11-18 11:10:22 -05:00
Kitware Robot ba1996eb15 CMake Nightly Date Stamp 2025-11-18 00:08:20 -05:00
Brad King 9c091c7d17 CMake 4.2.0-rc4 2025-11-17 10:32:25 -05:00
Kitware Robot fb87a6bbb0 CMake Nightly Date Stamp 2025-11-17 00:06:13 -05:00
Kitware Robot 271f358f1f CMake Nightly Date Stamp 2025-11-16 00:09:00 -05:00
Brad King 6087f56da9 Merge topic 'GenEx-STRING'
fd7e305097 GenEx: Add $<STRING> generator expression
7564cbae12 GenEx: add new expressions for string comparisons
dab5e6ebb1 introduce cm::CMakeString class as helper for string() command
34c0c7754f cmString: add methods append and insert
ab60f1a010 Extend usage for cm::string_view for more flexibility

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11382
2025-11-15 09:10:50 -05:00
Brad King f741e53dfe Merge topic 'vs-cuda-forward-host-compiler-flags'
c185998420 VS/CUDA: Forward unknown flags to the host compiler when possible

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Patrik Huber <patrikhuber@gmail.com>
Merge-request: !11417
2025-11-15 09:08:44 -05:00
Brad King 42d94ff876 Merge topic 'file-GET_RUNTIME_DEPENDENCIES-matching'
bf3f69834d file(GET_RUNTIME_DEPENDENCIES): Normalize paths before matching

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !11351
2025-11-15 09:03:56 -05:00
Brad King 4e85f9078d Merge topic 'vs-slnx'
70ed720232 VS: Add SLNX default startup project

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11420
2025-11-15 09:01:50 -05:00
Brad King 38e86c8ea4 Merge topic 'vs-slnx' into release-4.2
70ed720232 VS: Add SLNX default startup project

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11420
2025-11-15 09:01:48 -05:00
Brad King b4c8e00f9f Merge topic 'fbuild_fix_pch'
878d154322 FASTBuild: fix multi-language PCHs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11404
2025-11-15 08:59:05 -05:00
Brad King 9e38d74019 Merge topic 'fbuild_fix_pch' into release-4.2
878d154322 FASTBuild: fix multi-language PCHs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11404
2025-11-15 08:59:03 -05:00
Kitware Robot dea6b14379 CMake Nightly Date Stamp 2025-11-15 00:07:41 -05:00
Brad King 70ed720232 VS: Add SLNX default startup project
At the time of commit e6aa7742b0 (VS: Generate .slnx files for VS 2026,
2025-09-17, v4.2.0-rc1~151^2), the VS 18 Insiders edition did not offer
support for specifying a default startup project in `.slnx` files.
This has since been added, so use it.

Fixes: #27387
2025-11-14 11:03:57 -05:00
Marc Chevrier fd7e305097 GenEx: Add $<STRING> generator expression
Fixes: #27188
2025-11-14 16:44:29 +01:00
Marc Chevrier 7564cbae12 GenEx: add new expressions for string comparisons 2025-11-14 16:44:29 +01:00
Marc Chevrier dab5e6ebb1 introduce cm::CMakeString class as helper for string() command
This class will be used, as helper for:
* string() command
* future $<STRING> generator expression
2025-11-14 16:44:29 +01:00
Marc Chevrier 34c0c7754f cmString: add methods append and insert 2025-11-14 16:44:29 +01:00
Marc Chevrier ab60f1a010 Extend usage for cm::string_view for more flexibility 2025-11-14 16:44:29 +01:00
Brad King 3566a30938 Merge topic 'vs-slnx'
7c284f4278 VS: Fix SLNX with multiple solution-to-project configuration mappings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11415
2025-11-14 09:46:33 -05:00
Brad King ef89890a1a Merge topic 'vs-slnx' into release-4.2
7c284f4278 VS: Fix SLNX with multiple solution-to-project configuration mappings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11415
2025-11-14 09:46:31 -05:00
Brad King a799c49454 Merge topic 'clang-analyzer'
742c70a5da autogen: Remove unnecessary nullptr check

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11414
2025-11-14 09:40:58 -05:00
hanna.rusakovich bf3f69834d file(GET_RUNTIME_DEPENDENCIES): Normalize paths before matching
Regex-based filtering should not have to account for slash differences.
Add policy CMP0207 for compatibility.

Fixes: #26202
2025-11-14 17:23:26 +03:00
Kitware Robot a424a6987f CMake Nightly Date Stamp 2025-11-14 00:06:12 -05:00
Brad King c185998420 VS/CUDA: Forward unknown flags to the host compiler when possible
Extend commit 7f15c99851 (CUDA: forward unknown flags to host compiler
when possible, 2019-11-29, v3.17.0-rc1~326^2~1) to work in VS too.

Fixes: #27210
2025-11-13 18:50:26 -05:00
Brad King 7c284f4278 VS: Fix SLNX with multiple solution-to-project configuration mappings
Filter each mapping to apply only to its intended solution-wide config.

Fixes: #27385
2025-11-13 12:01:51 -05:00
Eduard Voronkin 878d154322 FASTBuild: fix multi-language PCHs
Fixes: #27371
2025-11-13 10:00:33 -05:00
Brad King 742c70a5da autogen: Remove unnecessary nullptr check
In commit b1b3602cda (FASTBuild: remove non-existent autogen byproducts,
2025-11-10) we added an unnecessary nullptr check on a pointer we know
to be non-nullptr.  Since then, `clang-analyzer` takes that check as a
hint that the pointer might be nullptr, and has reported missing nullptr
checks elsewhere.
2025-11-13 09:46:18 -05:00
Brad King 733a92c943 Merge topic 'ci-debian-13'
322bf67a86 Merge branch 'backport-ci-debian-13' into ci-debian-13
8832f78dd6 IWYU: Update for Debian 13 CI job
f49b0e6759 IWYU: Update for Debian 13 CI job
3653b3e95e Merge branch 'backport-ci-debian-13' into ci-debian-13
1445a8e7db ci: use Debian 13 images and environments
9eedf6c1a9 ci: Update base images to Debian 13
36bdb7b2de ci: Update to TIClang 4.0.4
48f091a166 ci: Update debian12-ninja job to use Swift 6.2.1
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11412
2025-11-13 08:16:15 -05:00
Brad King 02bf95acfe Merge topic 'cmake-gui-reset-model'
327f50083b cmake-gui: Fix {begin|end}ResetModel warnings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11406
2025-11-13 08:11:48 -05:00
Joerg Bornemann 327f50083b cmake-gui: Fix {begin|end}ResetModel warnings
QStandardItemModel::beginResetModel() and
QStandardItemModel::endResetModel() calls cannot be nested, and Qt will
produce warnings at runtime if such nesting is detected.

The nesting happened in two places:
1. QCMakeCacheModel::setViewType calls QCMakeCacheModel::setProperties.
Both called beginResetModel.
2. QCMakeCacheModel::setProperties calls QStandardItemModel::clear(),
which also calls beginResetModel.

The fix for 1 is to remove the {begin|end}ResetModel calls from
setViewType. The setProperties calls take care of the
{begin|end}ResetModel calls.

The fix for 2 is to replace the clear() call with a call that removes
all data rows.

Issue: #27376
2025-11-13 08:08:15 -05:00
Kitware Robot f276541247 CMake Nightly Date Stamp 2025-11-13 00:08:25 -05:00
Brad King 8832f78dd6 IWYU: Update for Debian 13 CI job
`include-what-you-use` diagnostics, in practice, are specific to
the environment's compiler and standard library.  Update includes
to satisfy IWYU for our CI job under Debian 13.  Some patterns:

* Types named in virtual `override` signatures no longer require
  includes since the overridden signature already names them.

* A function argument's type needs to be included even if its constructor
  is called only by implicit conversion.  For example, constructing a
  `std::function` from a lambda now requires `<functional>`.

* Some prior mysterious `<type_traits>` inclusions are no longer required.
2025-11-12 14:54:35 -05:00
Brad King f49b0e6759 IWYU: Update for Debian 13 CI job
`include-what-you-use` diagnostics, in practice, are specific to
the environment's compiler and standard library.  Update includes
to satisfy IWYU for our CI job under Debian 13.  Some patterns:

* Types named in virtual `override` signatures no longer require
  includes since the overridden signature already names them.

* A function argument's type needs to be included even if its constructor
  is called only by implicit conversion.  For example, constructing a
  `std::function` from a lambda now requires `<functional>`.

* Some prior mysterious `<type_traits>` inclusions are no longer required.
2025-11-12 14:54:16 -05:00
Brad King 3653b3e95e Merge branch 'backport-ci-debian-13' into ci-debian-13 2025-11-12 14:44:43 -05:00
Brad King a0059a2771 cmDocumentationFormatter: Implement PrintFormatted privately 2025-11-12 14:35:10 -05:00
Brad King 02f3f5d801 Merge topic 'cmake-E-copy-system-errors'
fb7a904e90 cmcmd: report system errors on more filesystem operations
4795cb6550 Merge branch 'upstream-KWSys' into cmake-E-copy-system-errors
dc8cc945ee KWSys 2025-11-12 (1139f8a0)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11401
2025-11-12 11:59:48 -05:00
Frank Winklmeier fb7a904e90 cmcmd: report system errors on more filesystem operations
Print the system error message in case of failure when calling
`CopyFileAlways`, `CopyFileIfDifferent`, `CopyFileIfNewer`,
`CopyADirectory` and `MakeDirectory`.

Remove unnecessary `cmSystemTools` wrappers for `CopyFileIfNewer` and
`CopyADirectory`.

Fixes: #18276
2025-11-12 11:53:35 -05:00
Brad King 4795cb6550 Merge branch 'upstream-KWSys' into cmake-E-copy-system-errors
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2025-11-12 (1139f8a0)
2025-11-12 11:53:21 -05:00
Brad King 515bb02443 Merge topic 'package-info-from-install-export'
34343922a5 install: Add ability to generate CPS from install(EXPORT)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11315
2025-11-12 11:53:07 -05:00
Brad King 4c1ace5fba Merge topic 'fbuild_byproducts'
b1b3602cda FASTBuild: remove non-existent autogen byproducts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11405
2025-11-12 11:47:16 -05:00
Brad King 203a1cb1c5 Merge topic 'fbuild_byproducts' into release-4.2
b1b3602cda FASTBuild: remove non-existent autogen byproducts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11405
2025-11-12 11:47:14 -05:00
Brad King 31c38f722a Merge topic 'fbuild_unique_names'
d6bc1a8a50 FASTBuild: rename test target to RUN_TESTS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11403
2025-11-12 11:42:13 -05:00
Brad King 3c276579e2 Merge topic 'fbuild_unique_names' into release-4.2
d6bc1a8a50 FASTBuild: rename test target to RUN_TESTS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11403
2025-11-12 11:42:11 -05:00
Brad King 3529a96ba5 Merge topic 'process-timeout-terminate'
3dc641d99c Merge branch 'backport-3.31-process-timeout-terminate'
22e84c7e7f execute_process: Restore termination of processes on timeout
e2cfc61e5e execute_process: Restore termination of processes on timeout

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11408
2025-11-12 10:53:50 -05:00