On Saturday 16 February 2008, Bill Hoffman wrote: > Alexander Neundorf wrote: > > On Friday 18 January 2008, Alexander Neundorf wrote: ... > >> set(foo a b c PARENT_SCOPE) > >> > >> I'm not sure it is a good idea that this also propagates to the parent > >> directory. What is a use case for this ? > > > > What do you think about this ? > > I think it's no good idea. Until now you can rely on that whatever > > happens in subdirectories doesn't modify variables in the parent > > directory (the only way is to force something through the cache, which is > > a bit ugly). > > If you need to get information from a subdir to some other place, with > > cmake 2.6 you can use a global property to do this, which will also work > > over multiple levels of subdirectories. Doing this using PARENT_SCOPE > > would require to build a chain of these calls through all directories, > > which I think is not very nice and can require relatively much code. > > > > Do you have objections to removing that feature (propagating to the > > parent directory) ? > > I am pretty sure raise_scope was removed in favor of this version of > set, so if you remove it, there will be no way to raise scope...
I don't mean to remove the SET(PARENT_SCOPE) feature, where the main purpose is to set a global variable from within a function. But if SET( ... PARENT_SCOPE) is called outside a function, the effect is that the variable is set in the parent directory. This is the part where I'm not sure it's a good idea. Alex _______________________________________________ CMake mailing list [email protected] http://www.cmake.org/mailman/listinfo/cmake
