Официальная справка: 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
- шаблоны
Для установки всех компонентов на устройстве должен быть pip
pip install 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 разрешенных значений настроек для профилей
Все строится на репозиториях с пакетами. Каждый пакет - библиотека. Репозитории бывают двух типов:
- Локальные (клиентский - local cache)
- Удаленные (официальный - conancenter, свой - custom_server(https://docs.conan.io/2/reference/config_files/remotes.html) )
Локальный репозиторий существует на любом устройстве, которое создает и использует пакеты.
Удаленные репозитории лишь хранят множество пакетов, которые можно получить на локальные.
+--+-библиотека example 0.0.1 (версия библиотеки)
| |
| +--+-ревизия #1 (ревизия библиотеки)
| | |
| | +--пакет #1 (сборка библиотеки)
| | +--пакет #2 (сборка библиотеки)
| |
| +--+-ревизия #2 . . .
| | . . .
|
+--+-библиотека example 0.0.2 (версия библиотеки)
| . . .
Сначала требуется создать profile
- файл профиль, который будет определять
характеристики нашей системы для сборки и использования пакетов.
Профиль определяет пользователь, его содержимое никак не проверяется на соответствие реальной системы.
Автоматически создать профиль
conan profile detect --force
Получить путь к профилю default
conan profile path default
- Conan
- Conan server
- Дополнительные шаблоны