1822 Commits
Author SHA1 Message Date
Martin Duffy df36317176 instrumentation: Revise Data Version format
Give data version the new format <major>.<minor>, so that
the version can be incremented with the introduction of new
features without bumping the major version.

Add support for loading instrumentation JSON queries of unknown
data versions without error.

Issue: #27833
2026-06-02 08:53:21 -04:00
Brad King 81397f4f12 Merge topic 'instrumentation-data-version-doc' into release-4.3
1d0f587062 instrumentation: Clarify API and Data version distinction

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !12091
2026-05-21 09:45:16 -04:00
Martin Duffy 1d0f587062 instrumentation: Clarify API and Data version distinction
The instrumentation docs were unclear about the difference between API
and Data version, with the hierarchy of the table of contents being
particularly misleading.

Rework `cmake-instrumentation` manual and `cmake_instrumentation` command
documentation to be more clear.
2026-05-20 15:20:09 -04:00
Matthew Woehlke ed6e9abf98 CPS, SBOM: Fix default output destination
- Change default CPS install path on Windows from `cps` to `cps/<name>`,
per community recommendation that only paths containing the package name
should be considered as "officially" supported search locations (see
https://github.com/cps-org/cps/issues/79#issuecomment-2831102822).

- Change `export` to write to a subdirectory that allows the build
tree to be used as a search root.

- Change SBOM destinations to be consistent with the preceding.

Issue: #27785
2026-05-19 13:31:56 -04:00
Tyler Yankee a6470b4681 Help/file: Clarify behavior change with CMP0205 2026-04-15 14:03:39 -04:00
Tyler Yankee c8b6725977 Help: Mention CMAKE_<LANG>_LINK_FLAGS where relevant
Also, correct the documentation added in commit 98f9874703 (cmake:
Add per-language link flags for all target types, 2025-12-17) by
placing the variables in the proper section of cmake-variables(7).

Issue: #21934
2026-04-07 10:14:28 -04:00
AJIOB 899122e776 Help: Wrap long line in 4.3 versionadded note 2026-03-24 13:37:38 -04:00
Peter Kokot d2aab1839e Help: Fix install(PACKAGE_INFO) and install(SBOM) argument typos
In commit 51f39a0f32 (Help: Fix install(SBOM) argument typo, 2026-02-27,
v4.3.0-rc2~8^2) the typo was fixed in the wrong signature.  Revert that
and fix the correct signature.
2026-03-23 09:45:17 -04:00
Peter Kokot 697486583f find_package: Clarify CPS search priority
When using `find_package()` in config mode, as of CMake 4.3, first the
CPS files are searched and then config files.
2026-03-18 17:36:20 -04:00
Tyler Yankee acd6b7372c Help/add_custom_command: Add synopsis and signatures 2026-03-12 14:13:16 -04:00
Brad King cac8c7e16c Merge topic 'doc-policy-version' into release-4.3
e3f1dc2a57 Help: Clarify what policies a "policy version" sets to NEW

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Tyler Yankee <tyler.yankee@kitware.com>
Merge-request: !11751
2026-02-27 17:43:23 -05:00
Nuno Nobre e3f1dc2a57 Help: Clarify what policies a "policy version" sets to NEW
Also remove a duplicate sentence.
2026-02-27 16:57:36 -05:00
Peter Kokot 51f39a0f32 Help: Fix install(SBOM) argument typo 2026-02-27 16:51:39 -05:00
Tyler Yankee 8a74c4c6dc Help: Add 4.3 version tags for string JSON operations
Amend commit 15973ff247 (string(JSON): Add GET_RAW mode, 2025-12-16)
and commit 06e6f1e69f (string(JSON): Add STRING_ENCODE mode,
2025-12-16).

Fixes: #27633
2026-02-22 17:00:30 -05:00
Brad King 1202254cd5 Merge topic 'improve-doc-consistency'
277c12a4c7 Help: Improve command usage formatting consistency

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11687
2026-02-16 08:43:11 -05:00
Matthew Woehlke 277c12a4c7 Help: Improve command usage formatting consistency
Try to be a bit more consistent about:

- Placing angle brackets around text which serves as a placeholder
  rather than being literal.

- Using curly brackets rather than angle brackets to denote groups where
  one of the options is required.

- Describing optional list arguments like `<x>...` rather than
  `[<x>...]`. (Instances of lists not associated with keywords are
  intentionally left as-is, however.)

Also, teach our CMake lexer to understand curly braces used as above
(prior uses were only in parsed literals without syntax highlighting),
and to highlight them (and remaining uses of angle braces) as the type
Punctuation rather than the type Operator, for consistency with square
braces.
2026-02-13 12:54:37 -05:00
Brad King 3990abf9fb Merge topic 'doc-cmake_path-out-var'
6592b8ac14 Help/cmake_path: Clarify output variable behavior

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11681
2026-02-13 09:57:04 -05:00
Brad King eec5d93813 Merge topic 'update_sbom_docs_gen_exp'
54ac3937b6 Help: Warn about generator expressions in install(SBOM) docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11685
2026-02-13 09:52:39 -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
Tyler Yankee 6592b8ac14 Help/cmake_path: Clarify output variable behavior
Add explicit cross-references for commands which optionally take an
output variable (otherwise modifying their input in-place) for clarity.

Note that `cmake_path` should not be used to modify variables reserved
by CMake.

Improve references to the "CMake-style" semicolon-separated lists, and
apply those corresponding changes to the `file` command page.
2026-02-12 12:50:51 -05:00
Tom Osika 54ac3937b6 Help: Warn about generator expressions in install(SBOM) docs 2026-02-12 12:07:47 -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 b02ae60a76 cmake_host_system_information: Add query for the locale's charset
Issue: #27562
2026-02-11 11:56:05 -05:00
Brad King 39a0fb289d Merge topic 'doc/install-remove-superfluous-dots'
231b336ad2 Help: Fix typo in `install` documentation
01ea8dc368 Help: Correct use of dots ([...]) in `install` command signatures

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11659
2026-02-07 09:28:42 -05:00
Martin Duffy 95dc40d8a8 Experimental: Remove Instrumentation experimental gating
Fixes: #27348
2026-02-05 14:05:42 -05:00
Christoph Grüninger 231b336ad2 Help: Fix typo in install documentation 2026-02-05 08:02:05 +01:00
Christoph Grüninger 01ea8dc368 Help: Correct use of dots ([...]) in install command signatures
Only the short form of command have the [...] at
the end to indicate further possible arguments.
Repeating of a block is indicated by ..., not [...].
2026-02-05 07:57:32 +01:00
Peter Kokot 4cde2dd45b enable_testing: Update docs
- Described where this command shouldn't be called.
- Added examples section.
- Reworded few sentences.

Issue: #27564
2026-02-04 17:32:54 +01:00
Brad King 9e5d338dd9 Merge topic 'lang-link-flags'
98f9874703 cmake: Add per-language link flags for all target types
63858fc3e0 Tests: Factor out LINKER: reference file generation
399288871e cmLocalGenerator: Factor out link flag parsing
82913923cd try_compile: Reflow comments per `clang-format`
7b4b556e2d Help: Fix description of `CMAKE_*_LINKER_FLAGS` variables
29b1d0baa9 Help/try_compile: Remove extraneous `versionadded` policy note
5ecee0db7b cmLocalGenerator: De-duplicate static linker flags lookup
bc1847c70b cmLocalGenerator: De-duplicate target property link flags lookup
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11611
2026-02-03 11:22:36 -05:00
Brad King 98f32902a5 Merge topic 'doc-marco-arguments'
69456b012a Help: Clarify argument handling for macros

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11641
2026-02-03 10:39:20 -05:00
Christoph Grüninger 69456b012a Help: Clarify argument handling for macros
Distinguish from similar documentation of function
2026-02-02 10:36:59 -05:00
Tyler Yankee 3ec3bc1c7d cmake_host_system_information: Add VENDOR_STRING
Issue: #27529
2026-02-02 07:47:42 -05:00
Tyler Yankee a6c31e0c54 cmake_host_system_information: Add VENDOR_ID
Issue: #27529
2026-02-02 07:47:41 -05:00
Tyler Yankee 981ee81563 cmake_host_system_information: Add PROCESSOR_CLOCK_FREQUENCY
Issue: #27529
2026-02-02 07:47:41 -05:00
Tyler Yankee 352be6b3d1 cmake_host_system_information: Add PROCESSOR_CACHE_SIZE
Also add HAS_L1_CACHE to check for availability.

Issue: #27529
2026-02-02 07:47:39 -05:00
Tyler Yankee a84a5214cc cmake_host_system_information: Add PROCESSOR_APIC_ID
Also add HAS_APIC to check for availability.

Issue: #27529
2026-02-02 07:47:29 -05:00
Tyler YankeeandBrad King 98f9874703 cmake: Add per-language link flags for all target types
Previously, `CMAKE_<LANG>_LINK_FLAGS` was an undocumented variable used
for linking executables only. Re-spell that variable mirroring the
existing spellings for shared and module libraries, and add policy
CMP0210 to preserve compatibility.

Then, repurpose `CMAKE_<LANG>_LINK_FLAGS` to provide a variable to be
used for per-language link flags for all target types, along with a
per-configuration variant. These are added to the `<LINK_FLAGS>` rule
placeholder in the generators.

Fixes: #21934
Relates: #25620

Co-authored-by: Brad King <brad.king@kitware.com>
2026-01-31 19:37:09 -05:00
Tyler Yankee 887a4cbb30 cmake_host_system_information: Add MODEL_NAME
Issue: #27529
2026-01-31 15:51:43 -05:00
Tyler Yankee ea05d94d43 cmake_host_system_information: Add MODEL_ID
Issue: #27529
2026-01-31 15:51:43 -05:00
Tyler Yankee fef72791bf cmake_host_system_information: Add FAMILY_ID
Issue: #27529
2026-01-31 15:51:43 -05:00
Brad King 4efe6d3a18 Merge topic 'cps-modules'
3771471310 CPS: Support C++20 modules
b080922be6 cmake-cxxmodules: Note config limitations
e4cbf1c153 cmCxxModuleMetadata: Update PopulateTarget

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11633
2026-01-30 11:35:19 -05:00
Tyler Yankee 29b1d0baa9 Help/try_compile: Remove extraneous versionadded policy note
The additional information is nice, but is inconsistent with the other
policies mentioned in that section, which do not have such directives.
2026-01-29 15:30:57 -05:00
Vito Gamberini 3771471310 CPS: Support C++20 modules
Modify the PackageInfo exporters and commands to support C++20 modules
via the collator-generated module manifest.

Fixes #27548
2026-01-29 13:26:35 -05:00
Marc Chevrier 4113364c49 FILE_SET: properties management
Fixes: #27307
2026-01-27 18:15:26 +01:00
Brad King ec4af051eb Merge topic 'doc-file-sys-commands'
d8c6bbe693 Help: Improve formatting for `cmake_host_system_information`
307c2240ad Help: Improve command formatting atop `file` page

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11603
2026-01-19 09:29:28 -05:00
Brad King f71894a17d Merge topic 'fix-archive-path-traversal'
03f19aa4ea cmSystemTools: Fix path traversal vulnerability in archive extraction
be2ac223b0 cmSystemTools: Factor out libarchive extraction flags
9c408b844b Tests/RunCMake/CMP0135: Avoid paths with .. components in test archive
6015ef807d cmake -E tar: Improve error message formatting

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11564
2026-01-19 09:24:40 -05:00
Leslie P. Polzer 03f19aa4ea cmSystemTools: Fix path traversal vulnerability in archive extraction
Add security flags to libarchive extraction to prevent path traversal
(Zip Slip) and absolute path attacks:

- ARCHIVE_EXTRACT_SECURE_NODOTDOT: Block ".." path components
- ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS: Block absolute paths
- ARCHIVE_EXTRACT_SECURE_SYMLINKS: Block symlinks escaping extract dir

This hardens both `cmake -E tar` and `file(ARCHIVE_EXTRACT)` against
malicious archives that attempt to write files outside the intended
extraction directory.
2026-01-16 08:54:07 -05:00
Tyler Yankee d8c6bbe693 Help: Improve formatting for cmake_host_system_information
Use the signature directive to improve formatting of links to each
sub-command, especially `QUERY WINDOWS_REGISTRY`.
2026-01-15 20:30:17 -05:00
Tyler Yankee 307c2240ad Help: Improve command formatting atop file page
Amend the references to the `file` page from commit c575d84555 (Help:
Use signature directive for `cmake_path` command, 2025-10-08).
2026-01-15 20:26:16 -05:00
Brad King 093b6974f1 Merge topic 'export-refactor-arguments'
254916dfc6 export: Make PACKAGE_INFO, SBOM sub-commands
a121e5d49e export: Reset CPS export experimental gate

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11584
2026-01-14 13:00:48 -05:00