summaryrefslogtreecommitdiffstats
path: root/Help/command
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'doc-string-xref' into release-4.2Brad King2025-11-181-12/+12
|\ | | | | | | | | | | | | | | 510d81c7bc Help: Avoid reST named references in string(JSON) synopsis 6c0f37546f Help: Improve string(JSON) synopsis document source readability Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !11426
| * Help: Avoid reST named references in string(JSON) synopsisBrad King2025-11-171-5/+5
| | | | | | | | | | | | | | | | Also revert commit 9702a01dc9 (Help: string(LENGTH): Fix synopsis link to command description, 2023-12-30, v3.28.2~23^2). It was only needed to avoid re-using a named reference that we've now removed. Issue: #25546
| * Help: Improve string(JSON) synopsis document source readabilityBrad King2025-11-171-11/+11
| | | | | | | | Avoid spaces in signature target names.
* | Help: Fix typos and formatting for 4.2 releaseCraig Scott2025-11-141-1/+1
| |
* | Merge topic 'project-license-doc' into release-4.2Brad King2025-10-281-2/+13
|\ \ | | | | | | | | | | | | | | | | | | ebf0a359ad Help: Improve documentation of project SPDX_LICENSE Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !11348
| * | Help: Improve documentation of project SPDX_LICENSEMatthew Woehlke2025-10-271-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, CMake allows specifying a license (`SPDX_LICENSE`) for both projects and targets, which is largely motivated by CPS export. The design of CPS is geared toward components (targets) only expressing an explicit license when that component's license differs from the license that applies to the package as a whole (or, at least, the license generally used by the package's software components). Accordingly, the project license is not used to initialize the `SPDX_LICENSE` target property at export time. This, however, was not documented previously. Add a note explaining this to the `SPDX_LICENSE` option of the `project` command. Fixes: #27295
* | | Help: Add missing gate for project(SPDX_LICENSE)Matthew Woehlke2025-10-231-0/+3
|/ / | | | | | | | | | | | | | | The `SPDX_LICENSE` option of the `project` command requires that the `CMAKE_EXPERIMENTAL_EXPORT_PACKAGE_INFO` gate is enabled, but this was not documented. Add the missing documentation. Fixes: #27328
* | Merge topic 'fix-copy-on-error-directory-info' into release-4.2Brad King2025-10-121-1/+3
|\ \ | | | | | | | | | | | | | | | | | | 657e9be724 file(CREATE_LINK): Document `COPY_ON_ERROR` behavior on directories Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !11299
| * | file(CREATE_LINK): Document `COPY_ON_ERROR` behavior on directoriesAlex Overchenko2025-10-101-1/+3
| | | | | | | | | | | | Issue: #27294
* | | Help: Use signature directive for `cmake_path` commandTyler Yankee2025-10-093-304/+251
|/ / | | | | | | | | | | Using `signature` renders the anchor links for each sub-command, and is consistent with the other `Help/command` pages which contain multiple sub-commands.
* | Merge topic 'help-TRYRUN_OUTPUT_STDOUT'Brad King2025-10-071-0/+14
|\ \ | | | | | | | | | | | | | | | | | | 6d61783103 Help: Document try_run output cache entries for cross-build Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !11284
| * | Help: Document try_run output cache entries for cross-buildJinzhe Zeng2025-10-061-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Document `try_run` cache entries added by commit a2cd0687db (try_run: Add RUN_OUTPUT_STDOUT_VARIABLE and RUN_OUTPUT_STDERR_VARIABLE., 2022-07-08, v3.25.0-rc1~443^2): * `<runResultVar>__TRYRUN_OUTPUT_STDOUT` * `<runResultVar>__TRYRUN_OUTPUT_STDERR` Fixes: #27281
* | | Merge topic 'cps-symbolic-info'Brad King2025-10-031-0/+24
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 62a1d3e7f1 FileAPI: Add symbolic property to targets d92b6c3e20 CPS: Add Symbolic Components 03284e018f Help: Simplify file-api version information for "abstract" field Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !11132
| * | | CPS: Add Symbolic ComponentsTaylor Sasser2025-10-021-0/+24
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds support for "symbolic" components, which represent feature-level capabilities of a package that do not correspond to actual build targets. These are modeled as pseudo-targets, using the INTERFACE type as a base, and can be queried via: get_target_property(... <tgt> "SYMBOLIC") This enables consumers to declare requirements on optional features (e.g., SSL support) even when they do not map to concrete targets. Fixes: #27187
* | | Merge topic 'instrumentation-target-content'Brad King2025-10-031-9/+8
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 97adbc91fa instrumentation: Move target data into content files Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !11251
| * | | instrumentation: Move target data into content filesMartin Duffy2025-10-021-9/+8
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | Create a single place to store target data to prevent duplication. This moves `targetType` and `targetLabels` out of the snippet files and into a target map in the `cmakeContent` file referenced by each snippet. Fixes: #27244
* | | Help: Fix cmake_language(TRACE) command anchorBrad King2025-10-011-2/+3
|/ /
* | Merge topic 'patch-rst-typos'Brad King2025-09-251-1/+1
|\ \ | | | | | | | | | | | | | | | | | | ee25bc5434 Help: Fix typos in versionadded directives Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !11237
| * | Help: Fix typos in versionadded directivesPeter Kokot2025-09-231-1/+1
| | |
* | | cmake_language: add `TRACE` subcommandAlex Turbov2025-09-221-0/+25
|/ / | | | | | | Closes 27235.
* | string: Add REGEX QUOTE sub-commandTimo Röhling2025-09-181-0/+11
| | | | | | | | | | | | | | Add a command to generate a regular expression that matches an input string literally by escaping special characters. Fixes: #18580
* | Help: Fix version added for `CMAKE_MATCH_<n>`Alexander Grund2025-09-111-1/+1
| | | | | | | | | | | | | | | | | | This was added in 2.6.0 by commit c1b3484c2d (ENH: store the matches for paren-delimited subexpression..., 2007-08-21, v2.6.0~1227), not in 3.9. Only the documentation at this place was added in 3.9, by commit eb08e1febb (Help: Document CMAKE_MATCH_<n> variables, 2017-04-18, v3.9.0-rc1~257^2)
* | Merge topic 'instrumentation-trace'Brad King2025-09-041-2/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8d04c4d741 Experimental: Update the Instrumentation UUID bf52fbfbc4 instrumentation: Add Google trace output b6dcbc4387 Tests/RunCMake/Instrumentation: Improve formatting 27bc7d5782 Tests/RunCMake/Instrumentation: Factor out common JSON logic Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !11124
| * | instrumentation: Add Google trace outputTyler Yankee2025-09-031-2/+2
| | | | | | | | | | | | | | | | | | | | | Add a feature to parse snippets into a trace file compatible with the Google Trace Event Format. Fixes: #26674
* | | Merge topic 'document_find_package_dir_version'Brad King2025-09-011-1/+3
|\ \ \ | |/ / |/| | | | | | | | | | | | | | f104bdb3b9 Help: Specify `<PackageName>_DIR` interaction with a version Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !11114
| * | Help: Specify `<PackageName>_DIR` interaction with a versionMeszaros, Gergely2025-08-261-1/+3
| | | | | | | | | | | | | | | | | | Explicitly state that if `<PackageName>_DIR` is set, but the version of the package found there does not match the requested version, then `find_package` will ignore that directory and continue searching.
* | | instrumentation: Collect custom content from CMake configureMartin Duffy2025-08-211-0/+48
|/ / | | | | | | | | | | | | | | | | | | Add a `CUSTOM_CONTENT` argument to `cmake_instrumentation()` for collecting custom content from configure time. Snippet files include a reference to a JSON file containing any `CUSTOM_CONTENT` that was added by this command. Fixes: #26703
* | Help: Improve clarity of foreach behaviorTyler Yankee2025-08-131-6/+12
| |
* | set/unset commands: add CACHE{variable} syntax supportMarc Chevrier2025-08-042-28/+70
| | | | | | | | | | | | Add the support of CACHE{variable} syntax to enable: * better consistency with other commands which use this syntax * more flexibility regarding cache variable options
* | find_xxx: Clarify command descriptionVito Gamberini2025-08-012-8/+25
| | | | | | | | | | | | Also cleans up a missing infinitive in find_file Fixes: #25844
* | Merge topic 'revert-install-DIRECTORY-exclude-empty'Brad King2025-07-291-8/+0
|\ \ | | | | | | | | | | | | | | | | | | 21e99dbf49 install(DIRECTORY): Revert "Add EXCLUDE_EMPTY_DIRECTORIES option" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !10977
| * | install(DIRECTORY): Revert "Add EXCLUDE_EMPTY_DIRECTORIES option"Brad King2025-07-281-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit b70ef48b27 (install(DIRECTORY): Add EXCLUDE_EMPTY_DIRECTORIES option, 2025-04-20, v4.1.0-rc1~212^2). The implementation had at least two problems: * It did not exclude the top-level directory if empty. * It did not exclude non-empty directories whose contents are all filtered out. Revert the feature pending a revised implementation. Issue: #19189 Closes: #27092
* | | Help: The old add_test() form does not support TEST_LAUNCHERRalf Habacker2025-07-281-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | Extend commit 1ec0372ed4 (add_test: Optionally use a launcher for tests running in-project targets, 2023-11-11, v3.29.0-rc1~237^2~1). Fixes: #27083
* | | Merge topic 'instrumentation-ctest-interface'Brad King2025-07-211-4/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 21ac285cd8 Experimental: Update the Instrumentation UUID 9dec460c8c instrumentation: Store CDash settings in query files afa94bae1e instrumentation: Rename queries field to options Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !10934
| * | | instrumentation: Rename queries field to optionsMartin Duffy2025-07-101-4/+4
| | | | | | | | | | | | | | | | Fixes: #26728
* | | | Merge topic 'find-package-unwind'Brad King2025-07-211-1/+17
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f61768107e find_package: Implement UNWIND_INCLUDE Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !10943
| * | | | find_package: Implement UNWIND_INCLUDEVito Gamberini2025-07-131-1/+17
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This implements a limited exception mechanism for find_package() via the UNWIND_INCLUDE keyword. When package discovery via find_package(UNWIND_INCLUDE) fails the StateSnapshot is updated to an UNWINDING state. In this state further calls to find_package() and include() are forbidden. While in the UNWINDING state, the include() command immediately calls SetReturnInvoked() whenever it is reached. The UNWINDING state is reset when a parent call to find_package() is reached. Fixes: #26897
* | | | Help: Document WORKING_DIRECTORY default behavior missing in some commandsDan Raviv2025-07-103-1/+4
|/ / /
* | | Merge topic 'doc-cmake_path'Brad King2025-07-031-5/+5
|\ \ \ | |/ / | | | | | | | | | | | | | | | 41488e0c41 Help: Fix cmake_path examples Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !10923
| * | Help: Fix cmake_path examplesxndcn2025-07-021-5/+5
| | |
* | | CPS: Add export support for [default_]licenseMatthew Woehlke2025-06-203-4/+33
| | | | | | | | | | | | | | | | | | | | | Add `LICENSE` and `DEFAULT_LICENSE` arguments to the `PACKAGE_INFO` modes of the `install` and `export` commands. If not otherwise specified, the `LICENSE` will be taken from the project's `SPDX_LICENSE`, if available.
* | | project: Add SPDX_LICENSE argumentMatthew Woehlke2025-06-201-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add an argument to the `project` command to allow specifying a license for a project as a whole. This is in addition to specifying licenses on individual targets, and will be used to set the license(s) on exported packages. Also, move listing of `COMPAT_VERSION` variables to follow lexicographical order.
* | | Help: Tweak project DESCRIPTION documentationMatthew Woehlke2025-06-203-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | Replace the 'project-description-string' descriptor in the `project`, `export` and `install` commands with 'description-string'. This is more consistent, as none of the other descriptors include 'project-', and it's arguably wrong in the context of `export`/`install`, as the description applies to a package.
* | | Merge topic 'improve-project-doc'Brad King2025-06-201-2/+6
|\ \ \ | |/ / | | | | | | | | | | | | | | | 1cd8c8f02a Help: Mention use of project() variables in packages Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !10895
| * | Help: Mention use of project() variables in packagesMatthew Woehlke2025-06-191-2/+6
| | | | | | | | | | | | | | | | | | | | | The `project` command mentions that it sets variables "intended for use as default values in package metadata". Add a sentence that the `install` and `export` commands actually do so for CPS. Also add `COMPAT_VERSION` to the list of relevant options.
* | | find_package: Use deterministic search order by defaultMoritz Haase2025-06-181-12/+21
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | Historically, find_package() does not guarantee the order in which directories matching a search path containing a glob expression are processed in - the "first valid package" will be selected if there are multiple candidates. In such cases, which package is chosen is completely random and can change, potentially leading to build failures and reproducibility issues. This is rather unexpected and confusing for developers. Now that CMake has bumped its major version, it's a good time to change default sort order and direction could be changed to natural sorting with a descending order. That will result in the newest version of a library being picked in case there are multiple ones available.
* | Help: add and make references to generators consistentBen Boeckel2025-06-124-8/+8
| |
* | Merge topic 'cps-more-metadata'Brad King2025-06-062-1/+16
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | da97747dac CPS: Support additional metadata f224e131a5 CPS: Refactor metadata handling 7155903e53 cmExportPackageInfoGenerator: Fix style Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !10856
| * | CPS: Support additional metadataMatthew Woehlke2025-06-032-1/+16
| | | | | | | | | | | | | | | | | | Add support for specifying CPS's supplemental `description` and `website` attributes. Add ability to inherit these from the `project()`, similar to how version information can be inherited.
* | | Merge topic 'fix-project-compat_version-doc'Brad King2025-06-051-0/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 01f6067ce4 Help: Note when `project(COMPAT_VERSION)` was added Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !10858