summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2017-05-11 11:22:06 +0800
committerruki <[email protected]>2017-05-11 11:22:06 +0800
commitd986e3d5022914db01e4dec834de1368ab9147d4 (patch)
tree50a4986afaa217452aca36850605af1f131b0e22
parent7ea12ad1534f745994b4c3b8eaf0820b68bb1907 (diff)
cache version info
-rw-r--r--xmake/core/base/os.lua15
1 files changed, 12 insertions, 3 deletions
diff --git a/xmake/core/base/os.lua b/xmake/core/base/os.lua
index b5e397ed8..c78d41c67 100644
--- a/xmake/core/base/os.lua
+++ b/xmake/core/base/os.lua
@@ -33,9 +33,10 @@ local utils = require("base/utils")
local string = require("base/string")
-- save original interfaces
-os._mkdir = os._mkdir or os.mkdir
-os._rmdir = os._rmdir or os.rmdir
-os._tmpdir = os._tmpdir or os.tmpdir
+os._mkdir = os._mkdir or os.mkdir
+os._rmdir = os._rmdir or os.rmdir
+os._tmpdir = os._tmpdir or os.tmpdir
+os._versioninfo = os._versioninfo or os.versioninfo
-- copy single file or directory
function os._cp(src, dst)
@@ -596,5 +597,13 @@ function os.isexec(filepath)
return os.isfile(filepath)
end
+-- get version info
+function os.versioninfo()
+
+ -- cache it
+ os._VERSIONINFO = os._VERSIONINFO or os._versioninfo()
+ return os._VERSIONINFO
+end
+
-- return module
return os