diff options
| author | ruki <[email protected]> | 2021-05-11 00:41:32 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2021-05-11 10:28:37 +0800 |
| commit | 0b9b15fb9cd681831d3964474f5935e4e38e0e60 (patch) | |
| tree | 41e7b63ea7b72811aa38eba5937d9212eb51a52f /xmake/core/project/target.lua | |
| parent | 1a1b4ddb49c43103f3c498d74dbee267a210fad7 (diff) | |
improve target:pkgenvs
Diffstat (limited to 'xmake/core/project/target.lua')
| -rw-r--r-- | xmake/core/project/target.lua | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/xmake/core/project/target.lua b/xmake/core/project/target.lua index f4bf69efb..3b5c67427 100644 --- a/xmake/core/project/target.lua +++ b/xmake/core/project/target.lua @@ -140,10 +140,7 @@ end function _instance:_load_after() -- enter the environments of the target packages - local oldenvs = os.getenvs() - for name, values in pairs(self:pkgenvs()) do - os.addenv(name, unpack(values)) - end + local oldenvs = os.addenvs(self:pkgenvs()) -- do after_load with target rules local ok, errors = self:_load_rules("after") @@ -792,8 +789,14 @@ function _instance:pkgenvs() local envs = pkg:get("envs") if envs then for name, values in pairs(envs) do - pkgenvs[name] = pkgenvs[name] or {} - table.join2(pkgenvs[name], values) + if type(values) == "table" then + values = path.joinenv(values) + end + if pkgenvs[name] then + pkgenvs[name] = pkgenvs[name] .. path.envsep() .. values + else + pkgenvs[name] = values + end end end end |
