summaryrefslogtreecommitdiff
path: root/xmake/core/tool/builder.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2022-02-17 22:47:48 +0800
committerruki <[email protected]>2022-02-17 22:47:48 +0800
commit168e70b7e06cfcfbadff763fed0d838b92130ad9 (patch)
tree401fe00d3aaa38d7db950f1d90eba8a292b9d24e /xmake/core/tool/builder.lua
parent54efc65b6ed2dfc86c28ba7cc3f40a6084785026 (diff)
improve modules with space
Diffstat (limited to 'xmake/core/tool/builder.lua')
-rw-r--r--xmake/core/tool/builder.lua27
1 files changed, 12 insertions, 15 deletions
diff --git a/xmake/core/tool/builder.lua b/xmake/core/tool/builder.lua
index 8685c34b7..b7ef1fdc0 100644
--- a/xmake/core/tool/builder.lua
+++ b/xmake/core/tool/builder.lua
@@ -58,11 +58,13 @@ function builder:_mapflag(flag, flagkind, mapflags, auto_ignore_flags)
return flag_mapped
end
- -- find and replace it using pattern
- for k, v in pairs(mapflags) do
- local flag_mapped, count = flag:gsub("^" .. k .. "$", function (w) return v end)
- if flag_mapped and count ~= 0 then
- return #flag_mapped ~= 0 and flag_mapped
+ -- find and replace it using pattern, maybe flag is table, e.g. {"-I", "/xxx"}
+ if type(flag) == "string" then
+ for k, v in pairs(mapflags) do
+ local flag_mapped, count = flag:gsub("^" .. k .. "$", function (w) return v end)
+ if flag_mapped and count ~= 0 then
+ return #flag_mapped ~= 0 and flag_mapped
+ end
end
end
@@ -70,7 +72,7 @@ function builder:_mapflag(flag, flagkind, mapflags, auto_ignore_flags)
if auto_ignore_flags == false or self:has_flags(flag, flagkind) then
return flag
else
- utils.warning("add_%s(\"%s\") is ignored, please pass `{force = true}` or call `set_policy(\"check.auto_ignore_flags\", false)` if you want to set it.", flagkind, flag)
+ utils.warning("add_%s(\"%s\") is ignored, please pass `{force = true}` or call `set_policy(\"check.auto_ignore_flags\", false)` if you want to set it.", flagkind, os.args(flag))
end
end
@@ -132,20 +134,17 @@ function builder:_add_flags_from_flagkind(flags, target, flagkind, opt)
local extraconf = target:extraconf(flagkind)
if extraconf then
for _, flag in ipairs(table.wrap(targetflags)) do
- -- force to add flags?
+ -- @note we need join the single flag with shallow mode, aboid expand table values
+ -- e.g. add_cflags({"-I", "/tmp/xxx foo"}, {force = true, expand = false})
local flagconf = extraconf[flag]
if flagconf and flagconf.force then
- table.join2(flags, flag)
- print("111")
+ table.shallow_join2(flags, flag)
else
- table.join2(flags, self:_mapflags(flag, flagkind, target))
- print("222")
- utils.dump(self:_mapflags(flag, flagkind, target))
+ table.shallow_join2(flags, self:_mapflag(flag, flagkind, target))
end
end
else
table.join2(flags, self:_mapflags(targetflags, flagkind, target))
- print("xxxx")
end
end
@@ -217,13 +216,11 @@ function builder:_add_flags_from_target(flags, target)
self:_inherit_flags_from_targetdeps(targetflags, target)
end
- utils.dump(targetflags)
-- add the target flags
for _, flagkind in ipairs(self:_flagkinds()) do
self:_add_flags_from_flagkind(targetflags, target, flagkind)
end
cache[key] = targetflags
- utils.dump(targetflags)
end
table.join2(flags, targetflags)
end