Spec-Zone.ru › CMake 3.7

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)
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, значение CMAKE_INSTALL_<dir> предваряется usr/, если это не абсолютный путь, указанный пользователем. Например, значение INCLUDEDIR include становится usr/include. Это необходимо по Стандартам кодирования GNU, которые гласят:

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

/usr

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

/opt/...

Для <dir>, равного SYSCONFDIR или LOCALSTATEDIR, 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.7/module/GNUInstallDirs.html

Spec-Zone.ru

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