diff --git a/src/actions/vstudio/_vstudio.lua b/src/actions/vstudio/_vstudio.lua index 4da797c1..44dede80 100644 --- a/src/actions/vstudio/_vstudio.lua +++ b/src/actions/vstudio/_vstudio.lua @@ -9,6 +9,47 @@ local project = premake5.project +-- +-- The Visual Studio 2005 action, with support for the new platforms API +-- + + newaction { + trigger = "vs2005ng", + shortname = "Visual Studio 2005 Next-gen", + description = "Experimental Microsoft Visual Studio 2005 project files", + os = "windows", + + -- temporary, until I can phase out the legacy implementations + isnextgen = true, + + valid_kinds = { "ConsoleApp", "WindowedApp", "StaticLib", "SharedLib" }, + + valid_languages = { "C", "C++", "C#" }, + + valid_tools = { + cc = { "msc" }, + dotnet = { "msnet" }, + }, + + onsolution = function(sln) + premake.generate(sln, "%%.sln", vstudio.sln2005.generate_ng) + end, + + onproject = function(prj) + if premake.isdotnetproject(prj) then + premake.generate(prj, "%%.csproj", vstudio.cs2005.generate_ng) + premake.generate(prj, "%%.csproj.user", vstudio.cs2005.generate_user_ng) + else + premake.generate(prj, "%%.vcproj", vstudio.vc200x.generate_ng) + premake.generate(prj, "%%.vcproj.user", vstudio.vc200x.generate_user_ng) + end + end, + + oncleansolution = vstudio.cleansolution, + oncleanproject = vstudio.cleanproject, + oncleantarget = vstudio.cleantarget + } + -- -- The Visual Studio 2008 action, with support for the new platforms API --