Spec-Zone.ru › CMake 3.15

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–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.15/module/GNUInstallDirs.html

Spec-Zone.ru

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