diff options
author | Jason Perkins <starkos@industriousone.com> | 2015-11-15 01:30:09 +0300 |
---|---|---|
committer | Jason Perkins <starkos@industriousone.com> | 2015-11-15 01:30:09 +0300 |
commit | 14cae5961c223e17815bec5f1797bcf656c9bd95 (patch) | |
tree | f9e4d1023760796fa4d6dced51b3c13e3888fa17 | |
parent | c04a1a0f6c98c119febb3e1ac479dfe38dcaa279 (diff) | |
parent | 6ab9f77800027dfa2aae8ba4094b60f0255254bb (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.lua | 1 | ||||
-rw-r--r-- | src/actions/vstudio/vs2010_vcxproj.lua | 2 | ||||
-rw-r--r-- | src/actions/vstudio/vs2015.lua | 57 | ||||
-rwxr-xr-x | tests/actions/vstudio/sln2005/header.lua | 17 | ||||
-rw-r--r-- | tests/actions/vstudio/vc2010/test_config_props.lua | 13 |
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 |