207 Commits

Author SHA1 Message Date
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
Brad King
dfd1cf8d87 Merge topic 'import-std-refactor'
42d2d63235 c++modules: Copy props from BMI consumers more correctly
6d3e9d8220 c++modules: single import std target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !12193
2026-06-22 18:21:02 -04:00
Vito Gamberini
6d3e9d8220 c++modules: single import std target 2026-06-18 15:20:54 -04:00
Daniel Tierney
b533f229b8 cmSbom: Generate SPDX data denoting project licenses 2026-06-15 14:40:26 -04:00
Brad King
f4c858d328 Merge topic 'multi_export_sbom'
2900aa2911 SBOM: Update experimental UUID
273fc4cc49 SBOM: Support multi export set SBOMs
9669829573 Install: Refactor ResolveTargetsInGeneratorExpression
7c31cbf9ae SBOM: Handle PACKAGE_URL argument

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12080
2026-06-02 09:15:40 -04:00
Tom Osika
2900aa2911 SBOM: Update experimental UUID 2026-06-01 12:27:13 -04:00
Brad King
645ca80972 Merge topic 'rust-make'
1102abd224 ci: Enable Rust tests in Fedora + Unix Makefiles configuration
03ac6b9c2b Rust: Update experimental UUID
8154a4bc5c Rust: Add support for compiling Rust with Makefile generator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12105
2026-05-27 11:45:23 -04:00
Baudouin Feildel
03ac6b9c2b Rust: Update experimental UUID 2026-05-25 22:18:25 +02:00
Ben Boeckel
575c3dd990 builddb: support builds with empty configuration
Rotates the UUID to indicate changed behavior.

See: https://discourse.cmake.org/t/15654
2026-05-22 13:51:06 -04:00
scivision
c720e2a23d Help: Document execute_process(RESULT_VARIABLE) capture in source code guide
Issue: #27782
2026-05-07 13:42:00 -04:00
Matthew Woehlke
3cccce8ca2 Help: Add developer documentation for new diagnostics
Add a developer-targeted document explaining the basics of how to use
CMake 4.4's new diagnostic framework.
2026-04-30 15:36:23 -04:00
Matthew Woehlke
ffe4c2a8ff Help: Fix developer documentation
HTML is not normally generated for developer documentation. As a result,
the validity of the reST is effectively never checked, and thus contains
a small handful of issues (mostly bad indent). Fix these.
2026-04-30 14:19:54 -04:00
Baudouin Feildel
abe64ca2d3 Rust: Update experimental UUID 2026-03-26 23:15:58 +01:00
Brad King
9cfa221b88 Merge topic 'ai-policy'
475cc5487f Help: Document CMake's AI policy

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11842
2026-03-23 08:18:50 -04:00
Craig Scott
475cc5487f Help: Document CMake's AI policy 2026-03-21 08:35:50 +11:00
Baudouin Feildel
e6a544836b Rust: Update experimental UUID 2026-03-20 09:42:44 -04:00
Marc Chevrier
ec2daddf47 cmext/algorithm: add helpers functions cm::keys and cm::values 2026-03-14 11:55:55 +01:00
Marc Chevrier
19453a1749 Add cm::ranges::views::Keys and cm::ranges::views::values templates
Add, from c++20, templates to manage keys and values. This is a subset of
std::ranges::views::keys and std::ranges::views::values templates.

Moreover, the cm::is_pair and cm::is_tuple helpers are provided to check,
respectively, if the type is a std::pair or a std::tuple.
2026-03-09 23:27:10 +01:00
Brad King
c1d58d3f3d Experimental: Restore import std gate
Several problems with this feature came up while testing 4.3.0-rc1.
These include both broken stdlib distributions and regressions in our
implementation of the feature since CMake 4.2.

Revert commit 70c1f0f43d (Experimental: Remove import std experimental
gate, 2026-02-04, v4.3.0-rc1~61^2) except for its incidental fixes.

Remove the 4.3 release notes related to `import std`.

Rotate the experimental gate's UUID.

Issue: #27426
Issue: #27597
Issue: #27626
Issue: #27635
2026-02-26 17:19:19 -05:00
Brad King
2e29354040 Experimental: Restore documentation link to CPS
This was accidentally removed by commit 70c1f0f43d (Experimental: Remove
import std experimental gate, 2026-02-04, v4.3.0-rc1~61^2).
2026-02-26 16:17:30 -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
Brad King
e686b86649 Merge topic 'import-std-no-experimental'
70c1f0f43d Experimental: Remove import std experimental gate

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11657
2026-02-08 09:18:01 -05:00
Vito Gamberini
70c1f0f43d Experimental: Remove import std experimental gate
Fixes: #27571
2026-02-07 09:03:43 -05:00
Ayush Singh
5c1b0a6b7e Rust: Add experimental support with Ninja
The TU for Rust is a crate, not per-source.  `rustc` expects entry file
to TU as input, and cannot work with object files.  So we need to have
one-step build/link in most cases, similar to what old Swift was doing.

