dub-generate - Man Page

Generates project files using the specified generator


dub generate <generator> [<package>[@<version-spec>]] Options...


Generates project files using one of the supported generators:

visuald - VisualD project files

sublimetext - SublimeText project file

cmake - CMake build scripts

build - Builds the package directly

An optional package name can be given to generate a different package than the root/CWD package.


-b,  --build=VALUE

Specifies the type of build to perform. Note that setting the DFLAGS environment variable will override the build type with custom flags. Possible names:
 debug, plain, release, release-debug, release-nobounds, unittest, profile, profile-gc, docs, ddox, cov, cov-ctfe, unittest-cov, unittest-cov-ctfe, syntax and custom types

-c,  --config=VALUE

Builds the specified configuration. Configurations can be defined in dub.json


Uses the specified configuration for a certain dependency. Can be specified multiple times. Format: --override-config=<dependency>/<config>


Specifies the compiler binary to use (can be a path). Arbitrary pre- and suffixes to the identifiers below are recognized (e.g. ldc2 or dmd-2.063) and matched to the proper compiler type:
 dmd, gdc, ldc, gdmd, ldmd

-a,  --arch=VALUE

Force a different architecture (e.g. x86 or x86_64)

-d,  --debug=VALUE

Define the specified debug version identifier when building - can be used multiple times


Do not resolve missing dependencies before building


Specifies the way the compiler and linker are invoked. Valid values:
 separate (default), allAtOnce, singleFile


Treats the package name as a filename. The file must contain a package recipe comment.


Deprecated option that does nothing.


[Experimental] Filter version identifiers and debug version identifiers to improve build cache efficiency.


Tries to build the whole project in a single compiler run.


Prints the list of available build types


Prints the list of available configurations


Prints the identifiers for the current build platform as used for the build fields in dub.json


Runs multiple compiler instances in parallel, if possible.

Exit Status


DUB succeeded


usage errors, unknown command line flags


package not found, package failed to load, miscellaneous error


dub.sdl, dub.json


Copyright (c) 1999-2023 by The D Language Foundation

Online Documentation


See Also


Referenced By


2023-03-23 The D Language Foundation