diff options
| author | ruki <[email protected]> | 2017-05-23 22:12:06 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2017-05-23 22:12:06 +0800 |
| commit | a23adbdd4bf9e45589ddae31c2744e2328114b6d (patch) | |
| tree | ff43be29cc08bfb55621f2dd702c8c187011e298 /xmake/core/base/os.lua | |
| parent | 62cb9b70b1682156c8f8a160eb18604b2226a5b2 (diff) | |
add os.addenv and improve os.setenv
Diffstat (limited to 'xmake/core/base/os.lua')
| -rw-r--r-- | xmake/core/base/os.lua | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/xmake/core/base/os.lua b/xmake/core/base/os.lua index 5a496b414..95ebfa79f 100644 --- a/xmake/core/base/os.lua +++ b/xmake/core/base/os.lua @@ -38,6 +38,7 @@ os._gid = os._gid or os.gid os._mkdir = os._mkdir or os.mkdir os._rmdir = os._rmdir or os.rmdir os._tmpdir = os._tmpdir or os.tmpdir +os._setenv = os._setenv or os.setenv os._versioninfo = os._versioninfo or os.versioninfo -- copy single file or directory @@ -658,6 +659,27 @@ function os.isroot() return os.uid().euid == 0 end +-- set values to environment variable +function os.setenv(name, ...) + + -- get separator + local seperator = utils.ifelse(os.host() == "windows", ';', ':') + + -- append values + return os._setenv(name, table.concat({...}, seperator)) +end + +-- add values to environment variable +function os.addenv(name, ...) + + -- get separator + local seperator = utils.ifelse(os.host() == "windows", ';', ':') + + -- append values + return os.setenv(name, table.concat({...}, seperator) .. seperator .. (os.getenv(name) or "")) + +end + -- get version info function os.versioninfo() |
