56 lines
2.2 KiB
Markdown
56 lines
2.2 KiB
Markdown
|
# Проект 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
|
||
|
```
|