diff options
| author | ruki <[email protected]> | 2020-12-31 00:49:01 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2020-12-31 00:49:01 +0800 |
| commit | a4ea6d506a0b64513f382e578e7952b2b808bc9d (patch) | |
| tree | a0ad8dab918e97e5f444a21e628219dc7b0761ad /xmake/actions/require/impl/package.lua | |
| parent | 107a8a57ce7d8b5dfb17d2ea6da7cb0d643157ec (diff) | |
load depconfigs
Diffstat (limited to 'xmake/actions/require/impl/package.lua')
| -rw-r--r-- | xmake/actions/require/impl/package.lua | 39 |
1 files changed, 23 insertions, 16 deletions
diff --git a/xmake/actions/require/impl/package.lua b/xmake/actions/require/impl/package.lua index 116600bf9..9ded6013a 100644 --- a/xmake/actions/require/impl/package.lua +++ b/xmake/actions/require/impl/package.lua @@ -391,6 +391,26 @@ function _load_package(packagename, requireinfo, opt) return package end +-- load the extra configs dependent packages and inherit some builtin configs +function _load_package_depconfigs(package) + local deps = package:get("deps") + local extraconfs = package:extraconf("deps") or {} + if not package:config("shared") then + for _, depstr in ipairs(deps) do + local depconf = extraconfs[depstr] + if not depconf then + depconf = {} + extraconfs[depstr] = depconf + end + depconf.configs = depconf.configs or {} + if depconf.configs.vs_runtime == nil then + depconf.configs.vs_runtime = package:config("vs_runtime") + end + end + end + return extraconfs +end + -- load all required packages function _load_packages(requires, opt) @@ -415,23 +435,10 @@ function _load_packages(requires, opt) local deps = package:get("deps") if deps and opt.nodeps ~= true then - -- get the extra configs dependent packages and inherit some builtin configs - local extraconfs = package:extraconf("deps") or {} - if not package:config("shared") then - for _, depstr in ipairs(deps) do - local depconf = extraconfs[depstr] - if not depconf then - depconf = {} - extraconfs[depstr] = depconf - end - depconf.configs = depconf.configs or {} - if depconf.configs.vs_runtime == nil then - depconf.configs.vs_runtime = package:config("vs_runtime") - end - end - end + -- get the extra configs dependent packages + local extraconfs = _load_package_depconfigs(package) - -- load dependent packages and do not load system packages for package/deps() + -- load dependent packages and do not load system/3rd packages for package/deps() local packagedeps = {} for _, dep in ipairs(_load_packages(deps, {rootkey = rootkey, requires_extra = extraconfs, parentinfo = requireinfo.info, nodeps = opt.nodeps, system = false})) do dep:parents_add(package) |
