1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
|
--
-- tests/test_gmake_cs.lua
-- Automated test suite for GNU Make C/C++ project generation.
-- Copyright (c) 2009 Jason Perkins and the Premake project
--
T.gmake_cs = { }
--
-- Configure a solution for testing
--
local sln, prj
function T.gmake_cs.setup()
_ACTION = "gmake"
_OPTIONS.os = "linux"
sln = solution "MySolution"
configurations { "Debug", "Release" }
platforms { "native" }
prj = project "MyProject"
language "C#"
kind "ConsoleApp"
end
local function prepare()
io.capture()
premake.buildconfigs()
end
--
-- Test configuration blocks
--
function T.gmake_cs.BasicCfgBlock()
prepare()
local cfg = premake.getconfig(prj, "Debug")
premake.gmake_cs_config(cfg, premake.dotnet, {[cfg]={}})
test.capture [[
ifneq (,$(findstring debug,$(config)))
TARGETDIR := .
OBJDIR := obj/Debug
DEPENDS :=
REFERENCES :=
FLAGS +=
define PREBUILDCMDS
endef
define PRELINKCMDS
endef
define POSTBUILDCMDS
endef
endif
]]
end
function T.gmake_cs.OnBuildOptions()
buildoptions { "/define:SYMBOL" }
prepare()
local cfg = premake.getconfig(prj, "Debug")
premake.gmake_cs_config(cfg, premake.dotnet, {[cfg]={}})
test.capture [[
ifneq (,$(findstring debug,$(config)))
TARGETDIR := .
OBJDIR := obj/Debug
DEPENDS :=
REFERENCES :=
FLAGS += /define:SYMBOL
define PREBUILDCMDS
endef
define PRELINKCMDS
endef
define POSTBUILDCMDS
endef
endif
]]
end
|