diff options
| author | ruki <[email protected]> | 2020-10-06 00:56:46 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2020-10-06 00:56:46 +0800 |
| commit | c73161f573ea50e24494114166d5ae6d25e56196 (patch) | |
| tree | 468e6d79e8d1a6eb535b946b4edb8b34560a55ef /xmake/actions/install/install.lua | |
| parent | 3b57dab66edacc4f0f17cebf20c5c726def7a993 (diff) | |
improve install/uninstall/package
Diffstat (limited to 'xmake/actions/install/install.lua')
| -rw-r--r-- | xmake/actions/install/install.lua | 32 |
1 files changed, 9 insertions, 23 deletions
diff --git a/xmake/actions/install/install.lua b/xmake/actions/install/install.lua index 624868f42..99bbff9b5 100644 --- a/xmake/actions/install/install.lua +++ b/xmake/actions/install/install.lua @@ -104,41 +104,27 @@ function _install_target(target) os.cd(oldir) end --- install the given target and deps -function _install_target_and_deps(target) - - -- this target have been finished? - if _g.finished[target:name()] then - return - end - - -- install for all dependent targets - for _, depname in ipairs(target:get("deps")) do - _install_target_and_deps(project.target(depname)) +-- install the given targets +function _install_targets(targets) + for _, target in ipairs(targets) do + _install_target(target) end - - -- install target - _install_target(target) - - -- finished - _g.finished[target:name()] = true end -- install targets function main(targetname) - -- init finished states - _g.finished = {} - -- install the given target? if targetname and not targetname:startswith("__") then - _install_target_and_deps(project.target(targetname)) + local target = project.target(targetname) + _install_targets(target:orderdeps()) + _install_target(target) else -- install default or all targets - for _, target in pairs(project.targets()) do + for _, target in ipairs(project.ordertargets()) do local default = target:get("default") if default == nil or default == true or targetname == "__all" then - _install_target_and_deps(target) + _install_target(target) end end end |
