On 4. Mar, 2009, at 7:11, Robert Dailey wrote:

On Wed, Mar 4, 2009 at 12:02 AM, Michael Wild <[email protected]> wrote:

If you add a subdirectory, it inherits all variables and macros from the parent directories. This is actually what one expects, otherwise you would have to repeat the whole system detection (find_pacakge, find_library, find_path etc.) in every subdirectory. The reverse, however is not true. By default, variables (I'm not sure about macros) don't propagate into the parent scope, unless one uses the PARENT_SCOPE option or adds the variable
to the cache which makes it global.


That makes perfect sense and works as I would expect. However, I'm seeing the behavior you state should not happen. That is, the macros defined in the
child directory are somehow propagating up to the parent.

Sorry, must have missed the bar/baz difference... Well, I figure it also makes some sense that macros and functions are global. Otherwise one would have very confusing things going on, like a macro by the same name doing completely unrelated things in different directories.

Michael
_______________________________________________
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

Reply via email to