[CMake] unset() command

Philip Lowman philip at yhbt.com
Wed Aug 20 18:07:40 EDT 2008


On Wed, Aug 20, 2008 at 10:54 AM, Brad King <brad.king at kitware.com> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20080820/8f080d7d/attachment-0001.htm>


More information about the CMake mailing list