diff options
| author | KnightJun <[email protected]> | 2021-01-15 11:47:09 +0800 |
|---|---|---|
| committer | KnightJun <[email protected]> | 2021-01-15 11:47:09 +0800 |
| commit | ecd598a3de7ffa62373446e0bc237c846f3a1bca (patch) | |
| tree | cb9a4554e5f7a5cb92dc3c1524dec5bec53940fa | |
| parent | ec41984ca416669dd4d973f20b8f9657152b910a (diff) | |
Recursively add target dependency env
| -rw-r--r-- | xmake/actions/run/main.lua | 12 |
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 = |
