[cmake-developers] Issues with generator expressions and lists

Brad King brad.king at kitware.com
Thu Feb 28 11:43:52 EST 2013


On 02/28/2013 11:37 AM, Stephen Kelly wrote:
> I didn't realize it before, but this seems to already be the case, right (in 
> a world without genexes)?
> 
>  set(COMMARGS one two\\;three "four\\;five")
> 
>  echo one two three "four;five" six "seven;eight" "nine\\;ten"

Yes.  The \\; escape isn't automatically added by set() when combining
lists.  It is simply not possible to have ; in the payload of list
elements reliably.

> Yes, fair enough. I wonder if there are bugs in the use of eg $<1:foo,bar> 
> with COMMANDs, but if there are, they're already in 2.8.10.2 anyway.

Yes.

> I don't think it handles foo\\;bar either. That's probably something which 
> should be fixed. There shouldn't be any situation where ExpandListArgument 
> can be used but genex::Split can't be.

Yes.  This function is one of the hot spots in runtime profiling,
so check performance before and after any change you make.

-Brad



More information about the cmake-developers mailing list