1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
fs = import('fs')
asset_files = [
'images/atlas.ppm',
'shaders/block_outline.frag.glsl', 'shaders/block_outline.vert.glsl',
'shaders/clouds.frag.glsl', 'shaders/clouds.vert.glsl',
'shaders/image_viewer.frag.glsl', 'shaders/image_viewer.vert.glsl',
'shaders/terrain.frag.glsl', 'shaders/terrain.vert.glsl'
]
assets = []
foreach file : asset_files
content = fs.read(file)
name = file.replace('/', '_') \
.replace('.frag.glsl', '_fragment') \
.replace('.vert.glsl', '_vertex') \
.replace('.', '_')
delim = 'meowcraft_asset'
assets += f'char const* @name@ = R"@delim@(@content@)@delim@";'
endforeach
merged_assets = '\n\n'.join(assets)
asset_file = configure_file(input: 'all_assets.cpp.in',
output: 'all_assets.cpp',
configuration: {'content': merged_assets})
|