diff --git a/Help/command/set.rst b/Help/command/set.rst index 9f2bf72fb..d04b88004 100644 --- a/Help/command/set.rst +++ b/Help/command/set.rst @@ -70,6 +70,15 @@ Furthermore, any normal variable binding in the current scope will be removed to expose the newly cached value to any immediately following evaluation. +It is possible for the cache entry to exist prior to the call but +have no type set if it was created on the :manual:`cmake(1)` command +line by a user through the ``-D=`` option without +specifying a type. In this case the ``set`` command will add the +type. Furthermore, if the ```` is ``PATH`` or ``FILEPATH`` +and the ```` provided on the command line is a relative path, +then the ``set`` command will treat the path as relative to the +current working directory and convert it to an absolute path. + Set Environment Variable ^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/Help/manual/OPTIONS_BUILD.txt b/Help/manual/OPTIONS_BUILD.txt index 363d0aaca..986b541cf 100644 --- a/Help/manual/OPTIONS_BUILD.txt +++ b/Help/manual/OPTIONS_BUILD.txt @@ -10,7 +10,7 @@ containing SET commands that use the CACHE option, not a cache-format file. -``-D :=`` +``-D :=, -D =`` Create a cmake cache entry. When cmake is first run in an empty build tree, it creates a @@ -19,6 +19,14 @@ takes priority over the project's default value. The option may be repeated for as many cache entries as desired. + If the ``:`` portion is given it must be one of the types + specified by the :command:`set` command documentation for its + ``CACHE`` signature. + If the ``:`` portion is omitted the entry will be created + with no type if it does not exist with a type already. If a + command in the project sets the type to ``PATH`` or ``FILEPATH`` + then the ```` will be converted to an absolute path. + ``-U `` Remove matching entries from CMake cache.