Help: Fix inaccuracies in INSTALL_REMOVE_ENVIRONMENT_RPATH docs

The previous docs assumed one had to set INSTALL_RPATH for
this target property to have an effect, but the actual condition is
only that the install rpath is different to the build rpath. Even if
the install rpath is empty, it is possible that CMake will rewrite
the rpath during install because the build rpath could be
non-empty.
This commit is contained in:
Craig Scott 2019-11-04 17:02:57 +11:00
parent ac8de0dbcf
commit dd05ef429a
2 changed files with 17 additions and 11 deletions

View File

@ -1,10 +1,16 @@
INSTALL_REMOVE_ENVIRONMENT_RPATH
--------------------------------
Removes compiler defined rpaths durimg installation.
Controls whether toolchain-defined rpaths should be removed during installation.
``INSTALL_REMOVE_ENVIRONMENT_RPATH`` is a boolean that if set to ``True`` will
remove compiler defined rpaths from the project if the user also defines rpath
with :prop_tgt:`INSTALL_RPATH`. This property is initialized by whether the
value of :variable:`CMAKE_INSTALL_REMOVE_ENVIRONMENT_RPATH` is set when a
target is created.
When a target is being installed, CMake may need to rewrite its rpath
information. This occurs when the install rpath (as specified by the
:prop_tgt:`INSTALL_RPATH` target property) has different contents to the rpath
that the target was built with. Some toolchains insert their own rpath
contents into the binary as part of the build. By default, CMake will
preserve those extra inserted contents in the install rpath. For those
scenarios where such toolchain-inserted entries need to be discarded during
install, set the ``INSTALL_REMOVE_ENVIRONMENT_RPATH`` target property to true.
This property is initialized by the value of
:variable:`CMAKE_INSTALL_REMOVE_ENVIRONMENT_RPATH` when the target is created.

View File

@ -1,9 +1,9 @@
CMAKE_INSTALL_REMOVE_ENVIRONMENT_RPATH
--------------------------------------
Removes compiler defined rpaths durimg installation.
Sets the default for whether toolchain-defined rpaths should be removed during
installation.
``CMAKE_INSTALL_REMOVE_ENVIRONMENT_RPATH`` is a boolean that if set to ``true``
removes compiler defined rpaths from the project if the user also defines rpath
with :prop_tgt:`INSTALL_RPATH`. This is used to initialize the target property
:prop_tgt:`INSTALL_REMOVE_ENVIRONMENT_RPATH` for all targets.
``CMAKE_INSTALL_REMOVE_ENVIRONMENT_RPATH`` is a boolean that provides the
default value for the :prop_tgt:`INSTALL_REMOVE_ENVIRONMENT_RPATH` property
of all subsequently created targets.