25 lines
610 B
CMake
25 lines
610 B
CMake
set(GLSL_VALIDATOR "glslangValidator")
|
|
|
|
file(GLOB_RECURSE GLSL_SOURCE_FILES
|
|
"*.frag"
|
|
"*.vert"
|
|
)
|
|
|
|
foreach(GLSL ${GLSL_SOURCE_FILES})
|
|
get_filename_component(FILE_NAME ${GLSL} NAME)
|
|
set(SPIRV "${PROJECT_BINARY_DIR}/shaders/${FILE_NAME}.spv")
|
|
add_custom_command(
|
|
OUTPUT ${SPIRV}
|
|
COMMAND ${CMAKE_COMMAND} -E make_directory "${PROJECT_BINARY_DIR}/shaders/"
|
|
COMMAND ${GLSL_VALIDATOR} -V ${GLSL} -o ${SPIRV}
|
|
DEPENDS ${GLSL})
|
|
list(APPEND SPIRV_BINARY_FILES ${SPIRV})
|
|
endforeach(GLSL)
|
|
|
|
add_custom_target(
|
|
Shaders
|
|
DEPENDS ${SPIRV_BINARY_FILES}
|
|
)
|
|
|
|
add_dependencies(stories Shaders)
|