Spec-Zone.ru › CMake 3.17

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

Spec-Zone.ru

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