Commit Graph

1835 Commits

Author SHA1 Message Date
Matthew Woehlke
3d82ccbe0d Help: Add roles to abbreviate command-line options
Add a handful of helper roles that allow many more command-line option
references to be written without explicit targets. Specifically, what
used to be written ':option:`--foo[=bar] <program --foo>` can now be
written ':program-option:`--foo`'. This allows many such references to
be significantly shortened.

For now, supported programs are 'cmake', 'cpack'. 'ctest',
'cmake--build' and 'cmake--install', which should cover most cases, but
more can be trivially added. Additionally, this does not make a
concerted effort to replace all existing uses, as it is intended mainly
for use in future updates.
2026-03-31 12:56:16 -04:00
Daniel Pfeifer
4e34426fb3 TestDriver: Add '-N' option to print all tests 2026-03-26 10:36:22 -04:00
Daniel Pfeifer
b7f83c37a4 create_test_sourcelist: Document command line arguments 2026-03-26 10:36:22 -04:00
Daniel Pfeifer
8600ce6547 discover_tests: Add documentation 2026-03-26 10:36:22 -04:00
AJIOB
97455c3d7e file: Add ARCHIVE_* options to specify pathname encoding
Issue: #26903
2026-03-24 14:07:21 -04:00
Brad King
0d5238a4e7 Merge topic 'doc-long-line'
899122e776 Help: Wrap long line in 4.3 versionadded note

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11865
2026-03-24 14:02:49 -04:00
AJIOB
899122e776 Help: Wrap long line in 4.3 versionadded note 2026-03-24 13:37:38 -04:00
Brad King
d409bdbcc2 Merge topic 'custom-target-exe-deps'
858fdd426b add_custom_command: Disallow exe-suffixed targets in DEPENDS
58ab03c031 add_custom_command: Update dependency search heuristics

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11801
2026-03-24 09:11:34 -04:00
Brad King
6bb0ec7d06 Merge topic 'patch-sbom-2'
d2aab1839e Help: Fix install(PACKAGE_INFO) and install(SBOM) argument typos

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11850
2026-03-23 10:33:32 -04:00
Tyler Yankee
858fdd426b add_custom_command: Disallow exe-suffixed targets in DEPENDS
Two targets whose names differ only in a `.exe` suffix create a
conflict when adding target- and file-level dependencies for a custom
command. Add CMP0212 to provide compatibility with the old behavior.

Issue: #27612
2026-03-23 09:50:46 -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
Marc Chevrier
167e903c15 FILE_SET: enforce uniqueness of files
A file should be unique for a target if specified as part of a file set.

Issue: #27035
2026-03-23 08:37:05 -04:00
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
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