Re: [CMake] PARENT_SCOPE for unset()?

2012-02-10 Thread Robert Dailey
I actually found that using the following worked the exact same for me:

set( var  PARENT_SCOPE )

It passed the NOT test in my if condition:

if( NOT var )
...
endif()

It might make more sense to require 2 parameters for set() (the variable
name and its value). If setting to nothing, use a blank string. That way
there is no ambiguity between PARENT_SCOPE and parameter 2.

If people really want to unset the variable, I don't believe set() is the
way... that's why unset() exists. Just my opinion. Only problem is, if you
make this change, it isn't backward compatible and will probably break a
lot of scripts. Looks like CMake is kind of boned here. Herb Sutter made a
great point during GoingNative 2012 about how it's better to not have a
feature than to misdesign it and be stuck supporting it forever. I think
the latter part of the statement applies here :)

This isn't a big deal though, just one of those if we could change it,
this would make more sense kind of things.

Big thanks for your help David, as usual.

-
Robert Dailey


On Thu, Feb 9, 2012 at 6:19 PM, David Cole david.c...@kitware.com wrote:

 Yes, PARENT_SCOPE must occur as the last argument. Each command has its
 own code for processing its argument list. See Source/cmSetCommand.cxx for
 details on this one.

 Interesting (not quite the right adjective?) side effect: it's difficult
 to set a variable to the value PARENT_SCOPE because you have to do it
 indirectly...


 On Thu, Feb 9, 2012 at 7:12 PM, Robert Dailey rcdai...@gmail.com wrote:

 That worked, thanks David.

 I guess CMake goes right-to-left for function parameters? I don't see how
 else it doesn't think PARENT_SCOPE is a value instead of an option.

 -
 Robert Dailey



 On Thu, Feb 9, 2012 at 1:45 PM, David Cole david.c...@kitware.comwrote:

 On Thu, Feb 9, 2012 at 2:41 PM, Robert Dailey rcdai...@gmail.comwrote:

 I didn't try that because I thought it would actually treat
 PARENT_SCOPE as a string and add it to the variable. I did this instead:

 set( var  PARENT_SCOPE )


 That leaves it set, with a value of the empty string, in the parent
 scope. Give the one I sent a try.




 -
 Robert Dailey



 On Thu, Feb 9, 2012 at 1:26 PM, David Cole david.c...@kitware.comwrote:

 On Thu, Feb 9, 2012 at 2:22 PM, Alexander Neundorf 
 a.neundorf-w...@gmx.net wrote:

 On Thursday 09 February 2012, Robert Dailey wrote:
  It would seem useful to have a PARENT_SCOPE option for the unset()
 command,
  just like its set() counterpart. Is there a particular reason why
 it does
  not have it now?

 No, I think there is not particular reason.

 Alex
 --

 Powered by www.kitware.com

 Visit other Kitware open-source projects at
 http://www.kitware.com/opensource/opensource.html

 Please keep messages on-topic and check the CMake FAQ at:
 http://www.cmake.org/Wiki/CMake_FAQ

 Follow this link to subscribe/unsubscribe:
 http://www.cmake.org/mailman/listinfo/cmake



 Does:

   set(var PARENT_SCOPE)

 have the intended effect?

 (If so, you could use that until such time as PARENT_SCOPE is added to
 unset.)


 --

 Powered by www.kitware.com

 Visit other Kitware open-source projects at
 http://www.kitware.com/opensource/opensource.html

 Please keep messages on-topic and check the CMake FAQ at:
 http://www.cmake.org/Wiki/CMake_FAQ

 Follow this link to subscribe/unsubscribe:
 http://www.cmake.org/mailman/listinfo/cmake






--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Re: [CMake] PARENT_SCOPE for unset()?

2012-02-10 Thread Robert Dailey
Also I wonder what happens if you do this:

set( var PARENT_SCOPE PARENT_SCOPE PARENT_SCOPE )

