[cmake-developers] Issues with generator expressions and lists

Brad King brad.king at kitware.com
Thu Feb 28 07:25:19 EST 2013


On 02/27/2013 01:24 PM, Brad King wrote:
> The argument splitting rule should remain simple: a quoted
> argument is one value and an unquoted argument expands on ";".
> What your topic needs to do is delay the expansion for unquoted
> generator expressions from configure to generate time.

While I think this should be the plan moving forward, I do
not think we should try to address it before 2.8.11.  It will
be a change in argument parsing handling.  Without preservation
of ';' in unquoted generator expressions they will not be
recognized as generator expressions so the behavior will be
no different from the same arguments in 2.8.10.  Therefore
we can introduce the argument parsing change later to introduce
a new feature of allowing unquoted generator expressions that
contain lists to be expanded at generate time.

Your "Consider a genex as a single command arg" commit changes
argument splitting to not use ExpandListArgument but
cmGeneratorExpression::Split does not behave the same for all
values.  The original ExpandListArgument also preserves ";"
inside [] blocks (added so that the registry entry syntax would
continue to work for unquoted arguments; too late to change now).

-Brad



More information about the cmake-developers mailing list