mirror of
https://github.com/Kitware/CMake.git
synced 2026-04-24 23:28:32 -05:00
35b1250b0a
When setting the installation prefix at the installation phase (`cmake --install`) using the `--prefix` option, the GNU special cases aren't applicable. This also adds a small clarification when to use the `--prefix` option at the installation phase. Briefly mentioned also the CMake presets installDir field, the CPACK_PACKAGING_INSTALL_PREFIX variable, and the $<INSTALL_PREFIX> generator expression so user has a better overview. Fixes #27343 Fixes #26338
66 lines
2.3 KiB
ReStructuredText
66 lines
2.3 KiB
ReStructuredText
CMAKE_INSTALL_PREFIX
|
|
--------------------
|
|
|
|
Install directory used by :command:`install`.
|
|
|
|
If ``make install`` is invoked or ``INSTALL`` is built, this directory is
|
|
prepended onto all install directories.
|
|
|
|
This variable defaults as follows:
|
|
|
|
* .. versionadded:: 3.29
|
|
|
|
If the :envvar:`CMAKE_INSTALL_PREFIX` environment variable is set,
|
|
its value is used as default for this variable.
|
|
|
|
* ``c:/Program Files/${PROJECT_NAME}`` on Windows.
|
|
|
|
* ``/usr/local`` on UNIX platforms.
|
|
|
|
See :variable:`CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT` for how a
|
|
project might choose its own default.
|
|
|
|
On UNIX one can use the ``DESTDIR`` mechanism in order to relocate the
|
|
whole installation to a staging area. See the :envvar:`DESTDIR` environment
|
|
variable for more information.
|
|
|
|
The installation prefix is also added to :variable:`CMAKE_SYSTEM_PREFIX_PATH`
|
|
so that :command:`find_package`, :command:`find_program`,
|
|
:command:`find_library`, :command:`find_path`, and :command:`find_file`
|
|
will search the prefix for other software. This behavior can be disabled by
|
|
setting the :variable:`CMAKE_FIND_NO_INSTALL_PREFIX` to ``TRUE`` before the
|
|
first :command:`project` invocation.
|
|
|
|
.. note::
|
|
|
|
Use the :module:`GNUInstallDirs` module to provide GNU-style
|
|
options for the layout of directories within the installation.
|
|
|
|
The ``CMAKE_INSTALL_PREFIX`` may be defined when configuring a build tree
|
|
to set its installation prefix. Or, when using the :manual:`cmake(1)`
|
|
command-line tool's :option:`--install <cmake --install>` mode, one may specify
|
|
a different prefix using the :option:`--prefix <cmake--install --prefix>`
|
|
option:
|
|
|
|
.. code-block:: shell
|
|
|
|
cmake --install . --prefix /my/install/prefix
|
|
|
|
.. note::
|
|
|
|
When the project is using the :module:`GNUInstallDirs` module, there are
|
|
some :ref:`special cases <GNUInstallDirs special cases>` that are
|
|
evaluated based on the value of the :variable:`CMAKE_INSTALL_PREFIX`
|
|
variable during the configuration phase. The results persist even
|
|
if an alternative :option:`--prefix <cmake--install --prefix>` option
|
|
is used during installation.
|
|
|
|
See Also
|
|
^^^^^^^^
|
|
|
|
* The :option:`--install-prefix <cmake --install-prefix>` option.
|
|
* The :genex:`$<INSTALL_PREFIX>` generator expression.
|
|
* The :ref:`installDir <CMakePresets installDir>` field in CMake configure
|
|
presets.
|
|
* The :variable:`CPACK_PACKAGING_INSTALL_PREFIX` variable.
|