summaryrefslogtreecommitdiffstats
path: root/Help/dev/documentation.rst
Commit message (Collapse)AuthorAgeFilesLines
* Help/dev: Extend documentation guide with another section nesting levelBrad King2023-07-311-0/+1
|
* Utilities/Sphinx: Add 'cref' roleMatthew Woehlke2023-03-141-0/+4
| | | | | | | | | | | | | Add a role that can be used to create local links (a la '`LINK`_'), but that also applies literal style. This is particularly useful for referring to subcommands within the command's documentation in a style that is consistent with ':command:`BAR <foo(BAR)>`' but is much less verbose. Although this is intended for subcommands, it works with any local reference. Co-authored-by: Brad King <brad.king@kitware.com>
* Merge topic 'smart-wrap-signatures'Brad King2023-03-141-0/+17
|\ | | | | | | | | | | | | 39ecaa5da1 Utilities/Sphinx: Improve word wrap of signatures Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8317
| * Utilities/Sphinx: Improve word wrap of signaturesMatthew Woehlke2023-03-131-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement logic to support several styles of parsing in the new signature directive that control where line breaks are allowed in a signature. The default is 'smart', which forbids breaks inside of square- or angle-brackets. The 'verbatim' option forbids all breaks. In all cases, breaks are always allowed where a newline appears in the source. This seems to Just Work for most writers, but HTML needs some special handling that is accomplished by a new CSS rule and assigning the 'nbsp' class to spaces that are not allowed to break. (ROFF's line wrapping is rather unfortunate here, as it prefers splitting and hyphenating words rather than breaking at a space.)
* | Utilities/Sphinx: Allow explicit target for genexMatthew Woehlke2023-03-131-0/+4
|/ | | | | | | | | | | | | | | | Split the genex directive into its own class, allowing a slight simplification of CMakeObject. Add ability to specify an explicit target name for the same. Use this to provide a target for the `$<TARGET_PROPERTY:prop>` generator expression which is otherwise missing one (due to overlap with `$<TARGET_PROPERTY:tgt,prop>`). With this one can write: :genex:`$<TARGET_PROPERTY:prop> <TARGET_PROPERTY:prop>` to link the second variant. Fixes: #24573
* Utilities/Sphinx: Make signatures linkableMatthew Woehlke2023-03-091-3/+3
| | | | | | | | | | | Add signatures to the collection of observed objects (which can be referenced elsewhere). Don't automatically strip parameters from a :command: reference, as these may now link signatures. (Do, however, munge them into 'text <ref>' form if they aren't already, as not doing so adds an extra '()' for some reason.) Correspondingly, change xref resolution to try to match 'command' when a ref like 'command(args)' is not matched, so that existing links to commands that have not been converted to use the new signature directive don't immediately break.
* Utilities/Sphinx: Add a directive to document command signaturesMatthew Woehlke2023-03-031-13/+82
| | | | | | | Add a `signature` directive to offer a CMake version of Sphinx's `function` directive, similar to that found in other domains (py, cpp, etc.). Like others, this takes one or more signatures as arguments and creates dt/dd nodes from the signatures and the directive contents.
* Help/dev: Add per-directive sections in CMake Documentation GuideBrad King2023-02-241-25/+70
|
* Help/dev: Cover module function naming in CMake Documentation GuideBrad King2021-12-081-4/+57
|
* cmRST: support `versionadded` and `versionchanged` directivesBen Boeckel2021-10-271-0/+5
| | | | | | | | This makes `versionadded` and `versionchanged` directives show up in `cmake --help-*` output instead of disappearing (and potentially making empty sections). Fixes: #22808
* Utilities/Sphinx: Add role and directive for 'genex' in CMake domainBrad King2021-01-181-2/+13
| | | | | | | | | | | | | | | | | This enables cross-reference syntax for CMake generator expressions: :genex:`SOME_GENEX` :genex:`$<SOME_GENEX>` :genex:`$<SOME_GENEX:...>` and definition of CMake generator expressions via a directive: .. genex:: SOME_GENEX .. genex:: $<SOME_GENEX> .. genex:: $<SOME_GENEX:...> It also adds generator expressions defined by the directive and by `Help/genex/SOME_GENEX.rst` documents to the index.
* Help/dev: Mention 'cpack_gen' domain object in CMake Documentation GuideBrad King2021-01-181-0/+5
| | | | | This was accidentally left out of commit 2a2829cc75 (Help: Add new section for CPack generators, 2018-06-15, v3.13.0-rc1~394^2~3).
* Help/dev: Mention 'envvar' domain object in CMake Documentation GuideBrad King2021-01-181-0/+10
| | | | | | This was accidentally left out of commit 8acf46caf1 (Utilities/Sphinx: Add role and directive for 'envvar' in CMake domain, 2018-04-19, v3.12.0-rc1~200^2~1).
* Help/dev: Modernize module example in the CMake Documentation GuideBrad King2018-11-201-46/+38
|
* Help/dev: Factor out a CMake Documentation Guide for developing the docsBrad King2018-11-141-0/+538
Remove this content from the `cmake-developer(7)` manual because it is relevant only to developers working on CMake itself. Move it to a guide in the developer documentation.