Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dimitrius-dev/conan-2-wrapper-templates
conan 2.x ready-made wrapper templates and examples for lib, project, conan-server
https://github.com/dimitrius-dev/conan-2-wrapper-templates
build cmake conan conan-exec conan-lib conan-packages conan-recipe conan-server conan2 conanfile cpp docker docker-compose docker-container docker-image dockerfile dockerhub lib
Last synced: 29 days ago
JSON representation
conan 2.x ready-made wrapper templates and examples for lib, project, conan-server
- Host: GitHub
- URL: https://github.com/dimitrius-dev/conan-2-wrapper-templates
- Owner: Dimitrius-dev
- License: mit
- Created: 2024-01-20T00:09:46.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-05-14T23:07:21.000Z (6 months ago)
- Last Synced: 2024-09-26T06:41:40.030Z (about 1 month ago)
- Topics: build, cmake, conan, conan-exec, conan-lib, conan-packages, conan-recipe, conan-server, conan2, conanfile, cpp, docker, docker-compose, docker-container, docker-image, dockerfile, dockerhub, lib
- Language: CMake
- Homepage:
- Size: 102 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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 разрешенных значений настроек для профилейВсе строится на репозиториях с пакетами. Каждый пакет - библиотека.
Репозитории бывают двух типов:
+ Локальные (клиентский - 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__
+ [Создание своей библиотеки](./tools/conan_lib_preset/doc/README_RUS.md)
+ [Использование своей библиотеки](./tools/conan_exec_preset/doc/README_RUS.md)
+ __Conan server__
+ [Сервер библиотек](./conan-server/doc/README_RUS.md)
+ __Дополнительные шаблоны__
+ [Использование локальных ресурсов для проекта](./tools/resources/doc/README_RUS.md)
### Примеры использования шаблонов
___
+ __Conan__
+ [Создание своей библиотеки](presets/build-lib-project/doc/README_RUS.md)
+ [Использование своей библиотеки](presets/build-executable-project/doc/README_RUS.md)