premake/modules/d/README.md
2018-05-07 10:14:16 +02:00

2.9 KiB

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

D

C/C++

  • flags
    • CodeCoverage
    • UnitTest
    • Verbose
    • Profile
    • ProfileGC
    • StackFrame
    • StackStomp
    • AllTemplateInst
    • BetterC
    • Main
    • ShowCommandLine
    • ShowTLS
    • ShowGC
    • IgnorePragma
    • ShowDependencies
  • versionconstants
  • debugconstants
  • docdir
  • docname
  • headerdir
  • headername
  • dependenciesfile ("filename")
  • jsonfile ("filename")
  • importpaths { "paths" }
  • stringimportpaths { "paths" }
  • compilationmodel ("model") [ Project, Package, File ]
  • runtime ("type") [ Debug, Release ]
  • staticruntime ("state") [ on, off ]
  • optimize
  • inlining
  • boundscheck ("type") [Off, SafeOnly, On]
  • deprecatedfeatures ("feature") [ Error, Info, Allow ]

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