diff options
| author | ruki <[email protected]> | 2019-03-09 00:30:13 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2019-03-08 21:01:21 +0800 |
| commit | 7a68e6ad25e28c1b1c375147bb0f543ef3a47862 (patch) | |
| tree | ed73c0d33c51f6a6f753a90166f58653978ef955 /xmake/core/tool/builder.lua | |
| parent | bc397edd2f7bb1ce6a40b3967878f682973351ca (diff) | |
improve target:get
Diffstat (limited to 'xmake/core/tool/builder.lua')
| -rw-r--r-- | xmake/core/tool/builder.lua | 29 |
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 |
