Ver código fonte

Can now also parse gcc versions like "10-win32"

Brucey 2 anos atrás
pai
commit
99d66afa99
1 arquivos alterados com 26 adições e 4 exclusões
  1. 26 4
      bmk_ng.bmx

+ 26 - 4
bmk_ng.bmx

@@ -589,11 +589,24 @@ Type TBMK
 			If Not rawVersion and line Then
 				rawVersion = line.Trim()
 
-				Local values:String[] = rawVersion.split(".")
-				For Local v:String = EachIn values
-					Local n:String = "0" + v
-					s:+ n[n.length - 2..]
+				Local count:Int = 0
+				Local parts:String[] = rawVersion.split("-")  ' First split by "-"
+				For Local part:String = EachIn parts
+					Local values:String[] = part.split(".")  ' Then split by "."
+					For Local v:String = EachIn values
+						If IsNumeric(v)
+							Local n:String = "0" + v
+							s :+ n[n.length - 2..]
+							count :+ 1
+						EndIf
+					Next
 				Next
+
+				' Append "00" for each missing segment
+				For Local i:Int = count To 2
+					s:+ "00"
+				Next
+
 			End If
 		
 		Wend
@@ -621,6 +634,15 @@ Type TBMK
 '?
 	End Method
 
+	Function IsNumeric:Int(value:String)
+		For Local i:Int = 0 Until value.length
+			If Not CharIsDigit(value[i]) Then
+				Return False
+			End If
+		Next
+		Return True
+	End Function
+
 	Method XCodeVersion:String()
 ?macos
 		Global xcode:String