summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2019-06-03 10:52:52 +0800
committerGitHub <[email protected]>2019-06-03 10:52:52 +0800
commit79f7b27e45f43ad24c8589abb4a5928c1afcb52b (patch)
tree9be6bca5f9aa3847a96553d64c59eb9117ee0179
parent02847a12d501e3993fde5c664235530c1e422877 (diff)
parentacad517e5ce23a82979a87155bb639f91098adaf (diff)
Merge pull request #435 from OpportunityLiu/dev
fix winver
-rw-r--r--xmake/core/base/winos.lua18
1 files changed, 15 insertions, 3 deletions
diff --git a/xmake/core/base/winos.lua b/xmake/core/base/winos.lua
index ae66a1542..b444b2ed2 100644
--- a/xmake/core/base/winos.lua
+++ b/xmake/core/base/winos.lua
@@ -95,18 +95,30 @@ function winos.version()
-- get it from cache first
if winos._VERSION ~= nil then
- return winos._VERSION
+ return winos._VERSION
end
-- get winver
local winver = nil
local ok, verstr = os.iorun("cmd /c ver")
if ok and verstr then
- winver = verstr:match("%[.-(%d+%.%d+%.%d+)]")
+ winver = verstr:match("%[.-([%d%.]+)]")
if winver then
winver = winver:trim()
end
- winver = semver.new(winver)
+ local sem_winver = nil
+ local seg = 0
+ for num in winver:gmatch("%d+") do
+ if seg == 0 then
+ sem_winver = num
+ elseif seg == 3 then
+ sem_winver = sem_winver .. "+" .. num
+ else
+ sem_winver = sem_winver .. "." .. num
+ end
+ seg = seg + 1
+ end
+ winver = semver.new(sem_winver)
end
-- rewrite comparator