Spec-Zone.ru › CMake 3.10

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

Spec-Zone.ru

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