1
0
Jef 20d28e80a5 Initial community commit 11 сар өмнө
..
actions 20d28e80a5 Initial community commit 11 сар өмнө
tests 20d28e80a5 Initial community commit 11 сар өмнө
tools 20d28e80a5 Initial community commit 11 сар өмнө
LICENSE.txt 20d28e80a5 Initial community commit 11 сар өмнө
README.md 20d28e80a5 Initial community commit 11 сар өмнө
_manifest.lua 20d28e80a5 Initial community commit 11 сар өмнө
_preload.lua 20d28e80a5 Initial community commit 11 сар өмнө
d.lua 20d28e80a5 Initial community commit 11 сар өмнө

README.md

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" }