mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-04 21:00:17 -06:00
Options specified via `COMPILE_OPTIONS` and `INTERFACE_COMPILE_OPTIONS`
are deduplicated, but individual options can legitimately be duplicated
when grouped with other options, e.g.
-D A -D B
After deduplication that becomes `-D A B`. Therefore we need a way to
treat groups of options as units during deduplication. A simple approach
is to specify each group as one option, e.g.
"-D A" "-D B"
However, that conflicts with options that legitimately have spaces. To
break this ambiguity, add a `SHELL:` prefix syntax to specify that an
option should be parsed like shell command line arguments after
deduplication, e.g.
"SHELL:-D A" "SHELL:-D B"
These will survive deduplication intact, and then be parsed to produce
`-D A -D B` on the final command line.
Fixes: #15826
7 lines
220 B
ReStructuredText
7 lines
220 B
ReStructuredText
compile-options-shell
|
|
---------------------
|
|
|
|
* :command:`target_compile_options` and :command:`add_compile_options`
|
|
commands gained a ``SHELL:`` prefix to specify a group of related
|
|
options using shell-like quoting.
|