diff options
| author | ruki <[email protected]> | 2023-02-03 22:43:15 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2023-02-03 22:43:15 +0800 |
| commit | cb25a376214336f59a6153a541835a6fe313f07b (patch) | |
| tree | 2db608f3208a5fbd7f9d8874f8660f81bd433f46 | |
| parent | b578d5776e5d191f608fce5f0e4e3b827a2be197 (diff) | |
show flags from deps
| -rw-r--r-- | xmake/plugins/show/info/target.lua | 30 |
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 |
