@@ -76,7 +76,10 @@ def topaddedversionstring(major, minor, rev):
76
76
else :
77
77
assert newversion [2 ] == currentv [2 ] + 1
78
78
79
+ atleastminor = (currentv [0 ] != newversion [0 ]) or (currentv [1 ] != newversion [1 ])
79
80
81
+ if (atleastminor ):
82
+ print ("This is more than a revision." )
80
83
81
84
versionfilerel = os .sep + "include" + os .sep + "simdjson" + os .sep + "simdjson_version.h"
82
85
versionfile = maindir + versionfilerel
@@ -114,17 +117,35 @@ def topaddedversionstring(major, minor, rev):
114
117
import fileinput
115
118
import re
116
119
120
+
117
121
newmajorversionstring = str (newversion [0 ])
118
122
mewminorversionstring = str (newversion [1 ])
119
123
newrevversionstring = str (newversion [2 ])
120
124
newversionstring = str (newversion [0 ]) + "." + str (newversion [1 ]) + "." + str (newversion [2 ])
121
125
cmakefile = maindir + os .sep + "CMakeLists.txt"
126
+
127
+ sonumber = None
128
+ pattern = re .compile ("set\(SIMDJSON_LIB_SOVERSION \" (\d+)\" CACHE STRING \" simdjson library soversion\" \)" )
129
+ with open (cmakefile , 'rt' ) as myfile :
130
+ for line in myfile :
131
+ m = pattern .search (line )
132
+ if m != None :
133
+ sonumber = int (m .group (1 ))
134
+ break
135
+ print ("so library number " + str (sonumber ))
136
+
137
+ if (atleastminor ):
138
+ print ("Given that we have a minor revision, it seems necessary to bump the so library number" )
139
+ print ("See https://github.com/simdjson/simdjson/issues/661" )
140
+ sonumber += 1
141
+
122
142
for line in fileinput .input (cmakefile , inplace = 1 , backup = '.bak' ):
123
143
line = re .sub ('SIMDJSON_LIB_VERSION "\d+\.\d+\.\d+' ,'SIMDJSON_LIB_VERSION "' + newversionstring , line .rstrip ())
124
144
line = re .sub ('SIMDJSON_LIB_SOVERSION "\d+' ,'SIMDJSON_LIB_SOVERSION "' + newmajorversionstring , line )
125
145
line = re .sub ('set\(PROJECT_VERSION_MAJOR \d+' ,'set(PROJECT_VERSION_MAJOR ' + newmajorversionstring , line )
126
146
line = re .sub ('set\(PROJECT_VERSION_MINOR \d+' ,'set(PROJECT_VERSION_MINOR ' + mewminorversionstring , line )
127
147
line = re .sub ('set\(PROJECT_VERSION_PATCH \d+' ,'set(PROJECT_VERSION_PATCH ' + newrevversionstring , line )
148
+ line = re .sub ('set\(SIMDJSON_LIB_SOVERSION \" \d+\" ' ,'set(SIMDJSON_LIB_SOVERSION \" ' + str (sonumber )+ '\" ' , line )
128
149
print (line )
129
150
130
151
0 commit comments