summaryrefslogtreecommitdiff
path: root/xmake/plugins/project/vstudio/impl
diff options
context:
space:
mode:
authorruki <[email protected]>2021-03-06 00:32:09 +0800
committerruki <[email protected]>2021-03-06 00:32:09 +0800
commit0a3430a9e0a613de7cdac9e8d75335683744ab95 (patch)
treee8ae3f4c8724e312a5c26884fde4292029e670d4 /xmake/plugins/project/vstudio/impl
parent6ad24d9abe5b30d3b3c7dbf812afc558a10ecc08 (diff)
switch on_config
Diffstat (limited to 'xmake/plugins/project/vstudio/impl')
-rw-r--r--xmake/plugins/project/vstudio/impl/vs201x.lua26
1 files changed, 26 insertions, 0 deletions
diff --git a/xmake/plugins/project/vstudio/impl/vs201x.lua b/xmake/plugins/project/vstudio/impl/vs201x.lua
index 968cac080..a66761d4d 100644
--- a/xmake/plugins/project/vstudio/impl/vs201x.lua
+++ b/xmake/plugins/project/vstudio/impl/vs201x.lua
@@ -220,6 +220,29 @@ function _make_vsinfo_archs()
return vsinfo_archs
end
+-- config target
+function _config_target(target)
+ for _, rule in ipairs(target:orderules()) do
+ local on_config = rule:script("config")
+ if on_config then
+ on_config(target)
+ end
+ end
+ local on_config = target:script("config")
+ if on_config then
+ on_config(target)
+ end
+end
+
+-- config targets
+function _config_targets()
+ for _, target in ipairs(project.ordertargets()) do
+ if target:is_enabled() then
+ _config_target(target)
+ end
+ end
+end
+
-- make vstudio project
function make(outputdir, vsinfo)
@@ -273,6 +296,9 @@ function make(outputdir, vsinfo)
-- install and update requires
install_requires()
+ -- config targets
+ _config_targets()
+
-- update config files
generate_configfiles()
generate_configheader()