configurations/programming/d/dub.md

2.2 KiB

Проект dub.json

Описание основных настроек на официальном сайте.

Структура файла dub.json:

{
  "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 - общая папка исходного кода:

.
├── app
├── dub.json
├── dub.selections.json
├── objcpp
│   └── foo.o
└── source
    ├── app.d
    └── foo.cpp