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.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.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