summaryrefslogtreecommitdiff
path: root/xmake/core/tool/builder.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2019-03-09 00:30:13 +0800
committerruki <[email protected]>2019-03-08 21:01:21 +0800
commit7a68e6ad25e28c1b1c375147bb0f543ef3a47862 (patch)
treeed73c0d33c51f6a6f753a90166f58653978ef955 /xmake/core/tool/builder.lua
parentbc397edd2f7bb1ce6a40b3967878f682973351ca (diff)
improve target:get
Diffstat (limited to 'xmake/core/tool/builder.lua')
-rw-r--r--xmake/core/tool/builder.lua29
1 files changed, 29 insertions, 0 deletions
diff --git a/xmake/core/tool/builder.lua b/xmake/core/tool/builder.lua
index 8c6a3a105..a7b664b4c 100644
--- a/xmake/core/tool/builder.lua
+++ b/xmake/core/tool/builder.lua
@@ -212,6 +212,35 @@ function builder:_inherit_from_targetdeps(results, target, flagname)
end
end
+--[[
+-- inherts from target deps
+function builder:_inherit_from_targetdeps(results, target, flagname)
+
+ -- for all target deps
+ local orderdeps = target:orderdeps()
+ local total = #orderdeps
+ for idx, _ in ipairs(orderdeps) do
+
+ -- reverse deps order for links
+ local dep = orderdeps[total + 1 - idx]
+
+ -- inherit this dep target?
+ local depinherit = target:extraconfig("deps", dep:name(), "inherit")
+ if (depinherit == nil or depinherit) then
+
+ dep:extraconf(flagname, "")
+ table.join2(values, dep:get(name))
+
+ if dep:type() == "target" then
+ for _, opt in ipairs(dep:orderopts()) do
+ table.join2(values, opt:get(name))
+ end
+ self:_inherit_from_targetpkgs(values, dep, name)
+ end
+ end
+ end
+end]]
+
-- add flags from the configure
function builder:_addflags_from_config(flags)
for _, flagkind in ipairs(self:_flagkinds()) do