.TH DUB-BUILD 1 "2024-07-07" "The D Language Foundation" "The D Language Foundation" .SH NAME dub-build \- Builds a package (uses the main package in the current working directory by default) .SH SYNOPSIS \fBdub build \fR[<\fIpackage\fR>[@<\fIversion-spec\fR>]] \fIOPTIONS\&.\&.\&.\fR .SH DESCRIPTION Builds a package (uses the main package in the current working directory by default) .SH OPTIONS .PP \fB\-\-temp\-build\fR .RS 4 Builds the project in the temp folder if possible. .RE .PP \fB\-\-rdmd\fR .RS 4 Use rdmd instead of directly invoking the compiler .RE .PP \fB\-f\fR, \fB\-\-force\fR .RS 4 Forces a recompilation even if the target is up to date .RE .PP \fB\-y\fR, \fB\-\-yes\fR .RS 4 Automatic yes to prompts. Assume "yes" as answer to all interactive prompts. .RE .PP \fB\-n\fR, \fB\-\-non\-interactive\fR .RS 4 Don't enter interactive mode. .RE .PP \fB\-d\fR, \fB\-\-deep\fR .RS 4 Build all dependencies, even when main target is a static library. .RE .PP \fB\-b\fR, \fB\-\-build\fR=\fIVALUE\fR .RS 4 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 .RE .PP \fB\-c\fR, \fB\-\-config\fR=\fIVALUE\fR .RS 4 Builds the specified configuration. Configurations can be defined in dub.json .RE .PP \fB\-\-override\-config\fR=\fIVALUE\fR .RS 4 Uses the specified configuration for a certain dependency. Can be specified multiple times. Format: --override-config=/ .RE .PP \fB\-\-compiler\fR=\fIVALUE\fR .RS 4 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 .RE .PP \fB\-a\fR, \fB\-\-arch\fR=\fIVALUE\fR .RS 4 Force a different architecture (e.g. x86 or x86_64) .RE .PP \fB\-d\fR, \fB\-\-debug\fR=\fIVALUE\fR .RS 4 Define the specified `debug` version identifier when building - can be used multiple times .RE .PP \fB\-\-d\-version\fR=\fIVALUE\fR .RS 4 Define the specified `version` identifier when building - can be used multiple times. Use sparingly, with great power comes great responsibility! For commonly used or combined versions and versions that dependees should be able to use, create configurations in your package. .RE .PP \fB\-\-nodeps\fR .RS 4 Do not resolve missing dependencies before building .RE .PP \fB\-\-build\-mode\fR=\fIVALUE\fR .RS 4 Specifies the way the compiler and linker are invoked. Valid values: separate (default), allAtOnce, singleFile .RE .PP \fB\-\-single\fR .RS 4 Treats the package name as a filename. The file must contain a package recipe comment. .RE .PP \fB\-\-force\-remove\fR .RS 4 Deprecated option that does nothing. .RE .PP \fB\-\-filter\-versions\fR .RS 4 [Experimental] Filter version identifiers and debug version identifiers to improve build cache efficiency. .RE .PP \fB\-\-combined\fR .RS 4 Tries to build the whole project in a single compiler run. .RE .PP \fB\-\-print\-builds\fR .RS 4 Prints the list of available build types .RE .PP \fB\-\-print\-configs\fR .RS 4 Prints the list of available configurations .RE .PP \fB\-\-print\-platform\fR .RS 4 Prints the identifiers for the current build platform as used for the build fields in dub.json .RE .PP \fB\-\-parallel\fR .RS 4 Runs multiple compiler instances in parallel, if possible. .RE .SS COMMON OPTIONS See \fBdub\fR(1) .SH EXIT STATUS .TP .BR 0 DUB succeeded .TP .BR 1 usage errors, unknown command line flags .TP .BR 2 package not found, package failed to load, miscellaneous error .SH FILES \fIdub\&.sdl\fR, \fIdub\&.json\fR .SH AUTHOR Copyright (c) 1999-2024 by The D Language Foundation .SH ONLINE DOCUMENTATION .URhttp://code.dlang.org/docs/commandline http://code.dlang.org/docs/commandline .UE .SH SEE ALSO \fBdub\fR(1), \fBdub-run\fR(1), \fBdub-test\fR(1), \fBrdmd\fR(1)