reggae.build

This module contains the core data definitions that allow a build to be expressed in. Build is a container struct for top-level targets, Target is the heart of the system.

Members

Aliases

CommandDelegate
alias CommandDelegate = void delegate(in string[], in string[])
Undocumented in source.
CommandFunction
alias CommandFunction = void function(in string[], in string[])
Undocumented in source.
build
alias build = buildImpl
Undocumented in source.

Enums

CommandType
enum CommandType
Undocumented in source.
isTarget
eponymoustemplate isTarget(alias T)
Undocumented in source.

Functions

createTopLevelTarget
Build.TopLevelTarget createTopLevelTarget(Target target, bool optional)
Undocumented in source. Be warned that the author may not have intended to support it.
expandOutput
string expandOutput(string path, string projectPath, string basePath)
Undocumented in source. Be warned that the author may not have intended to support it.
inTopLevelObjDirOf
Target inTopLevelObjDirOf(Target target, string objDir, Flag!"topLevel" isTopLevel)
Undocumented in source. Be warned that the author may not have intended to support it.
objDirOf
string objDirOf(Target target)
Undocumented in source. Be warned that the author may not have intended to support it.
optional
Build.TopLevelTarget optional()

Designate a target as optional so it won't be built by default. "Compile-time" version that can be aliased

optional
Build.TopLevelTarget optional(Target target)

Designate a target as optional so it won't be built by default.

replaceConcreteCompilersWithVars
string replaceConcreteCompilersWithVars(string cmd, Options options)
Undocumented in source. Be warned that the author may not have intended to support it.

Mixin templates

build
mixintemplate build(targets...)
Undocumented in source.
buildImpl
mixintemplate buildImpl(targets...)
Undocumented in source.

Structs

Build
struct Build

Contains the top-level targets.

Command
struct Command

A command to be execute to produce a targets outputs from its inputs. In general this will be a shell command, but the high-level rules use commands with known semantics (compilation, linking, etc)

Target
struct Target

The core of reggae's D-based DSL for describing build systems. Targets contain outputs, a command to generate those outputs, explicit dependencies and implicit dependencies. All dependencies are themselves Target structs.

Templates

isBuildFunction
template isBuildFunction(alias T)
Undocumented in source.

Variables

gBuilddir
auto gBuilddir;
Undocumented in source.
gProjdir
auto gProjdir;
Undocumented in source.

Meta