diff options
| author | ruki <[email protected]> | 2022-08-18 23:21:17 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2022-08-18 23:21:17 +0800 |
| commit | 6eb77e82133672d8b5f430da4b3c8f7701e912c7 (patch) | |
| tree | 2bbc66e1fc3c8ec37811534ad238914f6ad4a65e | |
| parent | 365f650e4c783fddb4010eced5c75f4b6285a60a (diff) | |
improve package requires
| -rw-r--r-- | xmake/modules/private/action/require/impl/package.lua | 28 |
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 |
