README.md 2.3 KB

Premake Extension to support the D language

Features

  • Support actions: gmake, vs20xx (VisualD)
  • Support all compilers; DMD, LDC, GDC
  • Support combined and separate compilation

Usage

Simply add:

language "D"

to your project definition and populate with .d files.
C and C++ projects that include .d files will also support some of the API below. Any API tagged with (D/C/C++) works in D and C/C++ projects. Any API tagged with (C/C++) only works for .d files in C/C++ projects.

APIs

  • flags
    • AllInstantiate
    • CodeCoverage
    • Color
    • Documentation
    • GenerateHeader
    • GenerateJSON
    • GenerateMap
    • IgnorePragma
    • LowMem
    • Main
    • PerformSyntaxCheckOnly
    • Profile
    • ProfileGC
    • Quiet
    • RetainPaths
    • ShowCommandLine
    • ShowDependencies
    • ShowGC
    • ShowTLS
    • StackFrame
    • StackStomp
    • SymbolsLikeC
    • UnitTest
    • UseLDC
    • Verbose
  • boundscheck ("type") [Off, SafeOnly, On]
  • compilationmodel ("model") [ Project, Package, File ]
  • checkaction
  • computetargets
  • debugconstants
  • debuglevel
  • dependenciesfile ("filename")
  • deprecatedfeatures ("feature") [ Error, Info, Allow ]
  • docdir
  • docname
  • headerdir
  • headername
  • importdirs { "paths" }
  • inlining
  • jsonfile ("filename")
  • importdirs
  • optimize
  • preview
  • revert
  • runtime ("type") [ Debug, Release ]
  • staticruntime ("state") [ on, off ]
  • stringimportdirs { "paths" }
  • transition
  • versionconstants
  • versionlevel

Example

The contents of your premake5.lua file would be:

solution "MySolution"
    configurations { "release", "debug" }

    project "MyDProject"
        kind "ConsoleApp"
        language "D"
        files { "src/main.d", "src/extra.d" }