diff options
| author | ruki <[email protected]> | 2021-01-08 00:35:32 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2021-01-08 00:35:32 +0800 |
| commit | 5f1accca63f38b619205bc778b503442f7d3fd94 (patch) | |
| tree | 4a86fa2c0f9d2d01f2d68798a5b11f1d786349b8 | |
| parent | 0d532ddf2b5228cb41f1e699a183de63072d90d4 (diff) | |
fix load package
| -rw-r--r-- | xmake/actions/require/impl/package.lua | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/xmake/actions/require/impl/package.lua b/xmake/actions/require/impl/package.lua index 634a7cfdc..1bfe5361f 100644 --- a/xmake/actions/require/impl/package.lua +++ b/xmake/actions/require/impl/package.lua @@ -452,11 +452,13 @@ end function _inherit_parent_configs(requireinfo, parentinfo) local requireinfo_configs = requireinfo.configs or {} local parentinfo_configs = parentinfo.configs or {} - if requireinfo_configs.vs_runtime == nil then - requireinfo_configs.vs_runtime = parentinfo_configs.vs_runtime - end - if requireinfo_configs.pic == nil then - requireinfo_configs.pic = parentinfo_configs.pic + if not requireinfo_configs.shared then + if requireinfo_configs.vs_runtime == nil then + requireinfo_configs.vs_runtime = parentinfo_configs.vs_runtime + end + if requireinfo_configs.pic == nil then + requireinfo_configs.pic = parentinfo_configs.pic + end end requireinfo.configs = requireinfo_configs end @@ -494,17 +496,17 @@ function _load_package(packagename, requireinfo, opt) -- merge requireinfo from `add_requireconfs()` _merge_requireinfo(requireinfo, opt.requirepath) + -- inherit some builtin configs of parent package, e.g. vs_runtime, pic + if opt.parentinfo and package:kind() ~= "binary" then + _inherit_parent_configs(requireinfo, opt.parentinfo) + end + -- select package version local version, source = _select_package_version(package, requireinfo) if version then package:version_set(version, source) end - -- inherit some builtin configs of parent package, e.g. vs_runtime, pic - if opt.parentinfo and package:kind() ~= "binary" and not package:config("shared") then - _inherit_parent_configs(requireinfo, opt.parentinfo) - end - -- get package key local packagekey = _get_packagekey(packagename, requireinfo, version) |