-
Robert Dailey


On Fri, Feb 10, 2012 at 8:59 AM, Robert Dailey rcdai...@gmail.com wrote:

 I actually found that using the following worked the exact same for me:

 set( var  PARENT_SCOPE )

 It passed the NOT test in my if condition:

 if( NOT var )
 ...
 endif()

 It might make more sense to require 2 parameters for set() (the variable
 name and its value). If setting to nothing, use a blank string. That way
 there is no ambiguity between PARENT_SCOPE and parameter 2.

 If people really want to unset the variable, I don't believe set() is the
 way... that's why unset() exists. Just my opinion. Only problem is, if you
 make this change, it isn't backward compatible and will probably break a
 lot of scripts. Looks like CMake is kind of boned here. Herb Sutter made a
 great point during GoingNative 2012 about how it's better to not have a
 feature than to misdesign it and be stuck supporting it forever. I think
 the latter part of the statement applies here :)

 This isn't a big deal though, just one of those if we could change it,
 this would make more sense kind of things.

 Big thanks for your help David, as usual.

 -
 Robert Dailey



 On Thu, Feb 9, 2012 at 6:19 PM, David Cole david.c...@kitware.com wrote:

 Yes, PARENT_SCOPE must occur as the last argument. Each command has its
 own code for processing its argument list. See Source/cmSetCommand.cxx for
 details on this one.

 Interesting (not quite the right adjective?) side effect: it's difficult
 to set a variable to the value PARENT_SCOPE because you have to do it
 indirectly...


 On Thu, Feb 9, 2012 at 7:12 PM, Robert Dailey rcdai...@gmail.com wrote:

 That worked, thanks David.

 I guess CMake goes right-to-left for function parameters? I don't see
 how else it doesn't think PARENT_SCOPE is a value instead of an option.

  -
 Robert Dailey



 On Thu, Feb 9, 2012 at 1:45 PM, David Cole david.c...@kitware.comwrote:

 On Thu, Feb 9, 2012 at 2:41 PM, Robert Dailey rcdai...@gmail.comwrote:

 I didn't try that because I thought it would actually treat
 PARENT_SCOPE as a string and add it to the variable. I did this instead:

 set( var  PARENT_SCOPE )


 That leaves it set, with a value of the empty string, in the parent
 scope. Give the one I sent a try.




 -
 Robert Dailey



 On Thu, Feb 9, 2012 at 1:26 PM, David Cole david.c...@kitware.comwrote:

 On Thu, Feb 9, 2012 at 2:22 PM, Alexander Neundorf 
 a.neundorf-w...@gmx.net wrote:

 On Thursday 09 February 2012, Robert Dailey wrote:
  It would seem useful to have a PARENT_SCOPE option for the unset()
 command,
  just like its set() counterpart. Is there a particular reason why
 it does
  not have it now?

 No, I think there is not particular reason.

 Alex
 --

 Powered by www.kitware.com

 Visit other Kitware open-source projects at
 http://www.kitware.com/opensource/opensource.html

 Please keep messages on-topic and check the CMake FAQ at:
 http://www.cmake.org/Wiki/CMake_FAQ

 Follow this link to subscribe/unsubscribe:
 http://www.cmake.org/mailman/listinfo/cmake



 Does:

   set(var PARENT_SCOPE)

 have the intended effect?

 (If so, you could use that until such time as PARENT_SCOPE is added
 to unset.)


 --

 Powered by www.kitware.com

 Visit other Kitware open-source projects at
 http://www.kitware.com/opensource/opensource.html

 Please keep messages on-topic and check the CMake FAQ at:
 http://www.cmake.org/Wiki/CMake_FAQ

 Follow this link to subscribe/unsubscribe:
 http://www.cmake.org/mailman/listinfo/cmake







--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Re: [CMake] PARENT_SCOPE for unset()?

