unset ----- Unset a variable, cache variable, or environment variable. :: unset( [CACHE | PARENT_SCOPE]) Removes a normal variable from the current scope, causing it to become undefined. If ``CACHE`` is present, then a cache variable is removed instead of a normal variable. Note that when evaluating :ref:`Variable References` of the form ``${VAR}``, CMake first searches for a normal variable with that name. If no such normal variable exists, CMake will then search for a cache entry with that name. Because of this unsetting a normal variable can expose a cache variable that was previously hidden. To force a variable reference of the form ``${VAR}`` to return an empty string, use ``set( "")``, which clears the normal variable but leaves it defined. If ``PARENT_SCOPE`` is present then the variable is removed from the scope above the current scope. See the same option in the :command:`set` command for further details. ```` can be an environment variable such as: :: unset(ENV{LD_LIBRARY_PATH}) in which case the variable will be removed from the current environment.