Spec-Zone.ru › CMake 3.21

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

Spec-Zone.ru

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