summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2021-06-13 16:41:10 +0800
committerruki <[email protected]>2021-06-13 16:41:17 +0800
commitd93956220f0fb37f29d8ff1832bbea4b668a6ef3 (patch)
tree6f709638e93df7655ea208ea44229d0517564d31
parent98d767be3a4504052abb1276d87fe90b2450e93f (diff)
improve configs for package
-rw-r--r--xmake/modules/private/action/require/impl/package.lua8
1 files changed, 7 insertions, 1 deletions
diff --git a/xmake/modules/private/action/require/impl/package.lua b/xmake/modules/private/action/require/impl/package.lua
index 59ac7abed..7aa268022 100644
--- a/xmake/modules/private/action/require/impl/package.lua
+++ b/xmake/modules/private/action/require/impl/package.lua
@@ -365,7 +365,6 @@ function _init_requireinfo(requireinfo, package, opt)
requireinfo.is_toplevel = true
if not package:is_headeronly() then
if package:is_cross() and package:is_library() then
- -- TODO get extra configs of toolchain
requireinfo.configs.toolchains = requireinfo.configs.toolchains or project.get("target.toolchains") or get_config("toolchain")
end
requireinfo.configs.vs_runtime = requireinfo.configs.vs_runtime or project.get("target.runtimes") or get_config("vs_runtime")
@@ -381,6 +380,13 @@ function _set_requireinfo_default(requireinfo, package)
requireinfo.configs.vs_runtime = "MT"
end
end
+ -- we need ensure readonly configs
+ for _, name in ipairs(table.keys(requireinfo.configs)) do
+ if package:config(name) ~= nil and package:extraconf("configs", name, "readonly") then
+ -- package:config() will use default value after loading package
+ requireinfo.configs[name] = nil
+ end
+ end
end
-- merge requireinfo from `add_requireconfs()`