diff options
| author | ruki <[email protected]> | 2019-06-03 10:52:52 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2019-06-03 10:52:52 +0800 |
| commit | 79f7b27e45f43ad24c8589abb4a5928c1afcb52b (patch) | |
| tree | 9be6bca5f9aa3847a96553d64c59eb9117ee0179 | |
| parent | 02847a12d501e3993fde5c664235530c1e422877 (diff) | |
| parent | acad517e5ce23a82979a87155bb639f91098adaf (diff) | |
Merge pull request #435 from OpportunityLiu/dev
fix winver
| -rw-r--r-- | xmake/core/base/winos.lua | 18 |
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 |
