diff options
author | Jason Perkins <starkos@industriousone.com> | 2013-08-17 22:41:00 +0400 |
---|---|---|
committer | Jason Perkins <starkos@industriousone.com> | 2013-08-17 22:41:00 +0400 |
commit | 24159a810efe620a96883f8977ab76b9940912e0 (patch) | |
tree | 0501d469a42c891578f0c04410a422eaaac6ebee /src | |
parent | b1d33ad4a1b6a013c8d6a5e2e60b8d139cd57902 (diff) |
Initial support for Visual Studio 2013 (Igor Karatayev)
Diffstat (limited to 'src')
-rw-r--r-- | src/_manifest.lua | 1 | ||||
-rw-r--r-- | src/actions/vstudio/vs2010_vcxproj.lua | 6 | ||||
-rw-r--r-- | src/actions/vstudio/vs2013.lua | 53 |
3 files changed, 58 insertions, 2 deletions
diff --git a/src/_manifest.lua b/src/_manifest.lua index a9ed645..ee07f81 100644 --- a/src/_manifest.lua +++ b/src/_manifest.lua @@ -64,6 +64,7 @@ "actions/vstudio/vs2010_vcxproj.lua", "actions/vstudio/vs2010_vcxproj_filters.lua", "actions/vstudio/vs2012.lua", + "actions/vstudio/vs2013.lua", -- Xcode action "actions/xcode/_xcode.lua", diff --git a/src/actions/vstudio/vs2010_vcxproj.lua b/src/actions/vstudio/vs2010_vcxproj.lua index 2c9a14a..b6b44e7 100644 --- a/src/actions/vstudio/vs2010_vcxproj.lua +++ b/src/actions/vstudio/vs2010_vcxproj.lua @@ -79,8 +79,10 @@ _p(2,'<UseDebugLibraries>%s</UseDebugLibraries>', iif(optimisation(cfg) == "Disabled","true","false")) _p(2,'<CharacterSet>%s</CharacterSet>',iif(cfg.flags.Unicode,"Unicode","MultiByte")) - if _ACTION > "vs2010" then - _p(2,'<PlatformToolset>%s</PlatformToolset>', "v110") + local toolsets = { vs2012 = "v110", vs2013 = "v120" } + local toolset = toolsets[_ACTION] + if toolset then + _p(2,'<PlatformToolset>%s</PlatformToolset>', toolset) end if cfg.flags.MFC then diff --git a/src/actions/vstudio/vs2013.lua b/src/actions/vstudio/vs2013.lua new file mode 100644 index 0000000..8654f21 --- /dev/null +++ b/src/actions/vstudio/vs2013.lua @@ -0,0 +1,53 @@ +-- +-- vs2013.lua +-- Baseline support for Visual Studio 2013. +-- Copyright (c) 2013 Jason Perkins and the Premake project +-- + + +--- +-- Register a command-line action for Visual Studio 2012. +--- + + newaction + { + trigger = "vs2013", + shortname = "Visual Studio 2013", + description = "Generate Microsoft Visual Studio 2013 project files", + os = "windows", + + 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) + end, + + onproject = function(prj) + if premake.isdotnetproject(prj) then + premake.generate(prj, "%%.csproj", vstudio.cs2005.generate) + premake.generate(prj, "%%.csproj.user", vstudio.cs2005.generate_user) + else + premake.generate(prj, "%%.vcxproj", premake.vs2010_vcxproj) + premake.generate(prj, "%%.vcxproj.user", premake.vs2010_vcxproj_user) + premake.generate(prj, "%%.vcxproj.filters", vstudio.vc2010.generate_filters) + end + end, + + + oncleansolution = premake.vstudio.cleansolution, + oncleanproject = premake.vstudio.cleanproject, + oncleantarget = premake.vstudio.cleantarget, + + vstudio = { + solutionVersion = "12", + targetFramework = "4.5", + toolsVersion = "12.0", + } + } |