summaryrefslogtreecommitdiff
path: root/xmake/core/base/os.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2019-04-21 22:12:21 +0800
committerruki <[email protected]>2019-04-21 22:12:21 +0800
commit7e50a99af45fe32e6ea3567925b3ab19b67da0dc (patch)
treef651f67a3376a6ec68f806d03e0c3f8cd6698b1b /xmake/core/base/os.lua
parent36b8963329d23282a8022fc4c117909c3754f40e (diff)
pass build envs got autoconf
Diffstat (limited to 'xmake/core/base/os.lua')
-rw-r--r--xmake/core/base/os.lua32
1 files changed, 23 insertions, 9 deletions
diff --git a/xmake/core/base/os.lua b/xmake/core/base/os.lua
index 8b9e9dbb5..dac5a3e44 100644
--- a/xmake/core/base/os.lua
+++ b/xmake/core/base/os.lua
@@ -901,22 +901,36 @@ end
-- set values to environment variable
function os.setenv(name, ...)
-
- -- get separator
local seperator = os.host() == "windows" and ';' or ':'
-
- -- append values
return os._setenv(name, table.concat({...}, seperator))
end
-- add values to environment variable
function os.addenv(name, ...)
-
- -- get separator
local seperator = os.host() == "windows" and ';' or ':'
-
- -- append values
- return os.setenv(name, table.concat({...}, seperator) .. seperator .. (os.getenv(name) or ""))
+ local values = {...}
+ if #values > 0 then
+ return os._setenv(name, table.concat(values, seperator) .. seperator .. (os.getenv(name) or ""))
+ else
+ return os.getenv(name)
+ end
+end
+
+-- set values to environment variable with the given seperator
+function os.setenvp(name, values, seperator)
+ seperator = seperator or (os.host() == "windows" and ';' or ':')
+ return os._setenv(name, table.concat(table.wrap(values), seperator))
+end
+
+-- add values to environment variable with the given seperator
+function os.addenvp(name, values, seperator)
+ seperator = seperator or (os.host() == "windows" and ';' or ':')
+ values = table.wrap(values)
+ if #values > 0 then
+ return os._setenv(name, table.concat(values, seperator) .. seperator .. (os.getenv(name) or ""))
+ else
+ return os.getenv(name)
+ end
end
-- read string data from pasteboard