From d63fec3fff009d046fa413f597197edd9957d953 Mon Sep 17 00:00:00 2001 From: ruki Date: Fri, 14 Apr 2023 23:59:22 +0800 Subject: improve set_base for configs #3622 --- xmake/core/package/package.lua | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'xmake/core/package/package.lua') 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 -- cgit v1.3.1