2025-07-08 19:34:10 +08:00
|
|
|
cmake_minimum_required(VERSION 4.0.0)
|
2025-05-12 12:09:44 +08:00
|
|
|
|
|
|
|
|
find_package(Vulkan REQUIRED)
|
|
|
|
|
|
|
|
|
|
set(SHADER_DIR ${CMAKE_CURRENT_SOURCE_DIR})
|
2025-07-08 19:34:10 +08:00
|
|
|
set(STAGE_VERT "-fshader-stage=vert")
|
|
|
|
|
set(STAGE_FRAG "-fshader-stage=frag")
|
|
|
|
|
set(GRAPHICS_VERT_SHADER ${SHADER_DIR}/graphics.vert.glsl)
|
|
|
|
|
set(GRAPHICS_FRAG_SHADER ${SHADER_DIR}/graphics.frag.glsl)
|
|
|
|
|
set(GRAPHICS_SPIRV_VERT ${SHADER_DIR}/graphics.vert.spv)
|
|
|
|
|
set(GRAPHICS_SPIRV_FRAG ${SHADER_DIR}/graphics.frag.spv)
|
2025-05-12 12:09:44 +08:00
|
|
|
|
|
|
|
|
add_custom_command(
|
2025-07-08 19:34:10 +08:00
|
|
|
OUTPUT ${GRAPHICS_SPIRV_VERT}
|
|
|
|
|
COMMAND ${Vulkan_GLSLC_EXECUTABLE} ${STAGE_VERT} ${GRAPHICS_VERT_SHADER} -o ${GRAPHICS_SPIRV_VERT}
|
|
|
|
|
COMMENT "Compiling graphics.vert.glsl to graphics.vert.spv"
|
|
|
|
|
DEPENDS ${GRAPHICS_VERT_SHADER}
|
2025-05-12 12:09:44 +08:00
|
|
|
)
|
|
|
|
|
|
2025-06-23 14:03:23 +08:00
|
|
|
add_custom_command(
|
2025-07-08 19:34:10 +08:00
|
|
|
OUTPUT ${GRAPHICS_SPIRV_FRAG}
|
|
|
|
|
COMMAND ${Vulkan_GLSLC_EXECUTABLE} ${STAGE_FRAG} ${GRAPHICS_FRAG_SHADER} -o ${GRAPHICS_SPIRV_FRAG}
|
|
|
|
|
COMMENT "Compiling graphics.frag.glsl to graphics.frag.spv"
|
|
|
|
|
DEPENDS ${GRAPHICS_FRAG_SHADER}
|
2025-06-23 14:03:23 +08:00
|
|
|
)
|
|
|
|
|
|
2025-07-12 13:32:20 +08:00
|
|
|
|
2025-05-12 12:09:44 +08:00
|
|
|
add_custom_target(CompileShaders ALL
|
2025-07-13 19:02:47 +08:00
|
|
|
DEPENDS ${GRAPHICS_SPIRV_VERT} ${GRAPHICS_SPIRV_FRAG}
|
2025-07-08 19:34:10 +08:00
|
|
|
)
|