Spec-Zone.ru › CMake 3.20

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

Добавлено в версии 3.9: Переменные данных во время выполнения (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)

Если включающий модуль не определяет значение, будет использоваться показанное выше значение по умолчанию, и значение будет отображаться в кэше для редактирования пользователем.

Особые случаи

Добавлено в версии 3.4.

Следующие значения CMAKE_INSTALL_PREFIX являются специальными:

/

Для значений <dir> помимо SYSCONFDIR, LOCALSTATEDIR и RUNSTATEDIR, значение CMAKE_INSTALL_<dir> предваряется usr/, если это не пользовательский абсолютный путь. Например, значение INCLUDEDIR include становится usr/include. Это требуется стандартами кодирования GNU, в которых указано:

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

/usr

Для значений <dir> равных SYSCONFDIR, 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 dirname)

Добавлено в версии 3.7.

Установить заданную переменную absvar в абсолютный путь, содержащийся в переменной var. Это позволяет вычислить абсолютный путь, учитывая все особые случаи, описанные выше. Хотя этот макрос используется для вычисления различных переменных CMAKE_INSTALL_FULL_<dir>, он публично доступен, чтобы пользователи, создающие дополнительные переменные пути, могли также вычислять абсолютные пути при необходимости, используя ту же логику. dirname — имя каталога для получения, например, BINDIR.

Изменено в версии 3.20: Добавлен параметр <dirname> . Предыдущие версии CMake передавали это значение через переменную ${dir}.

© 2000–2021 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.20/module/GNUInstallDirs.html

Spec-Zone.ru

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