aboutsummaryrefslogtreecommitdiffstats
path: root/shaders/CMakeLists.txt
diff options
context:
space:
mode:
authorladevieq <ladevie.quentin@gmail.com>2020-12-27 13:13:15 +0100
committerladevieq <ladevie.quentin@gmail.com>2020-12-27 13:13:15 +0100
commitb708a0b42a4977a9a99bf2023ddab6a32454d11d (patch)
tree8d737728812f64dcda318aca0510d6b261275d71 /shaders/CMakeLists.txt
parentfc6ef799b34ac9ddb147e41b487deaf70da20f55 (diff)
Target to compile shaders
Diffstat (limited to 'shaders/CMakeLists.txt')
-rw-r--r--shaders/CMakeLists.txt26
1 files changed, 26 insertions, 0 deletions
diff --git a/shaders/CMakeLists.txt b/shaders/CMakeLists.txt
new file mode 100644
index 0000000..99284e5
--- /dev/null
+++ b/shaders/CMakeLists.txt
@@ -0,0 +1,26 @@
+file(GLOB_RECURSE GLSL_SOURCE_FILES
+ "./*.frag"
+ "./*.vert"
+ "./*.geom"
+ "./*.comp"
+ "./*.glsl"
+)
+
+message(STATUS ${GLSL_SOURCE_FILES})
+
+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 glslc --target-env=vulkan1.2 -std=460 ${GLSL} -o ${SPIRV} -I "../shaders/include" # relative to build directory
+ DEPENDS ${GLSL})
+ list(APPEND SPIRV_BINARY_FILES ${SPIRV})
+endforeach(GLSL)
+
+add_custom_target(
+ shaders
+ DEPENDS ${SPIRV_BINARY_FILES}
+ )
+
+add_dependencies(path-tracer shaders)