summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2023-02-03 22:43:15 +0800
committerruki <[email protected]>2023-02-03 22:43:15 +0800
commitcb25a376214336f59a6153a541835a6fe313f07b (patch)
tree2db608f3208a5fbd7f9d8874f8660f81bd433f46
parentb578d5776e5d191f608fce5f0e4e3b827a2be197 (diff)
show flags from deps
-rw-r--r--xmake/plugins/show/info/target.lua30
1 files changed, 26 insertions, 4 deletions
diff --git a/xmake/plugins/show/info/target.lua b/xmake/plugins/show/info/target.lua
index 98aeb4275..85ba31df2 100644
--- a/xmake/plugins/show/info/target.lua
+++ b/xmake/plugins/show/info/target.lua
@@ -102,6 +102,28 @@ function _get_values_from_pkgs(target, name)
return values
end
+-- get values from target dependencies
+function _get_values_from_deps(target, name)
+ local values = {}
+ local orderdeps = target:orderdeps()
+ local total = #orderdeps
+ for idx, _ in ipairs(orderdeps) do
+ local dep = orderdeps[total + 1 - idx]
+ local depinherit = target:extraconf("deps", dep:name(), "inherit")
+ if depinherit == nil or depinherit then
+ for _, value in ipairs(dep:get(name, {interface = true})) do
+ values[value] = string.format(" -> dep(%s)", dep:name())
+ end
+ for _, value in ipairs(dep:get_from_opts(name, {interface = true})) do
+ values[value] = string.format(" -> dep(%s) -> options", dep:name())
+ end
+ for _, value in ipairs(dep:get_from_pkgs(name, {interface = true})) do
+ values[value] = string.format(" -> dep(%s) -> packages", dep:name())
+ end
+ end
+ end
+ return values
+end
-- show target information
function _show_target(target)
@@ -161,16 +183,16 @@ function _show_target(target)
for value, sourceinfo in pairs(values_from_pkgs) do
table.insert(results, {value = value, sourceinfo = sourceinfo})
end
+ local values_from_deps = _get_values_from_deps(target, valuename)
+ for value, sourceinfo in pairs(values_from_deps) do
+ table.insert(results, {value = value, sourceinfo = sourceinfo})
+ end
if #results > 0 then
cprint(" ${color.dump.string}%s${clear}:", valuename)
for _, result in ipairs(results) do
cprint(" ${color.dump.reference}->${clear} %s%s", result.value, result.sourceinfo)
end
end
- --[[
- local values_from_deps = target:get_from_deps(valuename)
- local values_from_pkgs = target:get_from_pkgs(valuename)
- end]]
end
end
end