summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2024-02-05 22:47:55 +0800
committerruki <[email protected]>2024-02-05 22:47:55 +0800
commit56f085c08abb87909eb8738429083455c04b22f0 (patch)
tree71c54bc2a348d59b6fd47c04636b4da567c8d172
parentf07072ae14dc0f4a0b6500b80d391fee86349420 (diff)
improve to get option flags from target
-rw-r--r--xmake/core/tool/builder.lua11
1 files changed, 7 insertions, 4 deletions
diff --git a/xmake/core/tool/builder.lua b/xmake/core/tool/builder.lua
index 89014759e..b86bf9637 100644
--- a/xmake/core/tool/builder.lua
+++ b/xmake/core/tool/builder.lua
@@ -213,9 +213,12 @@ end
-- add flags from the target options
function builder:_add_flags_from_targetopts(flags, target)
- for _, opt in ipairs(target:orderopts()) do
- for _, flagkind in ipairs(self:_flagkinds()) do
- self:_add_flags_from_flagkind(flags, opt, flagkind)
+ for _, flagkind in ipairs(self:_flagkinds()) do
+ local result = target:get_from(flagkind, "option::*")
+ if result then
+ for _, values in ipairs(table.wrap(result)) do
+ table.join2(flags, self:_mapflags(values, flagkind, target))
+ end
end
end
end
@@ -225,7 +228,7 @@ function builder:_add_flags_from_targetpkgs(flags, target)
for _, flagkind in ipairs(self:_flagkinds()) do
local result = target:get_from(flagkind, "package::*")
if result then
- for _, values in ipairs(result) do
+ for _, values in ipairs(table.wrap(result)) do
table.join2(flags, self:_mapflags(values, flagkind, target))
end
end