Fix line-endings in generated C++ wrapper on Windows.

This commit is contained in:
Ghislain MARY 2017-02-02 09:36:29 +01:00
parent a8e4660ef3
commit 448038b9c1

View file

@ -637,6 +637,17 @@ class CMakeLists(object):
self.interfaces = []
def render(renderer, item, path):
tmppath = path + '.tmp'
content = ''
with open(tmppath, mode='w') as f:
f.write(renderer.render(item))
with open(tmppath, mode='rU') as f:
content = f.read()
with open(path, mode='w') as f:
f.write(content)
os.unlink(tmppath)
def main():
argparser = argparse.ArgumentParser(description='Generate source files for the C++ wrapper')
argparser.add_argument('xmldir', type=str, help='Directory where the XML documentation of the Linphone\'s API generated by Doxygen is placed')
@ -665,8 +676,7 @@ def main():
else:
print('warning: {0} enum won\'t be translated because of parsing errors'.format(item[0]))
with open(args.outputdir + '/include/enums.hh', mode='w') as f:
f.write(renderer.render(header))
render(renderer, header, args.outputdir + '/include/enums.hh')
mainHeader = MainHeader()
cmakelists = CMakeLists()
@ -686,21 +696,17 @@ def main():
else:
cmakelists.interfaces.append({'header': headerName})
with open(args.outputdir + '/include/' + header.filename, mode='w') as f:
f.write(renderer.render(header))
render(renderer, header, args.outputdir + '/include/' + header.filename)
if type(_class) is AbsApi.Class:
with open(args.outputdir + '/src/' + impl.filename, mode='w') as f:
f.write(renderer.render(impl))
render(renderer, impl, args.outputdir + '/src/' + impl.filename)
except AbsApi.Error as e:
print('Could not translate {0}: {1}'.format(_class.name.to_camel_case(fullName=True), e.args[0]))
with open(args.outputdir + '/include/linphone.hh', mode='w') as f:
f.write(renderer.render(mainHeader))
render(renderer, mainHeader, args.outputdir + '/include/linphone.hh')
with open(args.outputdir + '/CMakeLists.txt', mode='w') as f:
f.write(renderer.render(cmakelists))
render(renderer, cmakelists, args.outputdir + '/CMakeLists.txt')
if __name__ == '__main__':