| 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 |
| it dependencies. The set of options is de-duplicated to avoid repetition. |
| 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``. |