2012-02-10 Thread Michael Hertling
On 02/10/2012 03:59 PM, Robert Dailey wrote:
 I actually found that using the following worked the exact same for me:
 
 set( var  PARENT_SCOPE )
 
 It passed the NOT test in my if condition:
 
 if( NOT var )
 ...
 endif()

Does it pass the NOT DEFINED test, too? There's a difference between
an empty and an undefined variable, and that's sometimes significant.

Regards,

Michael

 It might make more sense to require 2 parameters for set() (the variable
 name and its value). If setting to nothing, use a blank string. That way
 there is no ambiguity between PARENT_SCOPE and parameter 2.
 
 If people really want to unset the variable, I don't believe set() is the
 way... that's why unset() exists. Just my opinion. Only problem is, if you
 make this change, it isn't backward compatible and will probably break a
 lot of scripts. Looks like CMake is kind of boned here. Herb Sutter made a
 great point during GoingNative 2012 about how it's better to not have a
 feature than to misdesign it and be stuck supporting it forever. I think
 the latter part of the statement applies here :)
 
 This isn't a big deal though, just one of those if we could change it,
 this would make more sense kind of things.
 
 Big thanks for your help David, as usual.
 
 -
 Robert Dailey
 
 
 On Thu, Feb 9, 2012 at 6:19 PM, David Cole david.c...@kitware.com wrote:
 
 Yes, PARENT_SCOPE must occur as the last argument. Each command has its
 own code for processing its argument list. See Source/cmSetCommand.cxx for
 details on this one.

 Interesting (not quite the right adjective?) side effect: it's difficult
 to set a variable to the value PARENT_SCOPE because you have to do it
 indirectly...


 On Thu, Feb 9, 2012 at 7:12 PM, Robert Dailey rcdai...@gmail.com wrote:

 That worked, thanks David.

 I guess CMake goes right-to-left for function parameters? I don't see how
 else it doesn't think PARENT_SCOPE is a value instead of an option.

 -
 Robert Dailey



 On Thu, Feb 9, 2012 at 1:45 PM, David Cole david.c...@kitware.comwrote:

 On Thu, Feb 9, 2012 at 2:41 PM, Robert Dailey rcdai...@gmail.comwrote:

 I didn't try that because I thought it would actually treat
 PARENT_SCOPE as a string and add it to the variable. I did this instead:

 set( var  PARENT_SCOPE )


 That leaves it set, with a value of the empty string, in the parent
 scope. Give the one I sent a try.




 -
 Robert Dailey



 On Thu, Feb 9, 2012 at 1:26 PM, David Cole david.c...@kitware.comwrote:

 On Thu, Feb 9, 2012 at 2:22 PM, Alexander Neundorf 
 a.neundorf-w...@gmx.net wrote:

 On Thursday 09 February 2012, Robert Dailey wrote:
 It would seem useful to have a PARENT_SCOPE option for the unset()
 command,
 just like its set() counterpart. Is there a particular reason why
 it does
 not have it now?

 No, I think there is not particular reason.

 Alex
 --

 Powered by www.kitware.com

 Visit other Kitware open-source projects at
 http://www.kitware.com/opensource/opensource.html

 Please keep messages on-topic and check the CMake FAQ at:
 http://www.cmake.org/Wiki/CMake_FAQ

 Follow this link to subscribe/unsubscribe:
 http://www.cmake.org/mailman/listinfo/cmake



 Does:

   set(var PARENT_SCOPE)

 have the intended effect?

 (If so, you could use that until such time as PARENT_SCOPE is added to
 unset.)


 --

 Powered by www.kitware.com

 Visit other Kitware open-source projects at
 http://www.kitware.com/opensource/opensource.html

 Please keep messages on-topic and check the CMake FAQ at:
 http://www.cmake.org/Wiki/CMake_FAQ

 Follow this link to subscribe/unsubscribe:
 http://www.cmake.org/mailman/listinfo/cmake






 
 
 
 --
 
 Powered by www.kitware.com
 
 Visit other Kitware open-source projects at 
 http://www.kitware.com/opensource/opensource.html
 
 Please keep messages on-topic and check the CMake FAQ at: 
 http://www.cmake.org/Wiki/CMake_FAQ
 
 Follow this link to subscribe/unsubscribe:
 http://www.cmake.org/mailman/listinfo/cmake

