[CMake] Proper way to define a list

Robert Dailey rcdailey at gmail.com
Mon Mar 30 15:47:15 EDT 2009


On Mon, Mar 30, 2009 at 2:41 PM, Bill Hoffman <bill.hoffman at kitware.com>wrote:

> Alexander Neundorf wrote:
>
>> On Monday 30 March 2009, Robert Dailey wrote:
>>
>>> Hi,
>>> What's the proper way to define a list? Suppose I have 3 words: Foo, Bar,
>>> and Baz. I want these 3 strings to be in a list called Stuff. Would I do
>>> this:
>>>
>>> set( Stuff "Foo;Bar;Baz" )
>>>
>>> Is this correct?
>>>
>>
>> Yes, this is identical to
>> set( Stuff Foo;Bar;Baz )
>> and also to set( Stuff  Foo Bar Baz )
>>
>>
> Actually set(var "a;b;c") with the double quotes will create a string with
> literal ;'s in it...


I thought quotes were used to force whatever is inside of it to be treated
as a single parameter. So for example, if I had a function called DoStuff,
you could call it 2 ways:

DoStuff( a b c )
DoStuff( "a b c" )

My understanding is that the first one will send 3 parameters to DoStuff.
The second will send only 1 parameter that is a list of 3 items.

Also, what if I do this:

set( Stuff foo bar;baz )

What will happen here?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20090330/eaafbd2a/attachment.htm>


More information about the CMake mailing list