From ab30f318f4b2622f4c8535cdcec9eccd2a58f461 Mon Sep 17 00:00:00 2001 From: ruki Date: Sat, 18 Mar 2017 15:38:00 +0800 Subject: fix arch and sdk version for vs201x project plugin --- xmake/plugins/project/vstudio/impl/vs201x.lua | 2 +- .../project/vstudio/impl/vs201x_vcxproj.lua | 26 +++++++++++++++------- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/xmake/plugins/project/vstudio/impl/vs201x.lua b/xmake/plugins/project/vstudio/impl/vs201x.lua index 6d9c6826b..ccf34db67 100755 --- a/xmake/plugins/project/vstudio/impl/vs201x.lua +++ b/xmake/plugins/project/vstudio/impl/vs201x.lua @@ -91,7 +91,7 @@ function make(outputdir, vsinfo) _target.kind = target:get("kind") _target.scriptdir = target:scriptdir() _target.info = _target.info or {} - table.insert(_target.info, { mode = mode, arch = arch, target = target }) + table.insert(_target.info, { mode = mode, arch = ifelse(arch == "x86", "Win32", "x64"), target = target }) -- save all sourcefiles and headerfiles _target.sourcefiles = table.unique(table.join(_target.sourcefiles or {}, (target:sourcefiles()))) diff --git a/xmake/plugins/project/vstudio/impl/vs201x_vcxproj.lua b/xmake/plugins/project/vstudio/impl/vs201x_vcxproj.lua index 3bae5607d..649dd5c61 100755 --- a/xmake/plugins/project/vstudio/impl/vs201x_vcxproj.lua +++ b/xmake/plugins/project/vstudio/impl/vs201x_vcxproj.lua @@ -146,14 +146,21 @@ function _make_configurations(vcxprojfile, vsinfo, target, vcxprojdir) , static = "StaticLibrary" } - -- the versions - local versions = + -- the toolset versions + local toolset_versions = + { + vs2010 = "100" + , vs2012 = "110" + , vs2013 = "120" + , vs2015 = "140" + , vs2017 = "141" + } + + -- the sdk version + local sdk_versions = { - vs2010 = '100' - , vs2012 = '110' - , vs2013 = '120' - , vs2015 = '140' - , vs2017 = '141' + vs2015 = "10.0.10240.0" + , vs2017 = "10.0.14393.0" } -- make ProjectConfigurations @@ -170,6 +177,9 @@ function _make_configurations(vcxprojfile, vsinfo, target, vcxprojdir) vcxprojfile:enter("") vcxprojfile:print("{%s}", os.uuid(targetname)) vcxprojfile:print("%s", targetname) + if vsinfo.vstudio_version >= "2015" then + vcxprojfile:print("%s", sdk_versions["vs" .. vsinfo.vstudio_version]) + end vcxprojfile:leave("") -- import Microsoft.Cpp.Default.props @@ -179,7 +189,7 @@ function _make_configurations(vcxprojfile, vsinfo, target, vcxprojdir) for _, targetinfo in ipairs(target.info) do vcxprojfile:enter("", targetinfo.mode, targetinfo.arch) vcxprojfile:print("%s", assert(configuration_types[target.kind])) - vcxprojfile:print("v%s", assert(versions["vs" .. vsinfo.vstudio_version])) + vcxprojfile:print("v%s", assert(toolset_versions["vs" .. vsinfo.vstudio_version])) vcxprojfile:print("MultiByte") vcxprojfile:leave("") end -- cgit v1.3.1