29 lines
1.1 KiB
Lua
29 lines
1.1 KiB
Lua
module(..., package.seeall)
|
|
|
|
local frameworkDir = "c:\\Windows\\Microsoft.NET\\Framework"
|
|
local defaultFrameworkVersion = "v3.5"
|
|
|
|
function apply(env, options)
|
|
tundra.unitgen.load_toolset("generic-dotnet", env)
|
|
|
|
local version = options and assert(options.Version) or defaultFrameworkVersion
|
|
env:set_external_env_var('FrameworkDir', frameworkDir)
|
|
env:set_external_env_var('FrameworkVersion', version)
|
|
|
|
local binPath = frameworkDir .. "\\" .. version
|
|
env:set_external_env_var('PATH', binPath .. ";" .. env:get_external_env_var('PATH'))
|
|
|
|
-- C# support
|
|
env:set_many {
|
|
["DOTNET_SUFFIXES"] = { ".cs" },
|
|
["DOTNET_SUFFIXES_RESOURCE"] = { ".resource" },
|
|
["CSC"] = "csc.exe",
|
|
["CSPROGSUFFIX"] = ".exe",
|
|
["CSLIBSUFFIX"] = ".dll",
|
|
["CSRESGEN"] = "resgen $(<) $(@)",
|
|
["_CSC_COMMON"] = "-warn:$(CSC_WARNING_LEVEL) /nologo $(CSLIBPATH:b:p/lib\\:) $(CSRESOURCES:b:p/resource\\:) $(CSLIBS:p/reference\\::A.dll)",
|
|
["CSCLIBCOM"] = "$(CSC) $(_CSC_COMMON) $(CSCOPTS) -target:library -out:$(@:b) $(<:b)",
|
|
["CSCEXECOM"] = "$(CSC) $(_CSC_COMMON) $(CSCOPTS) -target:exe -out:$(@:b) $(<:b)",
|
|
}
|
|
end
|