# Python program to set the version. ############################################## import re import sys def fileProcess( name, lineFunction ): filestream = open( name, 'r' ) if filestream.closed: print( "file " + name + " not open." ) return output = "" print( "--- Processing " + name + " ---------" ) while 1: line = filestream.readline() if not line: break output += lineFunction( line ) filestream.close() if not output: return # basic error checking print( "Writing file " + name ) filestream = open( name, "w" ); filestream.write( output ); filestream.close() def echoInput( line ): return line major = input( "Major: " ) minor = input( "Minor: " ) build = input( "Build: " ) print ("Setting dox,tinyxml2.h") print ("Version: " + major + "." + minor + "." + build) #### Write the tinyxml.h #### def engineRule( line ): matchMajor = "static const int TIXML2_MAJOR_VERSION" matchMinor = "static const int TIXML2_MINOR_VERSION" matchBuild = "static const int TIXML2_PATCH_VERSION" if line[0:len(matchMajor)] == matchMajor: print( "1)tinyxml2.h Major found" ) return matchMajor + " = " + major + ";\n" elif line[0:len(matchMinor)] == matchMinor: print( "2)tinyxml2.h Minor found" ) return matchMinor + " = " + minor + ";\n" elif line[0:len(matchBuild)] == matchBuild: print( "3)tinyxml2.h Build found" ) return matchBuild + " = " + build + ";\n" else: return line; fileProcess( "tinyxml2.h", engineRule ) #### Write the dox #### def doxRule( line ): match = "PROJECT_NUMBER" if line[0:len( match )] == match: print( "dox project found" ) return "PROJECT_NUMBER = " + major + "." + minor + "." + build + "\n" else: return line; fileProcess( "dox", doxRule ) #### Write the CMakeLists.txt #### def cmakeRule1( line ): matchVersion = "set(GENERIC_LIB_VERSION" if line[0:len(matchVersion)] == matchVersion: print( "1)tinyxml2.h Major found" ) return matchVersion + " \"" + major + "." + minor + "." + build + "\")" + "\n" else: return line; fileProcess( "CMakeLists.txt", cmakeRule1 ) def cmakeRule2( line ): matchSoversion = "set(GENERIC_LIB_SOVERSION" if line[0:len(matchSoversion)] == matchSoversion: print( "1)tinyxml2.h Major found" ) return matchSoversion + " \"" + major + "\")" + "\n" else: return line; fileProcess( "CMakeLists.txt", cmakeRule2 )