summaryrefslogtreecommitdiffstatshomepage
path: root/scripts/toolchain.lua
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2016-11-16 20:57:40 +0100
committer Miodrag Milanovic <mmicko@gmail.com>2016-11-16 21:00:29 +0100
commit8e61a7d3d37d0ceaf2f6af0a460d2f9c692e5252 (patch)
tree1683fe6ce9b9f32389b0686c240f19fd2bca2e15 /scripts/toolchain.lua
parentffc04d2baede0eab5768aa6a2ca5ea67cfa9ed86 (diff)
Added VS2017 support into project files (nw)
Diffstat (limited to 'scripts/toolchain.lua')
-rw-r--r--scripts/toolchain.lua59
1 files changed, 58 insertions, 1 deletions
diff --git a/scripts/toolchain.lua b/scripts/toolchain.lua
index 99a3647b6ec..46a1b4b22ce 100644
--- a/scripts/toolchain.lua
+++ b/scripts/toolchain.lua
@@ -51,6 +51,8 @@ newoption {
{ "intel-15", "Intel C++ Compiler XE 15.0" },
{ "vs2015-clang", "Clang 3.6" },
{ "vs2015-xp", "Visual Studio 2015 targeting XP" },
+ { "vs2017-clang", "Clang 3.6" },
+ { "vs2017-xp", "Visual Studio 2017 targeting XP" },
{ "winphone8", "Windows Phone 8.0" },
{ "winphone81", "Windows Phone 8.1" },
{ "winstore81", "Windows Store 8.1" },
@@ -330,7 +332,6 @@ function toolchain(_buildDir, _subDir)
if "ci20" == _OPTIONS["gcc"] then
location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-ci20")
end
-
elseif _ACTION == "vs2015" or _ACTION == "vs2015-fastbuild" then
if (_ACTION .. "-clang") == _OPTIONS["vs"] then
@@ -386,8 +387,64 @@ function toolchain(_buildDir, _subDir)
premake.vstudio.toolset = ("v140_xp")
location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-xp")
end
+ elseif _ACTION == "vs2017" or _ACTION == "vs2017-fastbuild" then
+
+ if (_ACTION .. "-clang") == _OPTIONS["vs"] then
+ premake.vstudio.toolset = ("LLVM-" .. _ACTION)
+ location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-clang")
+ end
+
+ if "winphone8" == _OPTIONS["vs"] then
+ premake.vstudio.toolset = "v110_wp80"
+ location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-winphone8")
+ end
+
+ if "winphone81" == _OPTIONS["vs"] then
+ premake.vstudio.toolset = "v120_wp81"
+ platforms { "ARM" }
+ location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-winphone81")
+ end
+
+ if "winstore81" == _OPTIONS["vs"] then
+ premake.vstudio.toolset = "v120"
+ premake.vstudio.storeapp = "8.1"
+ platforms { "ARM" }
+ location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-winstore81")
+ end
+
+ if "winstore82" == _OPTIONS["vs"] then
+ premake.vstudio.toolset = "v141"
+ premake.vstudio.storeapp = "8.2"
+
+ -- If needed, depending on GENie version, enable file-level configuration
+ if enablefilelevelconfig ~= nil then
+ enablefilelevelconfig()
+ end
+
+ local action = premake.action.current()
+ action.vstudio.windowsTargetPlatformVersion = windowsPlatform
+
+ platforms { "ARM" }
+ location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-winstore82")
+ end
+
+ if "intel-14" == _OPTIONS["vs"] then
+ premake.vstudio.toolset = "Intel C++ Compiler XE 14.0"
+ location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-intel")
+ end
+
+ if "intel-15" == _OPTIONS["vs"] then
+ premake.vstudio.toolset = "Intel C++ Compiler XE 15.0"
+ location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-intel")
+ end
+
+ if ("vs2017-xp") == _OPTIONS["vs"] then
+ premake.vstudio.toolset = ("v141_xp")
+ location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-xp")
+ end
elseif _ACTION == "xcode4" then
+
if "osx" == _OPTIONS["xcode"] then
premake.xcode.toolset = "macosx"
location (path.join(_buildDir, "projects", _ACTION .. "-osx"))