19 lines
599 B
CMake
19 lines
599 B
CMake
set(SHADER_DIR ${CMAKE_CURRENT_SOURCE_DIR})
|
|
file(GLOB SHADERS ${SHADER_DIR}/*.vert
|
|
${SHADER_DIR}/*.frag
|
|
${SHADER_DIR}/*.comp)
|
|
|
|
foreach(SHADER IN LISTS SHADERS)
|
|
get_filename_component(FILENAME ${SHADER} NAME)
|
|
set(OUTPUT_FILE ${FILENAME}.spirv)
|
|
add_custom_command(OUTPUT ${OUTPUT_FILE}
|
|
COMMAND ${Vulkan_GLSLANG_VALIDATOR_EXECUTABLE} -gVS ${SHADER} -V -o ${OUTPUT_FILE}
|
|
DEPENDS ${SHADER}
|
|
COMMENT "Compiling shader: ${SHADER}"
|
|
)
|
|
|
|
list(APPEND SPV_SHADERS ${OUTPUT_FILE})
|
|
endForeach()
|
|
|
|
add_custom_target(tw_shaders ALL DEPENDS ${SPV_SHADERS})
|