vulkan : add source groups for shaders (#26666)
This commit is contained in:
@@ -200,8 +200,11 @@ if (Vulkan_FOUND)
|
|||||||
set (_ggml_vk_header "${CMAKE_CURRENT_BINARY_DIR}/ggml-vulkan-shaders.hpp")
|
set (_ggml_vk_header "${CMAKE_CURRENT_BINARY_DIR}/ggml-vulkan-shaders.hpp")
|
||||||
set (_ggml_vk_input_dir "${CMAKE_CURRENT_SOURCE_DIR}/vulkan-shaders")
|
set (_ggml_vk_input_dir "${CMAKE_CURRENT_SOURCE_DIR}/vulkan-shaders")
|
||||||
set (_ggml_vk_output_dir "${CMAKE_CURRENT_BINARY_DIR}/vulkan-shaders.spv")
|
set (_ggml_vk_output_dir "${CMAKE_CURRENT_BINARY_DIR}/vulkan-shaders.spv")
|
||||||
|
set (_ggml_vk_generated_shader_files ${_ggml_vk_header})
|
||||||
|
|
||||||
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")
|
||||||
|
set_source_files_properties(${_ggml_vk_shader_files} PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||||
|
target_sources(ggml-vulkan PRIVATE ${_ggml_vk_shader_files})
|
||||||
|
|
||||||
# Because external projects do not provide source-level tracking,
|
# Because external projects do not provide source-level tracking,
|
||||||
# the vulkan-shaders-gen sources need to be explicitly added to
|
# the vulkan-shaders-gen sources need to be explicitly added to
|
||||||
@@ -241,8 +244,11 @@ if (Vulkan_FOUND)
|
|||||||
COMMENT "Generate vulkan shaders for ${file}"
|
COMMENT "Generate vulkan shaders for ${file}"
|
||||||
)
|
)
|
||||||
target_sources(ggml-vulkan PRIVATE ${_ggml_vk_target_cpp})
|
target_sources(ggml-vulkan PRIVATE ${_ggml_vk_target_cpp})
|
||||||
|
list(APPEND _ggml_vk_generated_shader_files ${_ggml_vk_target_cpp})
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
|
source_group("Vulkan shaders" FILES ${_ggml_vk_shader_files})
|
||||||
|
source_group("Generated Vulkan shaders" FILES ${_ggml_vk_generated_shader_files})
|
||||||
else()
|
else()
|
||||||
message(WARNING "Vulkan not found")
|
message(WARNING "Vulkan not found")
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
Reference in New Issue
Block a user