--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] PARENT_SCOPE for unset()?

2012-02-10 Thread David Cole
On Fri, Feb 10, 2012 at 10:00 AM, Robert Dailey rcdai...@gmail.com wrote:

 Also I wonder what happens if you do this:

 set( var PARENT_SCOPE PARENT_SCOPE PARENT_SCOPE )


That sets var to PARENT_SCOPE;PARENT_SCOPE in the parent scope.




 -
 Robert Dailey



 On Fri, Feb 10, 2012 at 8:59 AM, Robert Dailey rcdai...@gmail.com wrote:

 I actually found that using the following worked the exact same for me:

 set( var  PARENT_SCOPE )


 It passed the NOT test in my if condition:

 if( NOT var )
 ...
 endif()


set(var)
  and
set(var )

do two different things.

The first, set(var), unsets the variable such that it is not even DEFINED
as a variable.

The second, set(var ), sets the variable such that is is DEFINED and has
the value of the empty string.

Similarly, with PARENT_SCOPE:
set(var PARENT_SCOPE)
  and
set(var  PARENT_SCOPE)

The if(NOT var) test works the same for variables that are not defined or
are defined and empty.

The if(NOT DEFINED var) test does not.


set(var) was the way we did unset before the unset command existed.



 It might make more sense to require 2 parameters for set() (the variable
 name and its value). If setting to nothing, use a blank string. That way
 there is no ambiguity between PARENT_SCOPE and parameter 2.

 If people really want to unset the variable, I don't believe set() is the
 way... that's why unset() exists. Just my opinion. Only problem is, if you
 make this change, it isn't backward compatible and will probably break a
 lot of scripts. Looks like CMake is kind of boned here. Herb Sutter made a
 great point during GoingNative 2012 about how it's better to not have a
 feature than to misdesign it and be stuck supporting it forever. I think
 the latter part of the statement applies here :)

 This isn't a big deal though, just one of those if we could change it,
 this would make more sense kind of things.

 Big thanks for your help David, as usual.


Agreed. We all agree with this. But we *are* sticking with set(var) being
equivalent, ironically enough, to unset(var) for backwards compatibility,
because there are many CMakeLists files which depend on this behavior.


You're welcome.

