Brad King
671ada703b
Merge topic 'cmake-diagnostics'
...
a78f356ed9 Diagnostics: Shorten type names
2b7ee7137b cmStateSnapshot: CanPop* should be const
a0612aeb5d Diagnostics: Add cmake_diagnostic command
e74fbb3d44 Diagnostics: Implement diagnostic stack
d80a38e524 cmMakefile: Use enumeration for policy scope
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !11818
2026-03-20 08:44:26 -04:00
Matthew Woehlke
a0612aeb5d
Diagnostics: Add cmake_diagnostic command
...
Add command to manipulate the new diagnostic stack/state introduced in
the previous commit. Start adding documentation for the system as a
whole.
2026-03-19 11:29:44 -04:00
Brad King
3a5ce567ac
Merge topic 'patch-config-mode-order'
...
697486583f find_package: Clarify CPS search priority
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !11832
2026-03-19 11:26:16 -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
Matthew Woehlke
e74fbb3d44
Diagnostics: Implement diagnostic stack
...
Create a stack state for managing diagnostics. This will eventually
replace some of the global state used for diagnostics, as well as
providing a mechanism to add additional diagnostics.
For now, this is only the stack manipulation with a bare minimum of
interface logic (in particular, the `block` and `include` commands).
Nothing actually looks at the diagnostic state yet, and the primary user
interface does not yet exist (although there are some references to it
already).
2026-03-18 14:32:21 -04:00
Brad King
f43f7af16a
Merge topic 'execute_process-environment'
...
d7ab03d093 execute_process: Add options for modified environment
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: buildbot <buildbot@kitware.com >
Acked-by: Alex Turbov <i.zaufi@gmail.com >
Acked-by: scivision <michael@scivision.dev >
Merge-request: !11773
2026-03-13 09:57:40 -04:00
Brad King
cc2f64cac6
Merge topic 'doc-custom-synopsis'
...
acd6b7372c Help/add_custom_command: Add synopsis and signatures
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !11806
2026-03-12 16:08:51 -04:00
Daniel Pfeifer
d7ab03d093
execute_process: Add options for modified environment
2026-03-12 19:17:24 +01:00
Tyler Yankee
acd6b7372c
Help/add_custom_command: Add synopsis and signatures
2026-03-12 14:13:16 -04:00
Peter Kokot
1ce6072907
install: Add module libraries to the list of artifact kind
2026-03-07 20:16:35 +01:00
Brad King
600bdf1982
Merge topic 'doc-policy-version'
...
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:25 -05: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 Yankee and Brad 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