summaryrefslogtreecommitdiff
path: root/xmake/core/package/package.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2019-03-17 22:46:36 +0800
committerruki <[email protected]>2019-03-17 22:46:36 +0800
commitecdb953daa77c74a7475c7486d8df6d96d0d0c4d (patch)
tree5720d5b5de715400591fc18a9417a9da2a189e28 /xmake/core/package/package.lua
parente35215c72fa78df798a88ca1cd9bed9bb36013d5 (diff)
bind package envs to run
Diffstat (limited to 'xmake/core/package/package.lua')
-rw-r--r--xmake/core/package/package.lua13
1 files changed, 8 insertions, 5 deletions
diff --git a/xmake/core/package/package.lua b/xmake/core/package/package.lua
index fead86f1c..baa8319b1 100644
--- a/xmake/core/package/package.lua
+++ b/xmake/core/package/package.lua
@@ -319,6 +319,9 @@ function _instance:envs()
local envs = self._ENVS
if not envs then
envs = {}
+ if self:kind() == "binary" then
+ envs.PATH = {"bin"}
+ end
self._ENVS = envs
end
return envs
@@ -336,15 +339,15 @@ function _instance:envs_enter()
-- add the new environments
local installdir = self:installdir()
- if self:kind() == "binary" then
- oldenvs.PATH = os.getenv("PATH")
- os.addenv("PATH", path.join(installdir, "bin"))
- end
for name, values in pairs(self:envs()) do
oldenvs[name] = oldenvs[name] or os.getenv(name)
if name == "PATH" then
for _, value in ipairs(values) do
- os.addenv(name, path.join(installdir, value))
+ if path.is_absolute(value) then
+ os.addenv(name, value)
+ else
+ os.addenv(name, path.join(installdir, value))
+ end
end
else
os.addenv(name, unpack(values))