summaryrefslogtreecommitdiff
path: root/xmake/plugins/project/vstudio/impl
diff options
context:
space:
mode:
authorruki <[email protected]>2020-12-18 21:01:27 +0800
committerruki <[email protected]>2020-12-18 21:01:27 +0800
commit37d4120c6cfd0454b45d606d2969e41631cc1f42 (patch)
treed969b5489ef6552358144e562a5bf569d5754559 /xmake/plugins/project/vstudio/impl
parent4560dba670ee153a00f6d7c1cdf65b7c7232ac4d (diff)
improve to generate vs201x
Diffstat (limited to 'xmake/plugins/project/vstudio/impl')
-rw-r--r--xmake/plugins/project/vstudio/impl/vs201x.lua12
1 files changed, 11 insertions, 1 deletions
diff --git a/xmake/plugins/project/vstudio/impl/vs201x.lua b/xmake/plugins/project/vstudio/impl/vs201x.lua
index 10784c5ea..e17825535 100644
--- a/xmake/plugins/project/vstudio/impl/vs201x.lua
+++ b/xmake/plugins/project/vstudio/impl/vs201x.lua
@@ -29,6 +29,9 @@ import("core.tool.toolchain")
import("vs201x_solution")
import("vs201x_vcxproj")
import("vs201x_vcxproj_filters")
+import("lib.detect.cache", {alias = "detectcache"})
+import("actions.require.install", {alias = "install_requires", rootdir = os.programdir()})
+import("actions.config.configfiles", {alias = "generate_configfiles", rootdir = os.programdir()})
import("actions.config.configheader", {alias = "generate_configheader", rootdir = os.programdir()})
-- make target info
@@ -229,6 +232,9 @@ function make(outputdir, vsinfo)
-- reload config, project and platform
if mode ~= config.mode() or arch ~= config.arch() then
+ -- clear detect cache
+ detectcache.clear()
+
-- modify config
config.set("as", nil, {force = true}) -- force to re-check as for ml/ml64
config.set("mode", mode, {readonly = true, force = true})
@@ -243,7 +249,11 @@ function make(outputdir, vsinfo)
-- check project options
project.check()
- -- re-generate configheader
+ -- install and update requires
+ install_requires()
+
+ -- update config files
+ generate_configfiles()
generate_configheader()
end