Spec-Zone.ru › CMake 3.13

GNUInstallDirs

Определение стандартных каталогов установки GNU

Предоставляет переменные каталогов установки, как определено в стандартах программирования GNU.

Переменные результатов

Включение этого модуля определяет следующие переменные:

CMAKE_INSTALL_<dir>

Путь назначения для файлов данного типа. Это значение может быть передано в параметры DESTINATION команд install() для соответствующего типа файлов.

CMAKE_INSTALL_FULL_<dir>

Абсолютный путь, сгенерированный из соответствующего значения CMAKE_INSTALL_<dir>. Если значение не является абсолютным путем, абсолютный путь обычно строится путем добавления значения переменной CMAKE_INSTALL_PREFIX в качестве префикса. Однако существуют некоторые исключительные случаи, как документировано ниже.

где <dir> — одно из:

BINDIR
пользовательские исполняемые файлы (bin)
SBINDIR
исполняемые файлы системного администратора (sbin)
LIBEXECDIR
исполняемые файлы программы (libexec)
SYSCONFDIR
только для чтения данные для одной машины (etc)
SHAREDSTATEDIR
изменяемые данные, независимые от архитектуры (com)
LOCALSTATEDIR
изменяемые данные для одной машины (var)
RUNSTATEDIR
данные переменных во время выполнения (LOCALSTATEDIR/run)
LIBDIR
библиотеки объектного кода (lib или lib64 или lib/<multiarch-tuple> в Debian)
INCLUDEDIR
заголовочные файлы C (include)
OLDINCLUDEDIR
заголовочные файлы C для не-gcc (/usr/include)
DATAROOTDIR
корень данных, только для чтения, независимых от архитектуры (share)
DATADIR
данные, только для чтения, независимые от архитектуры (DATAROOTDIR)
INFODIR
документация info (DATAROOTDIR/info)
LOCALEDIR
данные, зависящие от локали (DATAROOTDIR/locale)
MANDIR
документация man (DATAROOTDIR/man)
DOCDIR
корень документации (DATAROOTDIR/doc/PROJECT_NAME)

Если включитель не определяет значение, будет использоваться показанное выше значение по умолчанию, и значение появится в кэше для редактирования пользователем.

Исключительные случаи

Следующие значения переменной CMAKE_INSTALL_PREFIX являются исключительными:

/

Для <dir> отличного от SYSCONFDIR, LOCALSTATEDIR и RUNSTATEDIR, значение CMAKE_INSTALL_<dir> предваряется usr/, если это не явно указанный абсолютный путь. Например, значение INCLUDEDIR include становится usr/include. Это необходимо для стандартов программирования GNU, которые указывают:

При сборке всей системы GNU префикс будет пустым, а /usr будет символической ссылкой на /.

/usr

Для <dir> равного SYSCONFDIR, LOCALSTATEDIR или RUNSTATEDIR, CMAKE_INSTALL_FULL_<dir> вычисляется путем добавления просто / к значению CMAKE_INSTALL_<dir>, если это не явно указанный абсолютный путь. Например, значение SYSCONFDIR etc становится /etc. Это необходимо для стандартов программирования GNU.

/opt/...

Для <dir> равного SYSCONFDIR, LOCALSTATEDIR или RUNSTATEDIR, CMAKE_INSTALL_FULL_<dir> вычисляется путем добавления префикса к значению CMAKE_INSTALL_<dir>, если это не явно указанный абсолютный путь. Например, значение SYSCONFDIR etc становится /etc/opt/.... Это определено стандартом иерархии файловой системы.

Макросы

GNUInstallDirs_get_absolute_install_dir
GNUInstallDirs_get_absolute_install_dir(absvar var)

Устанавливает указанную переменную absvar в абсолютный путь, содержащийся в переменной var. Это позволяет вычислить абсолютный путь, учитывая все исключительные случаи, описанные выше. Хотя этот макрос используется для вычисления различных переменных CMAKE_INSTALL_FULL_<dir>, он предоставляется для публичного использования, чтобы пользователи, создающие дополнительные переменные путей, также могли вычислять абсолютные пути при необходимости, используя ту же логику.

© 2000–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.13/module/GNUInstallDirs.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API