-- -- tests/actions/vstudio/sln2005/test_dependencies.lua -- Validate generation of Visual Studio 2005+ solution project dependencies. -- Copyright (c) 2009-2012 Jason Perkins and the Premake project -- T.vstudio_sln2005_dependencies = { } local suite = T.vstudio_sln2005_dependencies local sln2005 = premake.vstudio.sln2005 -- -- Setup -- local sln, prj1, prj2 function suite.setup() _ACTION = "vs2005" sln, prj1 = test.createsolution() uuid "AE61726D-187C-E440-BD07-2556188A6565" prj2 = test.createproject(sln) uuid "2151E83B-997F-4A9D-955D-380157E88C31" prj3 = test.createproject(sln) uuid "CAA68162-8B96-11E1-8D5E-5885BBE59B18" links "MyProject" dependson "MyProject2" end local function prepare(language) prj1.language = language prj2.language = language prj2 = premake.solution.getproject(sln, 2) sln2005.projectdependencies(prj2) prj3.language = language prj3 = premake.solution.getproject(sln, 3) sln2005.projectdependencies(prj3) end -- -- Verify dependencies between C++ projects are listed. -- function suite.dependency_onCppProjects() prepare("C++") test.capture [[ ProjectSection(ProjectDependencies) = postProject {AE61726D-187C-E440-BD07-2556188A6565} = {AE61726D-187C-E440-BD07-2556188A6565} {2151E83B-997F-4A9D-955D-380157E88C31} = {2151E83B-997F-4A9D-955D-380157E88C31} EndProjectSection ]] end -- -- Verify dependencies between C# projects are listed. -- function suite.dependency_onCSharpProjects() prepare("C#") test.capture [[ ProjectSection(ProjectDependencies) = postProject {AE61726D-187C-E440-BD07-2556188A6565} = {AE61726D-187C-E440-BD07-2556188A6565} {2151E83B-997F-4A9D-955D-380157E88C31} = {2151E83B-997F-4A9D-955D-380157E88C31} EndProjectSection ]] end -- -- Most C# references should go into the project rather than the solution, -- but until I know the conditions, put everything here to be safe. -- function suite.dependency_onCSharpProjectsVs2010() _ACTION = "vs2010" prepare("C#") test.capture [[ ProjectSection(ProjectDependencies) = postProject {AE61726D-187C-E440-BD07-2556188A6565} = {AE61726D-187C-E440-BD07-2556188A6565} {2151E83B-997F-4A9D-955D-380157E88C31} = {2151E83B-997F-4A9D-955D-380157E88C31} EndProjectSection ]] end -- -- Verify dependencies between projects C# are listed for VS2012. -- function suite.dependency_onCSharpProjectsVs2012() _ACTION = "vs2012" prepare("C#") test.capture [[ ProjectSection(ProjectDependencies) = postProject {AE61726D-187C-E440-BD07-2556188A6565} = {AE61726D-187C-E440-BD07-2556188A6565} {2151E83B-997F-4A9D-955D-380157E88C31} = {2151E83B-997F-4A9D-955D-380157E88C31} EndProjectSection ]] end