diff options
| author | ruki <[email protected]> | 2023-04-14 23:59:22 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2023-04-14 23:59:22 +0800 |
| commit | d63fec3fff009d046fa413f597197edd9957d953 (patch) | |
| tree | ba342afc353065048c9d7a59a3241525def97973 | |
| parent | d6ee79eeddbe08617a41c24c2040aff37626f845 (diff) | |
improve set_base for configs #3622
| -rw-r--r-- | xmake/core/package/package.lua | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/xmake/core/package/package.lua b/xmake/core/package/package.lua index 2df0adf72..7508b207f 100644 --- a/xmake/core/package/package.lua +++ b/xmake/core/package/package.lua @@ -88,7 +88,15 @@ end -- get the package configuration function _instance:get(name) local value = self._INFO:get(name) - if value == nil and self:base() then + if name == "configs" then + -- we need merge it, because current builtin configs always exists + if self:base() then + local configs_base = self:base():get("configs") + if configs_base then + value = table.unique(table.join(value or {}, configs_base)) + end + end + elseif value == nil and self:base() then value = self:base():get(name) end if value ~= nil then @@ -1299,10 +1307,6 @@ function _instance:config(name) if configs then value = configs[name] end - -- we cannot get it from `self:get()`, because there are always some builtin configs. - if value == nil and self:base() then - value = self:base():config(name) - end return value end |
