def replace_if_changed(new, old): '''
Compare contents and only replace if changed to avoid triggering a rebuild. ''' try:
changed = not filecmp.cmp(new, old, shallow=False) except FileNotFoundError:
changed = True if changed:
os.replace(new, old) else:
os.remove(new)
for f in sys.argv[2:]: if f.endswith('.glsl'):
gl_source_shaders.append(f) elif f.endswith('.spv'):
vulkan_compiled_shaders.append(f) else: raise Exception(f"No idea what XML to generate for {f}")
xml = '''<?xml version='1.0' encoding='UTF-8'?>
<gresources>
<gresource prefix='/org/gtk/libgsk'>
'''
for f in gl_source_shaders:
xml += ' <file alias=\'shaders/gl/{0}\'>gpu/shaders/{0}</file>\n'.format(os.path.basename(f))
xml += '\n'
for f in vulkan_compiled_shaders:
xml += ' <file alias=\'shaders/vulkan/{0}\'>gpu/shaders/{0}</file>\n'.format(os.path.basename(f))
xml += '''
</gresource>
</gresources>'''
if len(sys.argv) > 1and sys.argv[1] != '-':
outfile = sys.argv[1]
tmpfile = outfile + '~' with open(tmpfile, 'w') as f:
f.write(xml)
replace_if_changed(tmpfile, outfile) else:
print(xml)
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.9 Sekunden
(vorverarbeitet am 2026-07-03)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.