@@ -50,6 +50,7 @@ if (Vulkan_FOUND)
5050 )
5151
5252 set (VULKAN_SHADER_GEN_CMAKE_ARGS "" )
53+ set (VULKAN_SHADER_GEN_CMAKE_ARGS "" )
5354
5455 # Test all shader extensions
5556 test_shader_extension_support(
@@ -144,16 +145,8 @@ if (Vulkan_FOUND)
144145 -DCMAKE_BUILD_TYPE=$<CONFIG>
145146 ${VULKAN_SHADER_GEN_CMAKE_ARGS}
146147
147- BUILD_COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>
148- BUILD_ALWAYS TRUE
149-
150- # NOTE: When DESTDIR is set using Makefile generators and
151- # "make install" triggers the build step, vulkan-shaders-gen
152- # would be installed into the DESTDIR prefix, so it is unset
153- # to ensure that does not happen.
154-
155- INSTALL_COMMAND ${CMAKE_COMMAND} -E env --unset=DESTDIR
156- ${CMAKE_COMMAND} --install . --config $<CONFIG>
148+ BUILD_COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>
149+ INSTALL_COMMAND ${CMAKE_COMMAND} --install . --config $<CONFIG>
157150 )
158151
159152 set (_ggml_vk_host_suffix $<IF:$<STREQUAL :${CMAKE_HOST_SYSTEM_NAME} ,Windows>,.exe,>)
@@ -166,17 +159,10 @@ if (Vulkan_FOUND)
166159
167160 file (GLOB _ggml_vk_shader_files CONFIGURE_DEPENDS "${_ggml_vk_input_dir} /*.comp" )
168161
169- # Because external projects do not provide source-level tracking,
170- # the vulkan-shaders-gen sources need to be explicitly added to
171- # ensure that changes will cascade into shader re-generation.
172-
173- file (GLOB _ggml_vk_shaders_gen_sources
174- CONFIGURE_DEPENDS "${_ggml_vk_input_dir} /*.cpp"
175- "${_ggml_vk_input_dir} /*.h" )
176-
177162 add_custom_command (
178163 OUTPUT ${_ggml_vk_header}
179164 ${_ggml_vk_source}
165+ ${_ggml_vk_source}
180166
181167 COMMAND ${_ggml_vk_genshaders_cmd}
182168 --glslc ${Vulkan_GLSLC_EXECUTABLE}
@@ -187,8 +173,9 @@ if (Vulkan_FOUND)
187173 --no -clean
188174
189175 DEPENDS ${_ggml_vk_shader_files}
190- ${_ggml_vk_shaders_gen_sources}
191176 vulkan-shaders-gen
177+ vulkan-shaders-gen-build
178+ vulkan-shaders-gen-install
192179
193180 COMMENT "Generate vulkan shaders"
194181 )
0 commit comments