diff options
| author | ruki <[email protected]> | 2021-04-27 22:51:19 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2021-04-27 22:51:19 +0800 |
| commit | 1b2808af7509375c04644a05a109d641886a61ce (patch) | |
| tree | d8fe4eac3d02a405dcdabc973d2c6fe387cebeea | |
| parent | d0ef3fca402b5a361ad48520c57b074fcb99b565 (diff) | |
improve to register packages
| -rw-r--r-- | xmake/modules/private/action/require/impl/register_packages.lua | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/xmake/modules/private/action/require/impl/register_packages.lua b/xmake/modules/private/action/require/impl/register_packages.lua index 9bc1c52cb..630ae89fe 100644 --- a/xmake/modules/private/action/require/impl/register_packages.lua +++ b/xmake/modules/private/action/require/impl/register_packages.lua @@ -88,20 +88,21 @@ function _register_required_package(instance, required_package) _register_required_package_base(instance, required_package) _register_required_package_libs(instance, required_package) _register_required_package_envs(instance, envs) - local orderdeps = instance:orderdeps() - if orderdeps then - local total = #orderdeps - for idx, _ in ipairs(orderdeps) do - local dep = orderdeps[total + 1 - idx] + local linkdeps = instance:linkdeps() + if linkdeps then + local total = #linkdeps + for idx, _ in ipairs(linkdeps) do + local dep = linkdeps[total + 1 - idx] if dep then - -- we can only inherit all link deps of library package - if instance:is_library() then - _register_required_package_libs(dep, required_package, true) - end - _register_required_package_envs(dep, envs) + _register_required_package_libs(dep, required_package, true) end end end + for _, dep in ipairs(instance:orderdeps()) do + if not dep:is_private() then + _register_required_package_envs(dep, envs) + end + end if #table.keys(envs) > 0 then required_package:add({envs = envs}) end |
