diff options
| author | ruki <[email protected]> | 2023-10-24 22:53:05 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2023-10-24 22:53:05 +0800 |
| commit | 66b43560f7cf25b20ecb78a85dc17fe1f975bb48 (patch) | |
| tree | 52e461ab60c8c76d6b5a8ae8a379121991573df9 /xmake/core/tool/builder.lua | |
| parent | 645d407a01aa69d35d5340c66f5e109583e4c427 (diff) | |
pass extras to tools
Diffstat (limited to 'xmake/core/tool/builder.lua')
| -rw-r--r-- | xmake/core/tool/builder.lua | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/xmake/core/tool/builder.lua b/xmake/core/tool/builder.lua index dbd716082..a6cea93c0 100644 --- a/xmake/core/tool/builder.lua +++ b/xmake/core/tool/builder.lua @@ -281,6 +281,14 @@ function builder:_add_flags_from_argument(flags, target, args) local extras = args.extras self:_add_flags_from_language(flags, nil, { target = function (name) + -- we need also to get extras from arguments + -- @see https://github.com/xmake-io/xmake/issues/4274 + -- + -- e.g. + -- package/add_linkgroups("xxx", {group = true}) + -- {linkgroups = , extras = { + -- linkgroups = {z = {group = true}} + -- }} return args[name], extras and extras[name] end, toolchain = function (name) @@ -437,7 +445,7 @@ function builder:_add_flags_from_language(flags, target, getters) local mapper = item.mapper local extras = item.extras if item.multival then - local results = mapper(self:_tool(), item.values, target, self:_targetkind()) + local results = mapper(self:_tool(), item.values, {target = target, targetkind = self:_targetkind(), extras = extras}) for _, flag in ipairs(table.wrap(results)) do if flag and flag ~= "" and (not check or self:has_flags(flag)) then table.insert(flags, flag) @@ -445,7 +453,7 @@ function builder:_add_flags_from_language(flags, target, getters) end else for _, flagvalue in ipairs(item.values) do - local flag = mapper(self:_tool(), flagvalue, target, self:_targetkind()) + local flag = mapper(self:_tool(), flagvalue, {target = target, targetkind = self:_targetkind(), extras = extras}) if flag and flag ~= "" and (not check or self:has_flags(flag)) then table.insert(flags, flag) end |
