should prob put this on git sometime

This commit is contained in:
2026-01-03 01:48:40 +01:00
commit 1b8cc96164
52 changed files with 12002 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
function(compile_glsl_to_spv target shader_src_dir shader_out_dir out_var)
find_program(GLSLC glslc REQUIRED)
file(GLOB_RECURSE SHADERS
"${shader_src_dir}/*.vert"
"${shader_src_dir}/*.frag"
"${shader_src_dir}/*.comp"
)
set(SPV_OUTPUTS "")
foreach(shader ${SHADERS})
file(RELATIVE_PATH rel "${shader_src_dir}" "${shader}")
set(out "${shader_out_dir}/${rel}.spv")
add_custom_command(
OUTPUT "${out}"
COMMAND ${CMAKE_COMMAND} -E make_directory "$<PATH:GET_PARENT_PATH,${out}>"
COMMAND ${GLSLC} -o "${out}" "${shader}"
DEPENDS "${shader}"
VERBATIM
)
list(APPEND SPV_OUTPUTS "${out}")
endforeach()
add_custom_target(${target}_shaders ALL DEPENDS ${SPV_OUTPUTS})
set(${out_var} ${SPV_OUTPUTS} PARENT_SCOPE)
endfunction()