mirror of
https://github.com/ggml-org/llama.cpp.git
synced 2025-07-27 03:33:46 -04:00
cmake: regen vulkan shaders when shaders-gen sources change (#14398)
* Add shaders-gen sources as target deps
This commit is contained in:
@ -143,7 +143,8 @@ if (Vulkan_FOUND)
|
|||||||
-DCMAKE_BUILD_TYPE=$<CONFIG>
|
-DCMAKE_BUILD_TYPE=$<CONFIG>
|
||||||
${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"
|
||||||
|
Reference in New Issue
Block a user