vcpkg/scripts/test_ports/vcpkg-ci-ggml/android-vulkan.diff

31 lines
1.0 KiB
Diff

diff --git a/examples/test-cmake/CMakeLists.txt b/examples/test-cmake/CMakeLists.txt
index d6bc0cc4..395a63c7 100644
--- a/examples/test-cmake/CMakeLists.txt
+++ b/examples/test-cmake/CMakeLists.txt
@@ -8,3 +8,9 @@ find_package(ggml CONFIG REQUIRED)
set(TEST_TARGET test-cmake)
add_executable(test-cmake test-cmake.cpp)
target_link_libraries(test-cmake PRIVATE ggml::ggml)
+
+if(ANDROID AND TARGET ggml::ggml-vulkan)
+ # Instantiates VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE
+ find_package(Vulkan REQUIRED)
+ target_link_libraries(test-cmake PRIVATE Vulkan::Vulkan)
+endif()
diff --git a/examples/test-cmake/test-cmake.cpp b/examples/test-cmake/test-cmake.cpp
index 029c8898..9d4bbe19 100644
--- a/examples/test-cmake/test-cmake.cpp
+++ b/examples/test-cmake/test-cmake.cpp
@@ -1,5 +1,11 @@
#include "ggml-backend.h"
+#if defined(ANDROID)
+#define VULKAN_HPP_DISPATCH_LOADER_DYNAMIC 1
+#include <vulkan/vulkan.hpp>
+VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE
+#endif
+
int main(void) {
ggml_backend_load_all();
return 0;