cmake: regen vulkan shaders when shaders-gen sources change (#14398)

* Add shaders-gen sources as target deps
This commit is contained in:
bandoti
2025-06-26 13:46:53 -03:00
committed by GitHub
parent b25346221d
commit a01047b041

View File

@ -144,6 +144,7 @@ if (Vulkan_FOUND)
${VULKAN_SHADER_GEN_CMAKE_ARGS} ${VULKAN_SHADER_GEN_CMAKE_ARGS}
BUILD_COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG> BUILD_COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>
BUILD_ALWAYS TRUE
# NOTE: When DESTDIR is set using Makefile generators and # NOTE: When DESTDIR is set using Makefile generators and
# "make install" triggers the build step, vulkan-shaders-gen # "make install" triggers the build step, vulkan-shaders-gen
@ -164,6 +165,14 @@ if (Vulkan_FOUND)
file(GLOB _ggml_vk_shader_files CONFIGURE_DEPENDS "${_ggml_vk_input_dir}/*.comp") file(GLOB _ggml_vk_shader_files CONFIGURE_DEPENDS "${_ggml_vk_input_dir}/*.comp")
# Because external projects do not provide source-level tracking,
# the vulkan-shaders-gen sources need to be explicitly added to
# ensure that changes will cascade into shader re-generation.
file(GLOB _ggml_vk_shaders_gen_sources
CONFIGURE_DEPENDS "${_ggml_vk_input_dir}/*.cpp"
"${_ggml_vk_input_dir}/*.h")
add_custom_command( add_custom_command(
OUTPUT ${_ggml_vk_header} OUTPUT ${_ggml_vk_header}
${_ggml_vk_source} ${_ggml_vk_source}
@ -177,6 +186,7 @@ if (Vulkan_FOUND)
--no-clean --no-clean
DEPENDS ${_ggml_vk_shader_files} DEPENDS ${_ggml_vk_shader_files}
${_ggml_vk_shaders_gen_sources}
vulkan-shaders-gen vulkan-shaders-gen
COMMENT "Generate vulkan shaders" COMMENT "Generate vulkan shaders"