Thanks for the discussion,
David




 -
 Robert Dailey



 On Thu, Feb 9, 2012 at 6:19 PM, David Cole david.c...@kitware.comwrote:

 Yes, PARENT_SCOPE must occur as the last argument. Each command has its
 own code for processing its argument list. See Source/cmSetCommand.cxx for
 details on this one.

 Interesting (not quite the right adjective?) side effect: it's difficult
 to set a variable to the value PARENT_SCOPE because you have to do it
 indirectly...


 On Thu, Feb 9, 2012 at 7:12 PM, Robert Dailey rcdai...@gmail.comwrote:

 That worked, thanks David.

 I guess CMake goes right-to-left for function parameters? I don't see
 how else it doesn't think PARENT_SCOPE is a value instead of an option.

  -
 Robert Dailey



 On Thu, Feb 9, 2012 at 1:45 PM, David Cole david.c...@kitware.comwrote:

 On Thu, Feb 9, 2012 at 2:41 PM, Robert Dailey rcdai...@gmail.comwrote:

 I didn't try that because I thought it would actually treat
 PARENT_SCOPE as a string and add it to the variable. I did this instead:

 set( var  PARENT_SCOPE )


 That leaves it set, with a value of the empty string, in the parent
 scope. Give the one I sent a try.




 -
 Robert Dailey



 On Thu, Feb 9, 2012 at 1:26 PM, David Cole david.c...@kitware.comwrote:

 On Thu, Feb 9, 2012 at 2:22 PM, Alexander Neundorf 
 a.neundorf-w...@gmx.net wrote:

 On Thursday 09 February 2012, Robert Dailey wrote:
  It would seem useful to have a PARENT_SCOPE option for the
 unset() command,
  just like its set() counterpart. Is there a particular reason why
 it does
  not have it now?

 No, I think there is not particular reason.

 Alex
 --

 Powered by www.kitware.com

 Visit other Kitware open-source projects at
 http://www.kitware.com/opensource/opensource.html

 Please keep messages on-topic and check the CMake FAQ at:
 http://www.cmake.org/Wiki/CMake_FAQ

 Follow this link to subscribe/unsubscribe:
 http://www.cmake.org/mailman/listinfo/cmake



 Does:

   set(var PARENT_SCOPE)

 have the intended effect?

 (If so, you could use that until such time as PARENT_SCOPE is added
 to unset.)


 --

 Powered by www.kitware.com

 Visit other Kitware open-source projects at
 http://www.kitware.com/opensource/opensource.html

 Please keep messages on-topic and check the CMake FAQ at:
 http://www.cmake.org/Wiki/CMake_FAQ

 Follow this link to subscribe/unsubscribe:
 http://www.cmake.org/mailman/listinfo/cmake








--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

[CMake] PARENT_SCOPE for unset()?

2012-02-09 Thread Robert Dailey
It would seem useful to have a PARENT_SCOPE option for the unset() command,
just like its set() counterpart. Is there a particular reason why it does
not have it now?

-
Robert Dailey
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Re: [CMake] PARENT_SCOPE for unset()?

2012-02-09 Thread Alexander Neundorf
On Thursday 09 February 2012, Robert Dailey wrote:
 It would seem useful to have a PARENT_SCOPE option for the unset() command,
 just like its set() counterpart. Is there a particular reason why it does
 not have it now?

No, I think there is not particular reason.

Alex
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] PARENT_SCOPE for unset()?

2012-02-09 Thread David Cole
On Thu, Feb 9, 2012 at 2:22 PM, Alexander Neundorf
a.neundorf-w...@gmx.netwrote:

 On Thursday 09 February 2012, Robert Dailey wrote:
  It would seem useful to have a PARENT_SCOPE option for the unset()
 command,
  just like its set() counterpart. Is there a particular reason why it does
  not have it now?

 No, I think there is not particular reason.

 Alex
 --

 Powered by www.kitware.com

 Visit other Kitware open-source projects at
 http://www.kitware.com/opensource/opensource.html

 Please keep messages on-topic and check the CMake FAQ at:
 http://www.cmake.org/Wiki/CMake_FAQ

 Follow this link to subscribe/unsubscribe:
 http://www.cmake.org/mailman/listinfo/cmake



Does:

  set(var PARENT_SCOPE)

have the intended effect?

(If so, you could use that until such time as PARENT_SCOPE is added to
unset.)
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Re: [CMake] PARENT_SCOPE for unset()?

2012-02-09 Thread Robert Dailey
I didn't try that because I thought it would actually treat PARENT_SCOPE as
a string and add it to the variable. I did this instead:

set( var  PARENT_SCOPE )

-
Robert Dailey


