mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-06 05:40:54 -06:00
This change ony concerns directives that appear in the document body. The guidelines for inserting version directives: * Baseline version is CMake 3.0, i.e. directives start at 3.1. * Always use `.. versionadded::` directive, avoid ad-hoc version references. Exception: policy pages. * For new command signatures, put `versionadded` on a separate line after the signature. * For a group of new signatures in a new document section, a single version note at the beginning of the section is sufficient. * For new options, put `versionadded` on a separate line before option description. * If all the option descriptions in the list are short one-liners, it's fine to put `versionadded` on the same line as the description. * If multiple option descriptions in close proximity would have the same ..versionadded directive, consider adding a single directive after the list, mentioning all added options. * For compact value lists and sub-option lists, put a single `versionadded` directive after the list mentioning all additions. * When a change is described in a single paragraph, put `versionadded` into that paragraph. * When only part of the paragraph has changed, separate the changed part if it doesn't break the flow. Otherwise, write a follow-up clarification paragraph and apply version directive to that. * When multiple version directives are close by, order earlier additions before later additions. * Indent related lists and code blocks to include them in the scope of `versionadded` directive. Issue: #19715
12 lines
706 B
Plaintext
12 lines
706 B
Plaintext
The final set of compile or link options used for a target is constructed by
|
|
accumulating options from the current target and the usage requirements of
|
|
its dependencies. The set of options is de-duplicated to avoid repetition.
|
|
|
|
.. versionadded:: 3.12
|
|
While beneficial for individual options, the de-duplication step can break
|
|
up option groups. For example, ``-D A -D B`` becomes ``-D A B``. One may
|
|
specify a group of options using shell-like quoting along with a ``SHELL:``
|
|
prefix. The ``SHELL:`` prefix is dropped, and the rest of the option string
|
|
is parsed using the :command:`separate_arguments` ``UNIX_COMMAND`` mode.
|
|
For example, ``"SHELL:-D A" "SHELL:-D B"`` becomes ``-D A -D B``.
|