-- -- tests/actions/vstudio/vc2010/test_output_props.lua -- Validate generation of the output property groups. -- Copyright (c) 2011-2012 Jason Perkins and the Premake project -- T.vstudio_vs2010_output_props = { } local suite = T.vstudio_vs2010_output_props local vc2010 = premake.vstudio.vc2010 local project = premake5.project -- -- Setup -- local sln, prj, cfg function suite.setup() _ACTION = "vs2010" sln, prj = test.createsolution() end local function prepare() cfg = project.getconfig(prj, "Debug") vc2010.outputProperties(cfg) end -- -- Check the structure with the default project values. -- function suite.structureIsCorrect_onDefaultValues() prepare() test.capture [[ true .\ obj\Debug\ MyProject .exe ]] end -- -- Xbox360 adds an extra element to the block. -- function suite.structureIsCorrect_onXbox360() system "Xbox360" prepare() test.capture [[ true .\ $(OutDir)MyProject.exe obj\Debug\ MyProject .exe ]] end -- -- Static libraries should omit the link incremental element entirely. -- function suite.omitLinkIncremental_onStaticLib() kind "StaticLib" prepare() test.capture [[ .\ ]] end -- -- Optimized builds should not link incrementally. -- function suite.noIncrementalLink_onOptimizedBuild() flags "Optimize" prepare() test.capture [[ false ]] end -- -- The target directory is applied, if specified. -- function suite.outDir_onTargetDir() targetdir "../bin" prepare() test.capture [[ true ..\bin\ ]] end -- -- The objeccts directory is applied, if specified. -- function suite.intDir_onTargetDir() objdir "../tmp" prepare() test.capture [[ true .\ ..\tmp\Debug\ ]] end -- -- The target name is applied, if specified. -- function suite.targetName_onTargetName() targetname "MyTarget" prepare() test.capture [[ true .\ obj\Debug\ MyTarget ]] end -- -- If the NoImportLib flag is set, add the IgnoreImportLibrary element. -- function suite.ignoreImportLib_onNoImportLib() kind "SharedLib" flags "NoImportLib" prepare() test.capture [[ true true ]] end function suite.omitIgnoreImportLib_onNonSharedLib() kind "ConsoleApp" flags "NoImportLib" prepare() test.capture [[ true .\ ]] end -- -- If the NoManifest flag is set, add the GenerateManifest element. -- function suite.generateManifest_onNoManifest() flags "NoManifest" prepare() test.capture [[ true .\ obj\Debug\ MyProject .exe false ]] end