mirror of
https://github.com/xenia-project/premake-core.git
synced 2024-11-27 05:30:26 +00:00
.. | ||
actions | ||
tests | ||
tools | ||
_manifest.lua | ||
_preload.lua | ||
d.lua | ||
LICENSE.txt | ||
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" }