From ecd598a3de7ffa62373446e0bc237c846f3a1bca Mon Sep 17 00:00:00 2001 From: KnightJun Date: Fri, 15 Jan 2021 11:47:09 +0800 Subject: Recursively add target dependency env --- xmake/actions/run/main.lua | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) 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 = -- cgit v1.3.1