update
This commit is contained in:
parent
79193d4152
commit
cc81e6ac8c
@ -368,22 +368,45 @@ make uninstall
|
|||||||
Необходимые переменные устанавливаются в файле `cmake/etc/Variables.cmake`
|
Необходимые переменные устанавливаются в файле `cmake/etc/Variables.cmake`
|
||||||
<<variables-cmake,см. выше>>.
|
<<variables-cmake,см. выше>>.
|
||||||
|
|
||||||
Устанавливаемые файлы делятся на две группы `MAIN` и `DEV` с помощью
|
Библиотека CMLib предоставляет возможность стандартного разбиения
|
||||||
параметра `COMPONENT` функции `install`. В группу `MAIN` необходимо
|
на пакеты в соответствии с критериями, приведёнными в таблице.
|
||||||
помещать файлы для установки на целевую систему (исполняемые файлы,
|
|
||||||
файлы настроек, файлы данных, разделяемые библиотеки), а в группу `DEV` ---
|
|
||||||
для установки на систему для разработки (заголовочные файлы, статические
|
|
||||||
библиотеки).
|
|
||||||
|
|
||||||
По умолчанию цель для упаковки исходных текстов называется `package_source`.
|
.Критерии разбиения на пакеты
|
||||||
Бинарные пакеты создаются программой `cpack`. Пример:
|
[cols="2m,4m,6",options="header"]
|
||||||
|
|===
|
||||||
|
| Компонент | Имя пакета | Назначение
|
||||||
|
| main | proj | Основные файла проекта (исполняемые файлы, файлы данных, настроек, ресурсов)
|
||||||
|
| base-dev | libproj-base-dev | Заголовочные файлы, дополнительные файлы необходимые для разработки
|
||||||
|
| libs-dev | libproj-dev | Статические библиотеки
|
||||||
|
| doc | proj-dev | Документация
|
||||||
|
|===
|
||||||
|
|
||||||
|
Принадлежность устанавливаемого файла к компоненту определяется с помощью
|
||||||
|
параметра `COMPONENT` функции `install`. В компонент `main` необходимо
|
||||||
|
помещать файлы для установки на целевую систему (исполняемые файлы,
|
||||||
|
файлы настроек, файлы данных, разделяемые библиотеки), в группы `base-dev`
|
||||||
|
и `base-libs` --- для установки на систему для разработки (заголовочные
|
||||||
|
файлы, статические библиотеки).
|
||||||
|
|
||||||
|
По умолчанию цель для упаковки исходных текстов называется `package_source`,
|
||||||
|
цель для создания общего архива скомпилированного проекта --- `package`,
|
||||||
|
цель для создания пакетов в формате Debian --- `deb`.
|
||||||
|
|
||||||
|
Для примера работы с архивированием можно сделать копию репозитория
|
||||||
|
библиотеки https://git.246060.ru/f1x1t/myxlib[MyXLib]:
|
||||||
|
|
||||||
[source,sh]
|
[source,sh]
|
||||||
----
|
----
|
||||||
|
git clone --recursive https://git.246060.ru/f1x1t/myxlib
|
||||||
|
----
|
||||||
|
|
||||||
|
Дальнейшие шаги:
|
||||||
|
|
||||||
|
[source,sh,linenums]
|
||||||
|
----
|
||||||
|
cd myxlib
|
||||||
|
mkdir -p _build/debug
|
||||||
cd _build/debug
|
cd _build/debug
|
||||||
make
|
|
||||||
make package_source
|
|
||||||
cpack
|
|
||||||
----
|
----
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user