| # 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 ) |