diff options
author | David Robillard <d@drobilla.net> | 2021-01-06 23:53:33 +0100 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2021-01-08 18:13:49 +0100 |
commit | 69d5d2adde1d13578a94e8b1934235987cf9b2bd (patch) | |
tree | 9720c044447bb12e6e714ac969ebb7b0daf87c5f /examples/shaders/meson.build | |
parent | 94e30b9c3c188dfdf4765f026872f95ea3cfdda2 (diff) | |
download | pugl-69d5d2adde1d13578a94e8b1934235987cf9b2bd.tar.gz pugl-69d5d2adde1d13578a94e8b1934235987cf9b2bd.tar.bz2 pugl-69d5d2adde1d13578a94e8b1934235987cf9b2bd.zip |
Switch to Meson
Diffstat (limited to 'examples/shaders/meson.build')
-rw-r--r-- | examples/shaders/meson.build | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/examples/shaders/meson.build b/examples/shaders/meson.build new file mode 100644 index 0000000..e47be9d --- /dev/null +++ b/examples/shaders/meson.build @@ -0,0 +1,35 @@ +shader_files = [ + 'header_330.glsl', + 'header_420.glsl', + 'rect.frag', + 'rect.vert', +] + +# Copy shader sources for GL examples +foreach shader_file : shader_files + configure_file(copy: true, input: shader_file, output: shader_file) +endforeach + +# Build SPV shader binaries for Vulkan examples +if vulkan_dep.found() + cat = find_program('../../scripts/cat.py') + glslang = find_program('glslangValidator') + + shaders = ['rect.vert', 'rect.frag'] + foreach shader : shaders + source = shader.split('.')[0] + '.vulkan.' + shader.split('.')[1] + shader_input = custom_target(source, + output: source, + input: ['header_420.glsl', shader], + command: [cat, '@INPUT@'], + build_by_default: true, + capture: true) + + mytarget = custom_target(shader, + output: shader + '.spv', + input: shader_input, + command: [glslang, '-V', '-o', '@OUTPUT@', '@INPUT@'], + build_by_default: true, + install: false) + endforeach +endif |