Skip to content

conan 2.x ready-made wrapper templates and examples for lib, project, conan-server

License

Notifications You must be signed in to change notification settings

Dimitrius-dev/conan-2-wrapper-templates

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Conan templates


Проект-справка для наглядного использования пакетного менеджера Conan 2.0 в c/c++ проектах.


Официальная справка: https://docs.conan.io/2/


Описание

Данный проект-справка создан для ускоренной интеграции conan в C++ проекты с помощью готовых шаблонов.
В общих чертах данный пакетный менеджер имеет схожести по функционалу на пакетным менеджером Maven для языка Java.

Структура проекта


+
|
+--conan-server---+-- conan-serv-1
|                 |
|                 +-- ...
|
+----presets------+-- preset-1
|                 |
|                 +-- ...
|
+-----tools-------+-- tool-1
                  |
                  +-- ...

conan-server - шаблоны для установки conan сервера
presets - примеры использование шаблонов
tools - шаблоны

Настройка conan


Для установки всех компонентов на устройстве должен быть pip

Установка conan

pip install conan

Установка используемых настроек для conan для вашей команды разработки

conan config install [custom_conan_settings_zip_url]

Пример: conan config install http://домен_ресурса/conan_settings.zip

Ссылка custom_conan_settings_url ведет на zip архив. Этот архив содержит в себе файлы настроек:

  • remotes.json - список удаленных репозиториев
  • settings_user.yml - добавка к файлу settings.yml разрешенных значений настроек для профилей

Все строится на репозиториях с пакетами. Каждый пакет - библиотека. Репозитории бывают двух типов:

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

Иерархия данных

+--+-библиотека example 0.0.1 (версия библиотеки)
|  |
|  +--+-ревизия #1 (ревизия библиотеки)
|  |  |
|  |  +--пакет #1 (сборка библиотеки)
|  |  +--пакет #2 (сборка библиотеки)
|  |
|  +--+-ревизия #2 . . .
|     | . . .
|
+--+-библиотека example 0.0.2 (версия библиотеки)
   | . . .

Сначала требуется создать profile - файл профиль, который будет определять характеристики нашей системы для сборки и использования пакетов.
Профиль определяет пользователь, его содержимое никак не проверяется на соответствие реальной системы.

Автоматически создать профиль

conan profile detect --force

Получить путь к профилю default

conan profile path default

Готовые шаблоны для использования


Примеры использования шаблонов