- При необходимости активируйте среду Python, содержащую исполняемый файл Conan.
- Запустить скрипт build_ninja.sh для Linux или build_v142_x64.cmd для Windows для создания и компиляции проекта Visual Studio 2019.
Опционально:
Проект содержит следующие типы зависимостей, которые могут обновляются:
- Зависимости Conan.
- Зависимости CMake FetchContent.
Проект содержит следующие модули в виде монорепозитория:
- CfgControl - библиотека парсинга.
- CfgTest - исполняемый файл примера.
- cmake - модули и помощники CMake.
- scripts - скрипты сборки и утилиты.
{
"params": [
{
"DefineAlias": "Capture",
"ParamType": "Parent",
"DescriptionShort": "Секция Capture",
"DescriptionFull": "Секция с параметрами захвата изображения",
"ParentParam": "",
"DefaultValue": "",
"MinValue": "",
"MaxValue": "",
"AllowedValues": [],
"IsForDevelopers": false,
"Ord": 1
},
{
"DefineAlias": "delay_ms",
"ParamType": "Integer",
"DescriptionShort": "Задержка, мс",
"DescriptionFull": "Задержка между фазой 1 и фазой 2 в миллисекундах",
"ParentParam": "Capture",
"DefaultValue": "100",
"MinValue": "0",
"MaxValue": null,
"AllowedValues": [],
"IsForDevelopers": false,
"Ord": 1
}
]
}
Пояснения:
- "DefineAlias" - название параметра как в конфиге;
- "ParamType" - тип значения параметра (см. ниже варианты);
- "DescriptionShort" - краткое описание параметра;
- "DescriptionFull" - полное описание параметра;
- "ParentParam" - полное имя параметра, являющегося родительским для данного.;
- "DefaultValue" - значение по-умолчанию для параметра;
- "MinValue" - минимальное допустимое значение параметра;
- "MaxValue" - максимальное допустимое значение параметра;
- "AllowedValues" - массив допустимых значений параметра (используется если не заданы MinValue/MaxValue);
- "IsForDevelopers" - является ли параметр доступным для редактирования только разработчикам;
- "Ord" - порядковый номер параметра внутри своей секции, для визуализации.
ParamType | Description |
---|---|
String | Строка |
Int | Целое |
Float | Дробное |
Bool | Булево |
Parent | Родительский |
Результатом работы библиотеки является сформированный итоговый файл или строка с данными конфигурации в формате JSON. Формат JSON-файла или строки совпадает со структурой meta-файла за исключением того, что в каждую секцию, описывающую параметр, добавляется параметр Value типа String.
Пример:
{
"params": [
{
"DefineAlias": "Capture",
"ParamType": "Parent",
"DescriptionShort": "Секция Capture",
"DescriptionFull": "Секция с параметрами захвата изображения",
"ParentParam": "",
"DefaultValue": "",
"MinValue": "",
"MaxValue": "",
"AllowedValues": [],
"IsForDevelopers": false,
"Ord": 1,
"Value": ""
},
{
"DefineAlias": "delay_ms",
"ParamType": "Integer",
"DescriptionShort": "Задержка, мс",
"DescriptionFull": "Задержка между фазой 1 и фазой 2 в миллисекундах",
"ParentParam": "Capture",
"DefaultValue": "100",
"MinValue": "0",
"MaxValue": null,
"AllowedValues": [],
"IsForDevelopers": false,
"Ord": 1,
"Value": "15"
}
]
}