On Thu, Feb 9, 2012 at 1:26 PM, David Cole david.c...@kitware.com wrote:

 On Thu, Feb 9, 2012 at 2:22 PM, Alexander Neundorf 
 a.neundorf-w...@gmx.net wrote:

 On Thursday 09 February 2012, Robert Dailey wrote:
  It would seem useful to have a PARENT_SCOPE option for the unset()
 command,
  just like its set() counterpart. Is there a particular reason why it
 does
  not have it now?

 No, I think there is not particular reason.

 Alex
 --

 Powered by www.kitware.com

 Visit other Kitware open-source projects at
 http://www.kitware.com/opensource/opensource.html

 Please keep messages on-topic and check the CMake FAQ at:
 http://www.cmake.org/Wiki/CMake_FAQ

 Follow this link to subscribe/unsubscribe:
 http://www.cmake.org/mailman/listinfo/cmake



 Does:

   set(var PARENT_SCOPE)

 have the intended effect?

 (If so, you could use that until such time as PARENT_SCOPE is added to
 unset.)


 --

 Powered by www.kitware.com

 Visit other Kitware open-source projects at
 http://www.kitware.com/opensource/opensource.html

 Please keep messages on-topic and check the CMake FAQ at:
 http://www.cmake.org/Wiki/CMake_FAQ

 Follow this link to subscribe/unsubscribe:
 http://www.cmake.org/mailman/listinfo/cmake

--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Re: [CMake] PARENT_SCOPE for unset()?

2012-02-09 Thread David Cole
On Thu, Feb 9, 2012 at 2:41 PM, Robert Dailey rcdai...@gmail.com wrote:

 I didn't try that because I thought it would actually treat PARENT_SCOPE
 as a string and add it to the variable. I did this instead:

 set( var  PARENT_SCOPE )


That leaves it set, with a value of the empty string, in the parent scope.
Give the one I sent a try.




 -
 Robert Dailey



 On Thu, Feb 9, 2012 at 1:26 PM, David Cole david.c...@kitware.com wrote:

 On Thu, Feb 9, 2012 at 2:22 PM, Alexander Neundorf 
 a.neundorf-w...@gmx.net wrote:

 On Thursday 09 February 2012, Robert Dailey wrote:
  It would seem useful to have a PARENT_SCOPE option for the unset()
 command,
  just like its set() counterpart. Is there a particular reason why it
 does
  not have it now?

 No, I think there is not particular reason.

 Alex
 --

 Powered by www.kitware.com

 Visit other Kitware open-source projects at
 http://www.kitware.com/opensource/opensource.html

 Please keep messages on-topic and check the CMake FAQ at:
 http://www.cmake.org/Wiki/CMake_FAQ

 Follow this link to subscribe/unsubscribe:
 http://www.cmake.org/mailman/listinfo/cmake



 Does:

   set(var PARENT_SCOPE)

 have the intended effect?

 (If so, you could use that until such time as PARENT_SCOPE is added to
 unset.)


 --

 Powered by www.kitware.com

 Visit other Kitware open-source projects at
 http://www.kitware.com/opensource/opensource.html

 Please keep messages on-topic and check the CMake FAQ at:
 http://www.cmake.org/Wiki/CMake_FAQ

 Follow this link to subscribe/unsubscribe:
 http://www.cmake.org/mailman/listinfo/cmake



--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Re: [CMake] PARENT_SCOPE for unset()?

2012-02-09 Thread Robert Dailey
That worked, thanks David.

I guess CMake goes right-to-left for function parameters? I don't see how
else it doesn't think PARENT_SCOPE is a value instead of an option.

-
Robert Dailey


