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:
authorJason Perkins <starkos@industriousone.com>2015-11-15 01:30:09 +0300
committerJason Perkins <starkos@industriousone.com>2015-11-15 01:30:09 +0300
commit14cae5961c223e17815bec5f1797bcf656c9bd95 (patch)
treef9e4d1023760796fa4d6dced51b3c13e3888fa17
parentc04a1a0f6c98c119febb3e1ac479dfe38dcaa279 (diff)
parent6ab9f77800027dfa2aae8ba4094b60f0255254bb (diff)
Merged in windirstat/premake-stable/vs2015_support (pull request #54)
Adding basic VS2015 support, entirely based on VS2013 support
-rw-r--r--src/_manifest.lua1
-rw-r--r--src/actions/vstudio/vs2010_vcxproj.lua2
-rw-r--r--src/actions/vstudio/vs2015.lua57
-rwxr-xr-xtests/actions/vstudio/sln2005/header.lua17
-rw-r--r--tests/actions/vstudio/vc2010/test_config_props.lua13
5 files changed, 89 insertions, 1 deletions
diff --git a/src/_manifest.lua b/src/_manifest.lua
index ee07f81..19f497a 100644
--- a/src/_manifest.lua
+++ b/src/_manifest.lua
@@ -65,6 +65,7 @@
"actions/vstudio/vs2010_vcxproj_filters.lua",
"actions/vstudio/vs2012.lua",
"actions/vstudio/vs2013.lua",
+ "actions/vstudio/vs2015.lua",
-- Xcode action
"actions/xcode/_xcode.lua",
diff --git a/src/actions/vstudio/vs2010_vcxproj.lua b/src/actions/vstudio/vs2010_vcxproj.lua
index 4adef79..dcff220 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" }
+ local toolsets = { vs2012 = "v110", vs2013 = "v120", vs2015 = "v140" }
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
new file mode 100644
index 0000000..8fa0ca9
--- /dev/null
+++ b/src/actions/vstudio/vs2015.lua
@@ -0,0 +1,57 @@
+--
+-- vs2015.lua
+-- Baseline support for Visual Studio 2015.
+-- Copyright (c) 2013 Jason Perkins and the Premake project
+--
+
+ premake.vstudio.vc2015 = {}
+ local vc2015 = premake.vstudio.vc2015
+ local vstudio = premake.vstudio
+
+
+---
+-- Register a command-line action for Visual Studio 2015.
+---
+
+ newaction
+ {
+ trigger = "vs2015",
+ shortname = "Visual Studio 2015",
+ description = "Generate Microsoft Visual Studio 2015 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 = "14.0",
+ }
+ }
diff --git a/tests/actions/vstudio/sln2005/header.lua b/tests/actions/vstudio/sln2005/header.lua
index 71e32f5..a959677 100755
--- a/tests/actions/vstudio/sln2005/header.lua
+++ b/tests/actions/vstudio/sln2005/header.lua
@@ -77,3 +77,20 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
]]
end
+
+ function suite.On2015()
+ _ACTION = "vs2015"
+ prepare()
+ test.capture [[
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2015
+ ]]
+--[[
+VS2015 seems to add:
+
+VisualStudioVersion = 14.0.23107.0
+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 50d78ae..2970ad4 100644
--- a/tests/actions/vstudio/vc2010/test_config_props.lua
+++ b/tests/actions/vstudio/vc2010/test_config_props.lua
@@ -76,3 +76,16 @@
</PropertyGroup>
]]
end
+
+ function suite.structureIsCorrect_onDefaultValues_on2015()
+ _ACTION = "vs2015"
+ prepare()
+ test.capture [[
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
+ ]]
+ end