Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/windirstat/premake-4.x-stable.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/actions')
-rw-r--r--src/actions/vstudio/vs2005_solution.lua6
-rw-r--r--src/actions/vstudio/vs2010_vcxproj.lua2
-rw-r--r--src/actions/vstudio/vs2015.lua1
-rw-r--r--src/actions/vstudio/vs2017.lua58
4 files changed, 65 insertions, 2 deletions
diff --git a/src/actions/vstudio/vs2005_solution.lua b/src/actions/vstudio/vs2005_solution.lua
index b0942db..7e10ff0 100644
--- a/src/actions/vstudio/vs2005_solution.lua
+++ b/src/actions/vstudio/vs2005_solution.lua
@@ -40,7 +40,11 @@
function sln2005.header(sln)
local action = premake.action.current()
_p('Microsoft Visual Studio Solution File, Format Version %d.00', action.vstudio.solutionVersion)
- _p('# Visual Studio %s', _ACTION:sub(3))
+ if action.vstudio.shortSlnVersion ~= nil then
+ _p('# Visual Studio %s', action.vstudio.shortSlnVersion)
+ else
+ _p('# Visual Studio %s', _ACTION:sub(3))
+ end
end
diff --git a/src/actions/vstudio/vs2010_vcxproj.lua b/src/actions/vstudio/vs2010_vcxproj.lua
index dcff220..d6f9b7b 100644
--- a/src/actions/vstudio/vs2010_vcxproj.lua
+++ b/src/actions/vstudio/vs2010_vcxproj.lua
@@ -79,7 +79,7 @@
_p(2,'<UseDebugLibraries>%s</UseDebugLibraries>', iif(optimisation(cfg) == "Disabled","true","false"))
_p(2,'<CharacterSet>%s</CharacterSet>',iif(cfg.flags.Unicode,"Unicode","MultiByte"))
- local toolsets = { vs2012 = "v110", vs2013 = "v120", vs2015 = "v140" }
+ local toolsets = { vs2012 = "v110", vs2013 = "v120", vs2015 = "v140", vs2017 = "v141" }
local toolset = toolsets[_ACTION]
if toolset then
_p(2,'<PlatformToolset>%s</PlatformToolset>', toolset)
diff --git a/src/actions/vstudio/vs2015.lua b/src/actions/vstudio/vs2015.lua
index 8fa0ca9..9a8ba02 100644
--- a/src/actions/vstudio/vs2015.lua
+++ b/src/actions/vstudio/vs2015.lua
@@ -53,5 +53,6 @@
solutionVersion = "12",
targetFramework = "4.5.2",
toolsVersion = "14.0",
+ shortSlnVersion = "14",
}
}
diff --git a/src/actions/vstudio/vs2017.lua b/src/actions/vstudio/vs2017.lua
new file mode 100644
index 0000000..0bc0a02
--- /dev/null
+++ b/src/actions/vstudio/vs2017.lua
@@ -0,0 +1,58 @@
+--
+-- vs2017.lua
+-- Baseline support for Visual Studio 2017.
+-- Copyright (c) 2013 Jason Perkins and the Premake project
+--
+
+ premake.vstudio.vc2017 = {}
+ local vc2017 = premake.vstudio.vc2017
+ local vstudio = premake.vstudio
+
+
+---
+-- Register a command-line action for Visual Studio 2017.
+---
+
+ newaction
+ {
+ trigger = "vs2017",
+ shortname = "Visual Studio 2017",
+ description = "Generate Microsoft Visual Studio 2017 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.2",
+ toolsVersion = "15.0",
+ shortSlnVersion = "15",
+ }
+ }