From 84b64c4ecffe6ed4a498efa8116271ecba78e52d Mon Sep 17 00:00:00 2001 From: ruki Date: Tue, 13 Apr 2021 22:42:22 +0800 Subject: improve envs --- xmake/core/base/os.lua | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'xmake/core/base/os.lua') diff --git a/xmake/core/base/os.lua b/xmake/core/base/os.lua index f9444d4b3..44b373a66 100644 --- a/xmake/core/base/os.lua +++ b/xmake/core/base/os.lua @@ -998,6 +998,23 @@ function os.getenvs() return envs end +-- set all current environment variables +function os.setenvs(envs) + if envs then + -- remove new added values + local curenvs = os.getenvs() + for name, _ in pairs(curenvs) do + if not envs[name] then + os.setenv(name, nil) + end + end + -- change values + for name, values in pairs(envs) do + os.setenv(name, values) + end + end +end + -- set values to environment variable function os.setenv(name, ...) local values = {...} -- cgit v1.3.1