# Проект dub.json Описание основных настроек на [официальном сайте](https://dub.pm/package-format-json). Структура файла `dub.json`: ```js { "name" : "app", "authors" : [ "Alexander Zhirov" ], "homepage" : "https://zhirov.website/", "license" : "GPL-2.0", "copyright" : "Copyright © 2021, alexander", "description" : "My program", "libs" : [ "stdc++" ], "preBuildCommands" : [ "g++ -c source/*.cpp", "mv *.o objcpp/" ], "sourceFiles" : [ "objcpp/foo.o" ] } ``` Описание полей: |Параметр|Тип|Описание| |--------|---|--------| |`name`|`string`|Имя пакета, используемое для уникальной идентификации пакета.| |`authors`|`string[]`|Список авторов проекта| |`homepage`|`string`|URL-адрес веб-сайта проекта| |`license`|`string`|Лицензия, под которой может использоваться проект| |`copyright`|`string`|Строка декларации авторских прав| |`description`|`string`|Краткое описание пакета| |`libs`|`string[]`|Список имен внешних библиотек - в зависимости от компилятора они будут преобразованы в соответствующий флаг компоновщика (например, `ssl` может быть переведен в `-L-lssl`)| |`preBuildCommands`|`string[]`|Список команд оболочки, выполняемых до создания пакета| |`sourceFiles`|`string[]`|Дополнительные файлы, передаваемые компилятору - может быть полезно добавить определенные зависимые от конфигурации исходные файлы, которые не содержатся в общей папке исходного кода| `source` - общая папка исходного кода: ```sh . ├── app ├── dub.json ├── dub.selections.json ├── objcpp │   └── foo.o └── source ├── app.d └── foo.cpp ```