VulkanMemoryAllocator/src/Shaders/CMakeLists.txt
2021-05-31 23:53:21 +02:00

33 lines
882 B
CMake

# This file will only be executed if VMA_BUILD_SAMPLE_SHADERS is set to ON
find_program(GLSL_VALIDATOR glslangValidator REQUIRED)
if(NOT GLSL_VALIDATOR)
message(FATAL_ERROR "glslangValidator not found!")
endif()
set(SHADERS
Shader.vert
Shader.frag
SparseBindingTest.comp
)
# Compile each shader using glslangValidator
foreach(SHADER ${SHADERS})
get_filename_component(FILE_NAME ${SHADER} NAME)
# Put the .spv files into the bin folder
set(SPIRV ${PROJECT_SOURCE_DIR}/bin/${FILE_NAME}.spv)
add_custom_command(
OUTPUT ${SPIRV}
# Use the same file name and append .spv to the compiled shader
COMMAND ${GLSL_VALIDATOR} -V ${CMAKE_CURRENT_SOURCE_DIR}/${SHADER} -o ${SPIRV}
DEPENDS ${SHADER}
)
list(APPEND SPIRV_FILES ${SPIRV})
endforeach()
add_custom_target(VmaSampleShaders ALL DEPENDS ${SPIRV_FILES})