Issue: #25492
Signed-off-by: Ayush Singh <ayush@beagleboard.org>
2026-02-06 11:32:56 -05:00
Martin Duffy
95dc40d8a8 Experimental: Remove Instrumentation experimental gating
Fixes: #27348
2026-02-05 14:05:42 -05:00
Brad King
e9b2f1ff5e Merge topic 'filesystem-path-enhancements'
b86a77e8c8 cm::filesystem::path: ensure independence from the program locale.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11583
2026-01-16 10:05:04 -05:00
Marc Chevrier
b86a77e8c8 cm::filesystem::path: ensure independence from the program locale.
Fixes: #27472
2026-01-15 19:44:14 +01:00
Matthew Woehlke
28647db676 Experimental: Add CMAKE_EXPERIMENTAL_MAPPED_PACKAGE_INFO
Update experimental documentation to mention support for generating CPS
package info from `install(EXPORT)`.
2026-01-14 13:06:17 -05:00
Matthew Woehlke
197099e393 Experimental: Update PACKAGE_INFO, SBOM documentation
Update experimental documentation to mention that the `install`
command's PACKAGE_INFO and SBOM modes have an `export` equivalent.
2026-01-14 13:06:17 -05:00
Matthew Woehlke
a121e5d49e export: Reset CPS export experimental gate
Change the UUID associated with CPS export. This is in preparation for
refactoring the `export` command interface.
2026-01-09 11:28:05 -05:00
Taylor Sasser
8ec5a595cd cmSbom: Add documentation for install(SBOM) and export(SBOM) 2025-12-17 14:35:12 -05:00
ferdymercury
7323fbd65e Help: Be more explicit about what ...<policy_max> does not mean
Also use `<policy_max>` more consistently in signatures.
2025-12-02 15:25:47 -05:00
Taylor Sasser
985b0f5bcf CMake C++11 Compatibility: Add more type_traits from C++14 and C++17 2025-10-22 13:01:12 -04:00
Alex Overchenko
2b5fcf1d07 Help/dev: Fix typo in Source Code Guide 2025-10-06 10:20:03 -04:00
Brad King
f1ce50dc81 cmVersionMacros: Adopt CMake_VERSION_DEVEL
Rename it from DEVEL_CMAKE_VERSION.  It requires version macros
not guaranteed to be available from its old header anyway.
2025-09-24 17:40:40 -04:00
Martin Duffy
b8014633dc Experimental: Update the Instrumentation UUID
Update experimental UUID for instrumentation after commit 4683db44a1
(instrumentation: Write index files to data/index/ subdirectory, 2025-09-19)
updated the location of index files.
2025-09-23 10:59:54 -04:00
Tyler Yankee
7c13444fb5 Experimental: Update the Instrumentation UUID
Update experimental UUID for instrumentation after commit fbb5b47fbf
(instrumentation: Rename postTest and postInstall hooks, 2025-09-04)
broke old hook names.
2025-09-04 14:01:17 -04:00
Tyler Yankee
8d04c4d741 Experimental: Update the Instrumentation UUID
Update experimental UUID for instrumentation after commit bf52fbfbc4
(instrumentation: Add Google trace output, 2025-08-28) introduced a
significant feature.
2025-09-03 15:24:40 -04:00
Taylor Sasser
9d93853405 Help: Add documentation for debugging with GDB 2025-08-14 10:44:18 -04:00
Martin Duffy
21ac285cd8 Experimental: Update the Instrumentation UUID
Update experimental UUID for instrumentation after commit afa94bae1e
(instrumentation: Rename queries field to options, 2025-07-08) broke compatibility
for old queries.
2025-07-15 08:38:44 -04:00
Ben Boeckel
b634998727 Help: add and make references to generators consistent 2025-06-12 21:25:24 +02:00
Ben Boeckel
52e2785018 experimental/CXXModules: recycle the UUID
Now that `clang -stdlib=libstdc++` is supported.
2025-04-30 13:48:13 +02:00
Peter Kokot
4665dba9e4 Help/dev: Add info how to generate documentation locally
This adds a short info to the development documentation how to build it
locally quickly using only Utilities/Sphinx source directory.
2025-04-17 14:09:09 +02:00
Brad King
3524abf345 Merge topic 'build-database-fixes'
12d73c9f78 cmExperimental: recycle build database uuid
d02ca76184 cmDyndepCollation: record required modules to the build database
8a773168fd Tests/CXXModules: help diagnose build database errors
7ca4ac8e13 cmBuildDatabase: fix language comparison for visibility

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10414
2025-03-05 08:32:50 -05:00
Ben Boeckel
12d73c9f78 cmExperimental: recycle build database uuid 2025-03-03 22:03:27 +01:00
Kitware Robot
1772622772 LICENSE: Replace references to Copyright.txt with LICENSE.rst
```
git grep -lz 'Copyright.txt or https://cmake.org/licensing ' |
  while IFS= read -r -d $'\0' f ; do
    sed -i '/Copyright.txt or https:\/\/cmake.org\/licensing / {
              s/Copyright.txt/LICENSE.rst/
            }' "$f" ; done
```
2025-03-03 10:43:35 -05:00
Brad King
2526b01ffc Merge topic 'instrumentation_cdash'
a6d4a9a2ae ctest: Include cmake instrumentation data in XML files
85a63143ed instrument: don't report target=TARGET_NAME

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10332
2025-02-16 10:58:12 -05:00
Zack Galbreath
a6d4a9a2ae ctest: Include cmake instrumentation data in XML files 2025-02-15 06:25:12 -05:00
Brad King
21f17656ac Help/dev: Update git command-line conventions in maintainer guide
Replace `git checkout` with `git switch` and `git restore`.
2025-02-05 13:09:50 -05:00
Brad King
0870e6c06b Merge topic 'enum_set-enhancements'
35dafcb5a1 cmext/enum_set: add various enhancements to increase usability
a3ae58c9c5 C++ features: add cm::is_scoped_enum from C++23

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10248
2025-01-30 08:44:35 -05:00