Skip to content

Commit 39cf192

Browse files
committed
Add shaders-gen sources as target deps
1 parent a175a25 commit 39cf192

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

ggml/src/ggml-vulkan/CMakeLists.txt

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,8 @@ if (Vulkan_FOUND)
143143
-DCMAKE_BUILD_TYPE=$<CONFIG>
144144
${VULKAN_SHADER_GEN_CMAKE_ARGS}
145145

146-
BUILD_COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>
146+
BUILD_COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>
147+
BUILD_ALWAYS TRUE
147148

148149
# NOTE: When DESTDIR is set using Makefile generators and
149150
# "make install" triggers the build step, vulkan-shaders-gen
@@ -153,7 +154,6 @@ if (Vulkan_FOUND)
153154
INSTALL_COMMAND ${CMAKE_COMMAND} -E env --unset=DESTDIR
154155
${CMAKE_COMMAND} --install . --config $<CONFIG>
155156
)
156-
ExternalProject_Add_StepTargets(vulkan-shaders-gen build install)
157157

158158
set (_ggml_vk_host_suffix $<IF:$<STREQUAL:${CMAKE_HOST_SYSTEM_NAME},Windows>,.exe,>)
159159
set (_ggml_vk_genshaders_dir "${CMAKE_BINARY_DIR}/$<CONFIG>")
@@ -165,6 +165,14 @@ if (Vulkan_FOUND)
165165

166166
file(GLOB _ggml_vk_shader_files CONFIGURE_DEPENDS "${_ggml_vk_input_dir}/*.comp")
167167

168+
# Because external projects do not provide source-level tracking,
169+
# the vulkan-shaders-gen sources need to be explicitly added to
170+
# ensure that changes will cascade into shader re-generation.
171+
172+
file(GLOB _ggml_vk_shaders_gen_sources
173+
CONFIGURE_DEPENDS "${_ggml_vk_input_dir}/*.cpp"
174+
"${_ggml_vk_input_dir}/*.h")
175+
168176
add_custom_command(
169177
OUTPUT ${_ggml_vk_header}
170178
${_ggml_vk_source}
@@ -178,9 +186,8 @@ if (Vulkan_FOUND)
178186
--no-clean
179187

180188
DEPENDS ${_ggml_vk_shader_files}
189+
${_ggml_vk_shaders_gen_sources}
181190
vulkan-shaders-gen
182-
vulkan-shaders-gen-build
183-
vulkan-shaders-gen-install
184191

185192
COMMENT "Generate vulkan shaders"
186193
)

0 commit comments

Comments
 (0)