Your remarks focus on old-fashioned macros so it is possible you are not aware of functions? As far as I know, most or all macros can be replaced by functions which do have the nice property of not polluting the global namespace. So newly developed build systems should use functions wherever possible, and certainly for old CMake-based build systems I am associated with I am trying to move to functions as time permits.
Here are some rough counts of functions and macros actually contained in 2.8.x: ir...@raven> grep -i function cmake-2.8/Modules/*.cmake |grep -v '#' |wc -l 263 ir...@raven> grep -i macro cmake-2.8/Modules/*.cmake |grep -v '#' |wc -l 337 Those numbers should be divided by roughly a factor of two (because of ENDFUNCTION and ENDMACRO) to get approximate counts of functions and macros. Clearly, the replacement of macros by functions is well on its way for 2.8.x, but the process is still far from completed. Once it is complete, however, the global namespace will be much less polluted. Another namespace remark is that subdirectory variables do not pollute the global namespace of their parent directories. So the global namespace pollution issue is not as bad as you have outlined and because of functions is steadily improving. Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); PLplot scientific plotting software package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ _______________________________________________ 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