diff options
| -rw-r--r-- | xmake/actions/require/package.lua | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/xmake/actions/require/package.lua b/xmake/actions/require/package.lua index 752c85622..301f960ef 100644 --- a/xmake/actions/require/package.lua +++ b/xmake/actions/require/package.lua @@ -493,11 +493,20 @@ function install_packages(requires, requires_extra) end) -- install all required packages from repositories + local pathes = os.getenv("PATH") for _, package in ipairs(packages) do + + -- enter package environment + if package:kind() == "binary" then + os.addenv("PATH", package:installdir("bin")) + end + + -- install package if (option.get("force") or not package:exists()) and (#package:urls() > 0 or package:script("install")) then action.install(package) end end + os.setenv("PATH", pathes) -- ok return packages |
