| unset |
| ----- |
| |
| Unset a variable, cache variable, or environment variable. |
| |
| Unset Normal Variable or Cache Entry |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| .. code-block:: cmake |
| |
| unset(<variable> [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(<variable> "")``, 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. |
| |
| Unset Environment Variable |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| .. code-block:: cmake |
| |
| unset(ENV{<variable>}) |
| |
| Removes ``<variable>`` from the currently available |
| :manual:`Environment Variables <cmake-env-variables(7)>`. |
| Subsequent calls of ``$ENV{<variable>}`` will return the empty string. |
| |
| This command affects only the current CMake process, not the process |
| from which CMake was called, nor the system environment at large, |
| nor the environment of subsequent build or test processes. |