Help: Clarify effect of set(ENV{..} ..) and unset(ENV{..})

Explain that the commands affect 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.
This commit is contained in:
Joachim Wuttke (h)
2018-10-27 15:08:43 +02:00
parent 17e98e00c4
commit 3de551cc22
2 changed files with 20 additions and 5 deletions

View File

@@ -88,4 +88,10 @@ Set Environment Variable
set(ENV{<variable>} <value>...)
Sets the current process environment ``<variable>`` to the given value.
Sets an :manual:`Environment Variable <cmake-env-variables(7)>`
to the given value.
Subsequent calls of ``$ENV{<variable>}`` will return this new value.
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.

View File

@@ -3,6 +3,9 @@ unset
Unset a variable, cache variable, or environment variable.
Unset Normal Variable or Cache Entry
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. code-block:: cmake
unset(<variable> [CACHE | PARENT_SCOPE])
@@ -22,11 +25,17 @@ 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.
``<variable>`` can be an environment variable such as:
Unset Environment Variable
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. code-block:: cmake
unset(ENV{LD_LIBRARY_PATH})
unset(ENV{<variable>})
in which case the variable will be removed from the current
environment.
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.