[CMake] Proper way to define a list
BRM
bm_witness at yahoo.com
Mon Mar 30 16:09:31 EDT 2009
That's correct - it is 1 parameter versus 3, but for a different reason.
DoStuff( a b c )
Processes each as 3 different variables to be passed, each of type and value a, b, and c respectively.
DoStuff( "a b c" )
Processes it as 1 variable - a string containing the value "a b c".
If you have the string
DoStuff( "a;b;c" )
Then that variable will be of the value "a;b;c" with literal semi-colons in it. I believe that was Bill's point.
Ben
________________________________
From: Robert Dailey <rcdailey at gmail.com>
To: Bill Hoffman <bill.hoffman at kitware.com>
Cc: cmake at cmake.org; a.neundorf-work at gmx.net
Sent: Monday, March 30, 2009 3:47:15 PM
Subject: Re: [CMake] Proper way to define a list
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/5825c34e/attachment-0001.htm>
More information about the CMake
mailing list