On Wed, Aug 20, 2008 at 10:54 AM, Brad King <[EMAIL PROTECTED]> wrote:

> The "set" command already supports unsetting:
>
> set(FOO xyz)
> set(FOO) # unsets
> if(DEFINED FOO)
>  message("This message does not appear.")
> endif(DEFINED FOO)
>
> I think it should just be fixed for CACHE and ENV variables.


I knew that set() supported unsetting local variables but wasn't sure it
would be safe to extend it to CACHE and ENV variables as a bugfix.
Regardless of whether this is appropriate to do or not adding an unset()
command also seemed to make the language simpler to understand because:
   set(FOO)
as someone else pointed out, is somewhat confusing.  Without referencing the
documentation many programmers might think this defines a variable called
FOO and sets it to empty but what it really is doing is *undefining* the
variable FOO entirely if it exists.

-- 
Philip Lowman
_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to