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:
authorOliver Schneider <oliver@assarbad.net>2017-03-16 01:46:31 +0300
committerOliver Schneider <oliver@assarbad.net>2017-03-16 01:46:31 +0300
commit2e250ada6b2952f8ebc36d5f5c6c47c2ca75d028 (patch)
treef385cc050d65f26321157369a90b7af86c6a2e59
parentecfa9ae6ef07f42ad6c732e4b141ddcc52f58c4c (diff)
parent254f662b5f6713ec9d757deac116e7ccc8a422d8 (diff)
Merge with vs2017_support
--HG-- branch : WDS-build
-rw-r--r--src/_manifest.lua1
-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
-rw-r--r--tests/actions/vstudio/cs2005/buildevents.lua53
-rwxr-xr-xtests/actions/vstudio/sln2005/header.lua29
-rw-r--r--tests/actions/vstudio/vc2010/test_config_props.lua13
-rw-r--r--tests/premake4.lua1
-rw-r--r--tests/testfx.lua2
10 files changed, 107 insertions, 59 deletions
diff --git a/src/_manifest.lua b/src/_manifest.lua
index 19f497a..e8a6619 100644
--- a/src/_manifest.lua
+++ b/src/_manifest.lua
@@ -66,6 +66,7 @@
"actions/vstudio/vs2012.lua",
"actions/vstudio/vs2013.lua",
"actions/vstudio/vs2015.lua",
+ "actions/vstudio/vs2017.lua",
-- Xcode action
"actions/xcode/_xcode.lua",
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",
+ }
+ }
diff --git a/tests/actions/vstudio/cs2005/buildevents.lua b/tests/actions/vstudio/cs2005/buildevents.lua
deleted file mode 100644
index 213de1b..0000000
--- a/tests/actions/vstudio/cs2005/buildevents.lua
+++ /dev/null
@@ -1,53 +0,0 @@
---
--- tests/actions/vstudio/cs2005/buildevents.lua
--- Validate the build events in Visual Studio 2005+ .csproj
--- Copyright (c) 2009-2014 Jason Perkins and the Premake project
---
-
- T.vstudio_cs2005_buildevents = { }
- local suite = T.vstudio_cs2005_buildevents
- local cs2005 = premake.vstudio.cs2005
-
---
--- Setup
---
-
- local sln, prj
-
- function suite.setup()
- sln = test.createsolution()
- end
-
- local function prepare()
- premake.bake.buildconfigs()
- prj = premake.solution.getproject(sln, 1)
- cs2005.buildevents(prj)
- end
-
---
--- Prebuild events
---
-
- function suite.prebuildEvents()
- prebuildcommands { "pre" }
- prepare()
- test.capture [[
- <PropertyGroup>
- <PreBuildEvent>pre</PreBuildEvent>
- </PropertyGroup>
- ]]
- end
-
---
--- Postbuild events
---
-
- function suite.postbuildEvents()
- postbuildcommands { "post" }
- prepare()
- test.capture [[
- <PropertyGroup>
- <PostBuildEvent>post</PostBuildEvent>
- </PropertyGroup>
- ]]
- end
diff --git a/tests/actions/vstudio/sln2005/header.lua b/tests/actions/vstudio/sln2005/header.lua
index a959677..2208b42 100755
--- a/tests/actions/vstudio/sln2005/header.lua
+++ b/tests/actions/vstudio/sln2005/header.lua
@@ -76,6 +76,14 @@ Microsoft Visual Studio Solution File, Format Version 12.00
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
]]
+--[[
+VS 2013 seems to add:
+
+VisualStudioVersion = 12.0.31101.0
+MinimumVisualStudioVersion = 10.0.40219.1
+
+which don't seem to be mandatory, though.
+]]
end
function suite.On2015()
@@ -83,10 +91,10 @@ Microsoft Visual Studio Solution File, Format Version 12.00
prepare()
test.capture [[
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2015
+# Visual Studio 14
]]
--[[
-VS2015 seems to add:
+VS 2015 seems to add:
VisualStudioVersion = 14.0.23107.0
MinimumVisualStudioVersion = 10.0.40219.1
@@ -94,3 +102,20 @@ MinimumVisualStudioVersion = 10.0.40219.1
which don't seem to be mandatory, though.
]]
end
+
+ function suite.On2017()
+ _ACTION = "vs2017"
+ prepare()
+ test.capture [[
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+ ]]
+--[[
+VS 2017 seems to add:
+
+VisualStudioVersion = 15.0.26228.4
+MinimumVisualStudioVersion = 10.0.40219.1
+
+which don't seem to be mandatory, though.
+]]
+ end
diff --git a/tests/actions/vstudio/vc2010/test_config_props.lua b/tests/actions/vstudio/vc2010/test_config_props.lua
index 2970ad4..d2f18dd 100644
--- a/tests/actions/vstudio/vc2010/test_config_props.lua
+++ b/tests/actions/vstudio/vc2010/test_config_props.lua
@@ -89,3 +89,16 @@
</PropertyGroup>
]]
end
+
+ function suite.structureIsCorrect_onDefaultValues_on2017()
+ _ACTION = "vs2017"
+ prepare()
+ test.capture [[
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v141</PlatformToolset>
+ </PropertyGroup>
+ ]]
+ end
diff --git a/tests/premake4.lua b/tests/premake4.lua
index 6c149e3..b0ebde9 100644
--- a/tests/premake4.lua
+++ b/tests/premake4.lua
@@ -86,7 +86,6 @@
dofile("actions/vstudio/cs2005/projectelement.lua")
dofile("actions/vstudio/cs2005/projectsettings.lua")
dofile("actions/vstudio/cs2005/propertygroup.lua")
- dofile("actions/vstudio/cs2005/buildevents.lua")
-- Visual Studio 2005-2010 solutions
dofile("actions/vstudio/sln2005/dependencies.lua")
diff --git a/tests/testfx.lua b/tests/testfx.lua
index 8342086..5a0f33b 100644
--- a/tests/testfx.lua
+++ b/tests/testfx.lua
@@ -23,7 +23,7 @@
function test.string_does_not_contain(buffer, expected)
if string.find(buffer,expected) then
- test.fail("\n==Fail==: Did not expected to find :\n%s\nyet it was found in buffer:\n%s\n", expected,buffer)
+ test.fail("\n==Fail==: Did not expect to find :\n%s\nyet it was found in buffer:\n%s\n", expected,buffer)
end
end