summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEnoroF <[email protected]>2016-11-29 21:49:12 +0800
committerEnoroF <[email protected]>2016-11-29 21:49:12 +0800
commit5c020d24f5824640e31d85678df2e73aa2f08de3 (patch)
tree6095b361bb9bcc36dda27e251557ee940336894c
parent2ea0b24f21a51aab56e79ae81f8f8b71c450161a (diff)
add support for vs2017.
-rwxr-xr-xxmake/plugins/project/main.lua2
-rwxr-xr-xxmake/plugins/project/vstudio/impl/vs201x_vcxproj.lua2
-rw-r--r--xmake/plugins/project/vstudio/impl/vs201x_vcxproj_filters.lua1
-rw-r--r--xmake/plugins/project/vstudio/vs2017.lua39
-rwxr-xr-xxmake/plugins/project/xmake.lua2
5 files changed, 45 insertions, 1 deletions
diff --git a/xmake/plugins/project/main.lua b/xmake/plugins/project/main.lua
index e38579f4a..738f82dce 100755
--- a/xmake/plugins/project/main.lua
+++ b/xmake/plugins/project/main.lua
@@ -33,6 +33,7 @@ import("vstudio.vs2010")
import("vstudio.vs2012")
import("vstudio.vs2013")
import("vstudio.vs2015")
+import("vstudio.vs2017")
-- make project
function _make(kind)
@@ -49,6 +50,7 @@ function _make(kind)
, vs2012 = vs2012.make
, vs2013 = vs2013.make
, vs2015 = vs2015.make
+ , vs2017 = vs2017.make
}
assert(maps[kind], "the project kind(%s) is not supported!", kind)
diff --git a/xmake/plugins/project/vstudio/impl/vs201x_vcxproj.lua b/xmake/plugins/project/vstudio/impl/vs201x_vcxproj.lua
index 36a68f781..29385ac44 100755
--- a/xmake/plugins/project/vstudio/impl/vs201x_vcxproj.lua
+++ b/xmake/plugins/project/vstudio/impl/vs201x_vcxproj.lua
@@ -114,6 +114,7 @@ function _make_header(vcxprojfile, vsinfo, target)
, vs2012 = '4'
, vs2013 = '12'
, vs2015 = '14'
+ , vs2017 = '15'
}
-- make header
@@ -150,6 +151,7 @@ function _make_configurations(vcxprojfile, vsinfo, target, vcxprojdir)
, vs2012 = '11'
, vs2013 = '12'
, vs2015 = '14'
+ , vs2017 = '15'
}
-- make ProjectConfigurations
diff --git a/xmake/plugins/project/vstudio/impl/vs201x_vcxproj_filters.lua b/xmake/plugins/project/vstudio/impl/vs201x_vcxproj_filters.lua
index 68d13509f..d090a2d3f 100644
--- a/xmake/plugins/project/vstudio/impl/vs201x_vcxproj_filters.lua
+++ b/xmake/plugins/project/vstudio/impl/vs201x_vcxproj_filters.lua
@@ -34,6 +34,7 @@ function _make_header(filtersfile, vsinfo, target)
, vs2012 = '11.0'
, vs2013 = '12.0'
, vs2015 = '14.0'
+ , vs2017 = '15.0'
}
-- make header
diff --git a/xmake/plugins/project/vstudio/vs2017.lua b/xmake/plugins/project/vstudio/vs2017.lua
new file mode 100644
index 000000000..389b51eba
--- /dev/null
+++ b/xmake/plugins/project/vstudio/vs2017.lua
@@ -0,0 +1,39 @@
+--!The Make-like Build Utility based on Lua
+--
+-- XMake is free software; you can redistribute it and/or modify
+-- it under the terms of the GNU Lesser General Public License as published by
+-- the Free Software Foundation; either version 2.1 of the License, or
+-- (at your option) any later version.
+--
+-- XMake is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU Lesser General Public License for more details.
+--
+-- You should have received a copy of the GNU Lesser General Public License
+-- along with XMake;
+-- If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
+--
+-- Copyright (C) 2015 - 2016, ruki All rights reserved.
+--
+-- @author ruki
+-- @file vs2015.lua
+--
+
+-- imports
+import("impl.vs201x")
+
+-- make
+function make(outputdir)
+
+ -- init vstudio info
+ local vsinfo =
+ {
+ vstudio_version = "2017"
+ , filters_version = "4.0"
+ , solution_version = "12"
+ }
+
+ -- make project
+ vs201x.make(outputdir, vsinfo)
+end
diff --git a/xmake/plugins/project/xmake.lua b/xmake/plugins/project/xmake.lua
index fa81487de..04d695780 100755
--- a/xmake/plugins/project/xmake.lua
+++ b/xmake/plugins/project/xmake.lua
@@ -42,7 +42,7 @@ task("project")
{
{'k', "kind", "kv", "makefile", "Set the project kind."
, " - makefile"
- , " - vs2002, vs2003, vs2005, vs2008, vs2010, vs2012, vs2013, vs2015" }
+ , " - vs2002, vs2003, vs2005, vs2008, vs2010, vs2012, vs2013, vs2015, vs2017" }
, {nil, "outputdir", "v", ".", "Set the output directory." }
}
})