bandoti commited on
Commit
7988638
·
1 Parent(s): 724622d

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

Browse files
Files changed (1) hide show
  1. ggml/src/ggml-vulkan/CMakeLists.txt +11 -1
ggml/src/ggml-vulkan/CMakeLists.txt CHANGED
@@ -143,7 +143,8 @@ if (Vulkan_FOUND)
143
  -DCMAKE_BUILD_TYPE=$<CONFIG>
144
  ${VULKAN_SHADER_GEN_CMAKE_ARGS}
145
 
146
- BUILD_COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>
 
147
 
148
  # NOTE: When DESTDIR is set using Makefile generators and
149
  # "make install" triggers the build step, vulkan-shaders-gen
@@ -164,6 +165,14 @@ if (Vulkan_FOUND)
164
 
165
  file(GLOB _ggml_vk_shader_files CONFIGURE_DEPENDS "${_ggml_vk_input_dir}/*.comp")
166
 
 
 
 
 
 
 
 
 
167
  add_custom_command(
168
  OUTPUT ${_ggml_vk_header}
169
  ${_ggml_vk_source}
@@ -177,6 +186,7 @@ if (Vulkan_FOUND)
177
  --no-clean
178
 
179
  DEPENDS ${_ggml_vk_shader_files}
 
180
  vulkan-shaders-gen
181
 
182
  COMMENT "Generate vulkan shaders"
 
143
  -DCMAKE_BUILD_TYPE=$<CONFIG>
144
  ${VULKAN_SHADER_GEN_CMAKE_ARGS}
145
 
146
+ BUILD_COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>
147
+ BUILD_ALWAYS TRUE
148
 
149
  # NOTE: When DESTDIR is set using Makefile generators and
150
  # "make install" triggers the build step, vulkan-shaders-gen
 
165
 
166
  file(GLOB _ggml_vk_shader_files CONFIGURE_DEPENDS "${_ggml_vk_input_dir}/*.comp")
167
 
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
+
176
  add_custom_command(
177
  OUTPUT ${_ggml_vk_header}
178
  ${_ggml_vk_source}
 
186
  --no-clean
187
 
188
  DEPENDS ${_ggml_vk_shader_files}
189
+ ${_ggml_vk_shaders_gen_sources}
190
  vulkan-shaders-gen
191
 
192
  COMMENT "Generate vulkan shaders"