summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2022-08-18 23:21:17 +0800
committerruki <[email protected]>2022-08-18 23:21:17 +0800
commit6eb77e82133672d8b5f430da4b3c8f7701e912c7 (patch)
tree2bbc66e1fc3c8ec37811534ad238914f6ad4a65e
parent365f650e4c783fddb4010eced5c75f4b6285a60a (diff)
improve package requires
-rw-r--r--xmake/modules/private/action/require/impl/package.lua28
1 files changed, 13 insertions, 15 deletions
diff --git a/xmake/modules/private/action/require/impl/package.lua b/xmake/modules/private/action/require/impl/package.lua
index aa7fc9b96..7a18e1684 100644
--- a/xmake/modules/private/action/require/impl/package.lua
+++ b/xmake/modules/private/action/require/impl/package.lua
@@ -466,19 +466,6 @@ function _init_requireinfo(requireinfo, package, opt)
requireinfo.configs = requireinfo.configs or {}
if opt.is_toplevel then
requireinfo.is_toplevel = true
- if not package:is_headeronly() then
- if package:is_library() then
- requireinfo.configs.toolchains = requireinfo.configs.toolchains or project.get("target.toolchains")
- if project.policy("package.inherit_external_configs") then
- requireinfo.configs.toolchains = requireinfo.configs.toolchains or get_config("toolchain")
- end
- end
- requireinfo.configs.vs_runtime = requireinfo.configs.vs_runtime or project.get("target.runtimes")
- if project.policy("package.inherit_external_configs") then
- requireinfo.configs.vs_runtime = requireinfo.configs.vs_runtime or get_config("vs_runtime")
- end
- requireinfo.configs.lto = requireinfo.configs.lto or project.policy("build.optimization.lto")
- end
end
end
@@ -488,8 +475,19 @@ function _finish_requireinfo(requireinfo, package)
if package:is_headeronly() then
requireinfo.configs.vs_runtime = nil
else
- if requireinfo.configs.vs_runtime == nil and package:is_plat("windows") then
- requireinfo.configs.vs_runtime = "MT"
+ if package:is_library() then
+ requireinfo.configs.toolchains = requireinfo.configs.toolchains or project.get("target.toolchains")
+ if project.policy("package.inherit_external_configs") then
+ requireinfo.configs.toolchains = requireinfo.configs.toolchains or get_config("toolchain")
+ end
+ end
+ requireinfo.configs.vs_runtime = requireinfo.configs.vs_runtime or project.get("target.runtimes")
+ if project.policy("package.inherit_external_configs") then
+ requireinfo.configs.vs_runtime = requireinfo.configs.vs_runtime or get_config("vs_runtime")
+ end
+ requireinfo.configs.lto = requireinfo.configs.lto or project.policy("build.optimization.lto")
+ if package:is_plat("windows") then
+ requireinfo.configs.vs_runtime = requireinfo.configs.vs_runtime or "MT"
end
end
-- we need ensure readonly configs