--
-- tests/actions/vstudio/vc200x/test_linker_block.lua
-- Validate generation of VCLinkerTool blocks in Visual Studio 200x C/C++ projects.
-- Copyright (c) 2009-2013 Jason Perkins and the Premake project
--
local p = premake
local suite = test.declare("vs200x_linker_block")
local vc200x = p.vstudio.vc200x
--
-- Setup/teardown
--
local wks, prj
function suite.setup()
p.action.set("vs2008")
p.escaper(p.vstudio.vs2005.esc)
wks, prj = test.createWorkspace()
end
local function prepare()
local cfg = test.getconfig(prj, "Debug")
vc200x.VCLinkerTool(cfg)
end
--
-- Verify the basic structure of the console app linker block.
--
function suite.onConsoleApp()
kind "ConsoleApp"
prepare()
test.capture [[
]]
end
--
-- Verify the basic structure of windowed app linker block.
--
function suite.onWindowedApp()
kind "WindowedApp"
prepare()
test.capture [[
]]
end
--
-- Verify the basic structure of shared library linker block.
--
function suite.onSharedLib()
kind "SharedLib"
prepare()
test.capture [[
]]
end
--
-- Verify the basic structure of static library linker block.
--
function suite.onStaticLib()
kind "StaticLib"
prepare()
test.capture [[
]]
end
--
-- Verify the handling of the Symbols flag.
--
function suite.onSymbolsFlag()
symbols "On"
prepare()
test.capture [[
]]
end
--
-- If a module definition file is present, make sure it is specified.
--
function suite.onModuleDefinitionFile()
files { "MyProject.def" }
prepare()
test.capture [[
]]
end
--
-- Links to system libraries should appear in the list, properly decorated.
--
function suite.includesSystemLibs()
links { "GL", "GLU" }
prepare()
test.capture [[