On Thu, Feb 9, 2012 at 1:45 PM, David Cole david.c...@kitware.com wrote:

 On Thu, Feb 9, 2012 at 2:41 PM, Robert Dailey rcdai...@gmail.com wrote:

 I didn't try that because I thought it would actually treat PARENT_SCOPE
 as a string and add it to the variable. I did this instead:

 set( var  PARENT_SCOPE )


 That leaves it set, with a value of the empty string, in the parent scope.
 Give the one I sent a try.




 -
 Robert Dailey



 On Thu, Feb 9, 2012 at 1:26 PM, David Cole david.c...@kitware.comwrote:

 On Thu, Feb 9, 2012 at 2:22 PM, Alexander Neundorf 
 a.neundorf-w...@gmx.net wrote:

 On Thursday 09 February 2012, Robert Dailey wrote:
  It would seem useful to have a PARENT_SCOPE option for the unset()
 command,
  just like its set() counterpart. Is there a particular reason why it
 does
  not have it now?

 No, I think there is not particular reason.

 Alex
 --

 Powered by www.kitware.com

 Visit other Kitware open-source projects at
 http://www.kitware.com/opensource/opensource.html

 Please keep messages on-topic and check the CMake FAQ at:
 http://www.cmake.org/Wiki/CMake_FAQ

 Follow this link to subscribe/unsubscribe:
 http://www.cmake.org/mailman/listinfo/cmake



 Does:

   set(var PARENT_SCOPE)

 have the intended effect?

 (If so, you could use that until such time as PARENT_SCOPE is added to
 unset.)


 --

 Powered by www.kitware.com

 Visit other Kitware open-source projects at
 http://www.kitware.com/opensource/opensource.html

 Please keep messages on-topic and check the CMake FAQ at:
 http://www.cmake.org/Wiki/CMake_FAQ

 Follow this link to subscribe/unsubscribe:
 http://www.cmake.org/mailman/listinfo/cmake




--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Re: [CMake] PARENT_SCOPE for unset()?

2012-02-09 Thread David Cole
Yes, PARENT_SCOPE must occur as the last argument. Each command has its own
code for processing its argument list. See Source/cmSetCommand.cxx for
details on this one.

Interesting (not quite the right adjective?) side effect: it's difficult to
set a variable to the value PARENT_SCOPE because you have to do it
indirectly...


On Thu, Feb 9, 2012 at 7:12 PM, Robert Dailey rcdai...@gmail.com wrote:

 That worked, thanks David.

 I guess CMake goes right-to-left for function parameters? I don't see how
 else it doesn't think PARENT_SCOPE is a value instead of an option.

 -
 Robert Dailey



 On Thu, Feb 9, 2012 at 1:45 PM, David Cole david.c...@kitware.com wrote:

 On Thu, Feb 9, 2012 at 2:41 PM, Robert Dailey rcdai...@gmail.com wrote:

 I didn't try that because I thought it would actually treat PARENT_SCOPE
 as a string and add it to the variable. I did this instead:

 set( var  PARENT_SCOPE )


 That leaves it set, with a value of the empty string, in the parent
 scope. Give the one I sent a try.




 -
 Robert Dailey



 On Thu, Feb 9, 2012 at 1:26 PM, David Cole david.c...@kitware.comwrote:

 On Thu, Feb 9, 2012 at 2:22 PM, Alexander Neundorf 
 a.neundorf-w...@gmx.net wrote:

 On Thursday 09 February 2012, Robert Dailey wrote:
  It would seem useful to have a PARENT_SCOPE option for the unset()
 command,
  just like its set() counterpart. Is there a particular reason why it
 does
  not have it now?

 No, I think there is not particular reason.

 Alex
 --

 Powered by www.kitware.com

 Visit other Kitware open-source projects at
 http://www.kitware.com/opensource/opensource.html

 Please keep messages on-topic and check the CMake FAQ at:
 http://www.cmake.org/Wiki/CMake_FAQ

 Follow this link to subscribe/unsubscribe:
 http://www.cmake.org/mailman/listinfo/cmake



 Does:

   set(var PARENT_SCOPE)

 have the intended effect?

 (If so, you could use that until such time as PARENT_SCOPE is added to
 unset.)


 --

 Powered by www.kitware.com

 Visit other Kitware open-source projects at
 http://www.kitware.com/opensource/opensource.html

 Please keep messages on-topic and check the CMake FAQ at:
 http://www.cmake.org/Wiki/CMake_FAQ

 Follow this link to subscribe/unsubscribe:
 http://www.cmake.org/mailman/listinfo/cmake





--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake