Использование библиотек из Conan
В этой статье объясняется, как подключить собранные библиотеки из Conan к своему проекту в ОС Аврора.
Сonan предоставляет собранные библиотеки для ускорения сборки примеров и демонстрационных приложений, а также для облегчения разработки с использованием библиотек, которые расширяют функционал ОС Аврора.
Перед прочтением данного материала рекомендуется прочитать ознакомительную статью о Conan.
- Добавление собственных библиотек на сервер Conan
- Использование предварительно собранных библиотек на сервере Conan
- Сборка библиотек с помощью скриптов для сборки
Добавление собственных библиотек на сервер Conan
Разработчикам доступно добавление собственной библиотеки на сервер Сonan. Для этого необходимо добавить рецепт для её сборки в данный репозиторий. Слияние будет выполнено после ревью данного запроса.
Для создания аналогичных артефактов, если это требуется для сертификации, для разработчиков опубликованы скрипты сборки библиотек на gitlab. Полный список имеющихся библиотек и скриптов для их сборки доступен в репозитории.
В данных инструкциях можно ознакомиться с процессом создания и публикации conan-пакетов для упомянутого репозитория.
Примечание. При разработке нужно учитывать, что Conan работает с cmake и не работает с qmake.
Использование предварительно собранных библиотек на сервере Conan
Помимо добавления собственных библиотек на сервер Сonan, можно использовать заранее собранные и размещённые библиотеки.
На сервере Conan библиотеки заранее собраны и размещены под
различные версии ОС Аврора 4 и ОC Аврора 5.
Для данных версий представлены архитектуры armv7hl
, aarch64
и x84_64
.
На сервере можно:
- искать нужные библиотеки (
ffmpeg
,protobuf
,openssl
и др.); - проверять версии и совместимость;
- скачивать пакеты для локальной разработки.
Библиотеки из сервера Conan можно использовать в проекте с
помощью данного conanfile.py
, взятого в качестве примера из проекта MapTemplate:
from conan import ConanFile
class Application(ConanFile):
settings = "os", "compiler", "arch", "build_type"
generators = "PkgConfigDeps"
requires = (
"mfw-offline-routing/1.0.6@aurora",
"mfw-offline-geocoding/0.6.1@aurora",
"mfw-map/0.6.1@aurora",
)
Сборка библиотек с помощью скриптов для сборки
Данная инструкция объясняет, как собирать библиотеки Conan:
- с помощью Аврора Platform SDK;
- с помощью Аврора SDK.
Перед использованием библиотек необходима их предварительная сборка. Она необходима, так как изначально библиотеки поставляются в формате рецептов — каталогов, содержащих исходные данные, необходимые для сборки библиотеки. В результате сборки создаются conan-пакеты, внутри которых и располагаются собранные библиотеки.
Перед сборкой библиотек из репозитория должен быть установлен Conan по инструкции.
Аврора Platform SDK
-
Запустить виртуальное окружение через утилиту
sdk-chroot
:{path_to_platformSDK}/sdks/aurora_psdk/sdk-chroot
-
Скачать архивом репозиторий AuroraConan. Распаковать его, а затем запустить скрипт сборки рецепта из данного репозитория с помощью команды:
./tools/build-package recepies/{имя рецепта} {версия пакета}
Например:
./tools/build-package recepies/ffmpeg/ 6.0.1
Аврора SDK
Существует два варианта сборки рецепта с помощью Аврора SDK:
- без использования sfdk;
- с использованием инструмента sfdk.
Сборка без использования sfdk
-
Запустить виртуальную машину или Docker-контейнер с Build Engine вручную или через SDK.
-
Скачать архивом репозиторий AuroraConan. Скопировать архив
AuroraConan
в Build Engine:scp -P 2222 -i {путь к Аврора SDK}/vmshare/ssh/private_keys/sdk AuroraConan-main.tar.gz mersdk@localhost:~/
-
Зайти в Build Engine после запуска через SDK или Virtualbox:
ssh -p 2222 -i {путь к Аврора SDK}/vmshare/ssh/private_keys/sdk mersdk@localhost
-
Перейти в директорию с архивом
AuroraConan
и распаковать его:tar -xvf AuroraConan-main.tar.gz
-
Зайти в распакованный архив и запустить скрипт сборки рецепта с помощью команды:
./tools/build-package recepies/{имя рецепта} {версия пакета}
Например:
./tools/build-package recepies/ffmpeg 6.0.1
Сборка с использованием sfdk
-
Запустить виртуальную машину или Docker-контейнер с Build Engine вручную или через SDK.
-
Скачать архивом репозиторий AuroraConan. Скопировать архив
AuroraConan
в Build Engine:scp -P 2222 -i {путь к Аврора SDK}/vmshare/ssh/private_keys/sdk AuroraConan-main.tar.gz mersdk@localhost:~/
-
Перейти в рабочую область Аврора SDK (директория с проектами).
-
Активировать Build Engine через sfdk:
{путь к Аврора SDK}/bin/sfdk engine exec
-
Перейти в директорию с архивом
AuroraConan
и распаковать его:tar -xvf AuroraConan-main.tar.gz
-
Зайти в распакованный архив и запустить скрипт сборки рецепта с помощью команды:
./tools/build-package recepies/{имя рецепта} {версия пакета}
Например:
./tools/build-package recepies/ffmpeg 6.0.1