summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKnightJun <[email protected]>2021-01-15 11:47:09 +0800
committerKnightJun <[email protected]>2021-01-15 11:47:09 +0800
commitecd598a3de7ffa62373446e0bc237c846f3a1bca (patch)
treecb9a4554e5f7a5cb92dc3c1524dec5bec53940fa
parentec41984ca416669dd4d973f20b8f9657152b910a (diff)
Recursively add target dependency env
-rw-r--r--xmake/actions/run/main.lua12
1 files changed, 11 insertions, 1 deletions
diff --git a/xmake/actions/run/main.lua b/xmake/actions/run/main.lua
index a9a838651..872d5d7ea 100644
--- a/xmake/actions/run/main.lua
+++ b/xmake/actions/run/main.lua
@@ -89,6 +89,16 @@ function _on_run_target(target)
_do_run_target(target)
end
+-- recursively target add env
+function _add_target_pkgenvs(target)
+ for name, values in pairs(target:pkgenvs()) do
+ os.addenv(name, unpack(values))
+ end
+ for _, dep in ipairs(target:orderdeps()) do
+ _add_target_pkgenvs(dep)
+ end
+end
+
-- run the given target
function _run(target)
@@ -96,8 +106,8 @@ function _run(target)
local oldenvs = {}
for name, values in pairs(target:pkgenvs()) do
oldenvs[name] = os.getenv(name)
- os.addenv(name, unpack(values))
end
+ _add_target_pkgenvs(target)
-- the target scripts
local scripts =