reggae.rules.d

High-level rules for compiling D files. For a D-only application with no dub dependencies, scriptlike should suffice. If the app depends on dub packages, consult the reggae.rules.dub module instead.

Members

Functions

dlangObjectFiles
Target[] dlangObjectFiles(string[] srcFiles, string flags, string[] importPaths, string[] stringImportPaths, Target[] implicits, string projDir)

Generate object file(s) for D sources. Depending on command-line options compiles all files together, per package, or per module.

dlangObjectFilesPerModule
Target[] dlangObjectFilesPerModule(string[] srcFiles, string flags, string[] importPaths, string[] stringImportPaths, Target[] implicits, string projDir)

Generate object files for D sources, compiling each module separately

dlangObjectFilesPerPackage
Target[] dlangObjectFilesPerPackage(string[] srcFiles, string flags, string[] importPaths, string[] stringImportPaths, Target[] implicits, string projDir)

Generate object files for D sources, compiling the whole package together.

dlangObjectFilesTogether
Target[] dlangObjectFilesTogether(string[] srcFiles, string flags, string[] importPaths, string[] stringImportPaths, Target[] implicits, string projDir)

Generate object files for D sources, compiling all of them together

dlangObjects
Target[] dlangObjects()
Undocumented in source. Be warned that the author may not have intended to support it.
dlangObjectsPerModule
Target[] dlangObjectsPerModule()
Undocumented in source. Be warned that the author may not have intended to support it.
dlangObjectsPerPackage
Target[] dlangObjectsPerPackage()
Undocumented in source. Be warned that the author may not have intended to support it.
scriptlike
Target scriptlike()

Currently only works for D. This convenience rule builds a D scriptlike, automatically calculating which files must be compiled in a similar way to rdmd. All paths are relative to projectPath. This template function is provided as a wrapper around the regular runtime version below so it can be aliased without trying to call it at runtime. Basically, it's a way to use the runtime scriptlike without having define a function in reggaefile.d, i.e.: alias myApp = scriptlike!(...); mixin build!(myApp); vs. Build myBuld() { return scriptlike(..); }

scriptlike
Target scriptlike(string projectPath, App app, Flags flags, ImportPaths importPaths, StringImportPaths stringImportPaths, Target[] linkWith)
Undocumented in source. Be warned that the author may not have intended to support it.

Meta