Spec-Zone.ru › CMake 3.12

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.12/module/GNUInstallDirs.html

Spec-Zone.ru

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