diff options
| author | ruki <[email protected]> | 2017-03-18 15:38:00 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2017-03-18 15:38:00 +0800 |
| commit | ab30f318f4b2622f4c8535cdcec9eccd2a58f461 (patch) | |
| tree | 3e566b00bbfa5e65b454a888fae6158ad1f4e0f3 | |
| parent | bd1ad95848680fd63762138fa5ee5c0a4e18356e (diff) | |
fix arch and sdk version for vs201x project plugin
| -rwxr-xr-x | xmake/plugins/project/vstudio/impl/vs201x.lua | 2 | ||||
| -rwxr-xr-x | xmake/plugins/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("<PropertyGroup Label=\"Globals\">") vcxprojfile:print("<ProjectGuid>{%s}</ProjectGuid>", os.uuid(targetname)) vcxprojfile:print("<RootNamespace>%s</RootNamespace>", targetname) + if vsinfo.vstudio_version >= "2015" then + vcxprojfile:print("<WindowsTargetPlatformVersion>%s</WindowsTargetPlatformVersion>", sdk_versions["vs" .. vsinfo.vstudio_version]) + end vcxprojfile:leave("</PropertyGroup>") -- 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("<PropertyGroup Condition=\"\'%$(Configuration)|%$(Platform)\'==\'%s|%s\'\" Label=\"Configuration\">", targetinfo.mode, targetinfo.arch) vcxprojfile:print("<ConfigurationType>%s</ConfigurationType>", assert(configuration_types[target.kind])) - vcxprojfile:print("<PlatformToolset>v%s</PlatformToolset>", assert(versions["vs" .. vsinfo.vstudio_version])) + vcxprojfile:print("<PlatformToolset>v%s</PlatformToolset>", assert(toolset_versions["vs" .. vsinfo.vstudio_version])) vcxprojfile:print("<CharacterSet>MultiByte</CharacterSet>") vcxprojfile:leave("</PropertyGroup>") end |
