Spec-Zone.ru › CMake 3.22

GNUInstallDirs

Определение стандартных каталогов установки GNU

Предоставляет переменные каталогов установки, как определено в стандартах программирования GNU.

Переменные результата

Включение этого модуля определяет следующие переменные:

CMAKE_INSTALL_<dir>

Назначение для файлов заданного типа. Это значение может быть передано в опции DESTINATION команд install() для соответствующего типа файла. Обычно это путь, относящийся к префиксу установки, для того чтобы его можно было преобразовать в абсолютный путь переносимым способом (см. CMAKE_INSTALL_FULL_<dir>). Однако допускается и абсолютный путь.

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

Spec-Zone.ru

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