Browse Source

Add extsources to vulkan-validation-layers + some fixes (#3153)

ImperatorS79 1 year ago
parent
commit
b9085ea24c
1 changed files with 33 additions and 7 deletions
  1. 33 7
      packages/v/vulkan-validationlayers/xmake.lua

+ 33 - 7
packages/v/vulkan-validationlayers/xmake.lua

@@ -5,15 +5,32 @@ package("vulkan-validationlayers")
     set_license("Apache-2.0")
     set_license("Apache-2.0")
 
 
     if is_plat("android") then
     if is_plat("android") then
-        add_urls("https://github.com/KhronosGroup/Vulkan-ValidationLayers/releases/download/sdk-$(version)/android-binaries-$(version).tar.gz",
-        {version = function (version) return version:gsub("%+", ".") end})
+        add_urls("https://github.com/KhronosGroup/Vulkan-ValidationLayers/releases/download/$(version).tar.gz", {version = function (version)
+            local versionLoc = version:gsub("%+", ".")
+            if version:gt("1.3.268+0") then
+                return "vulkan-sdk-" .. versionLoc .. "/android-binaries-" .. versionLoc
+            elseif version:gt("1.3.261+1") then
+                return "vulkan-sdk-" .. versionLoc .. "/android-binaries-vulkan-sdk-" .. versionLoc
+            elseif version:gt("1.3.250+1") then
+                return "sdk-" .. versionLoc .. "/android-binaries-sdk-" .. versionLoc
+            else
+                return "sdk-" .. versionLoc .. "/android-binaries-" .. versionLoc
+            end
+        end})
 
 
+        add_versions("1.3.275+0", "6e22fb13601c1e780c44a17497a3c999cc5207e52a09819e7c32ecd8439eff7a")
         add_versions("1.2.198+0", "5436e974d6b3133b3454edf1910f76b9f869db8bbe086859b2abe32fdb539cbc")
         add_versions("1.2.198+0", "5436e974d6b3133b3454edf1910f76b9f869db8bbe086859b2abe32fdb539cbc")
         add_versions("1.2.189+1", "b3e69b60a67a17b023825f9eb0ce1aef22e6b59d095afa204d883a9ce3d81021")
         add_versions("1.2.189+1", "b3e69b60a67a17b023825f9eb0ce1aef22e6b59d095afa204d883a9ce3d81021")
     else
     else
-        add_urls("https://github.com/KhronosGroup/Vulkan-ValidationLayers/archive/sdk-$(version).tar.gz",
-        {version = function (version) return version:gsub("%+", ".") end})
+        add_urls("https://github.com/KhronosGroup/Vulkan-ValidationLayers/archive/$(version).tar.gz", {version = function (version)
+            local prefix = "sdk-"
+            if version:gt("1.3.261+1") then
+                prefix = "vulkan-sdk-"
+            end
+            return version:startswith("v") and version or prefix .. version:gsub("%+", ".")
+        end})
 
 
+        add_versions("1.3.275+0", "acfd84039109220129624b0ecb69980bbc3a858978c62b556dbe16efd0f26755")
         add_versions("1.2.198+0", "4a70cc5da26baf873fcf69b081eeeda545515dd66e5904f18fee32b4d275593a")
         add_versions("1.2.198+0", "4a70cc5da26baf873fcf69b081eeeda545515dd66e5904f18fee32b4d275593a")
         add_versions("1.2.189+1", "d169ae71ae3ba12159df355b58f86f5635062c695d1deac9b97d5653561d517d")
         add_versions("1.2.189+1", "d169ae71ae3ba12159df355b58f86f5635062c695d1deac9b97d5653561d517d")
         add_versions("1.2.182+0", "e88492143c8b08154807e7ead0ac784365b14464bb5016c2800cbff176ff61e7")
         add_versions("1.2.182+0", "e88492143c8b08154807e7ead0ac784365b14464bb5016c2800cbff176ff61e7")
@@ -24,12 +41,19 @@ package("vulkan-validationlayers")
 
 
         add_deps("cmake")
         add_deps("cmake")
         add_deps("glslang", "spirv-headers", "spirv-tools")
         add_deps("glslang", "spirv-headers", "spirv-tools")
+        
         if is_plat("windows") then
         if is_plat("windows") then
             add_syslinks("Advapi32")
             add_syslinks("Advapi32")
+        end
+
+        if is_plat("mingw") and is_subhost("msys") then
+            add_extsources("pacman::vulkan-validation-layers")   
         elseif is_plat("linux") then
         elseif is_plat("linux") then
-            add_extsources("apt::vulkan-validationlayers-dev", "pacman::vulkan-extra-layers")
+            add_extsources("apt::vulkan-validationlayers-dev", "pacman::vulkan-validation-layers")
             add_deps("ninja")
             add_deps("ninja")
             add_deps("wayland", "libxrandr", "libxcb", "libxkbcommon")
             add_deps("wayland", "libxrandr", "libxcb", "libxkbcommon")
+        elseif is_plat("macosx") then
+            add_extsources("brew::vulkan-validationlayers")
         end
         end
     end
     end
 
 
@@ -39,6 +63,10 @@ package("vulkan-validationlayers")
         if package:version():ge("1.2.189") then
         if package:version():ge("1.2.189") then
             package:add("deps", "robin-hood-hashing")
             package:add("deps", "robin-hood-hashing")
         end
         end
+
+        if package:version():ge("1.3.275") then
+            package:add("deps", "vulkan-utility-libraries " .. sdkver)
+        end
     end)
     end)
 
 
     on_install("windows", "linux", function (package)
     on_install("windows", "linux", function (package)
@@ -89,7 +117,5 @@ package("vulkan-validationlayers")
             assert(os.isfile(path.join(package:installdir("lib"), "x86", "libVkLayer_khronos_validation.so")))
             assert(os.isfile(path.join(package:installdir("lib"), "x86", "libVkLayer_khronos_validation.so")))
             assert(os.isfile(path.join(package:installdir("lib"), "armeabi-v7a", "libVkLayer_khronos_validation.so")))
             assert(os.isfile(path.join(package:installdir("lib"), "armeabi-v7a", "libVkLayer_khronos_validation.so")))
             assert(os.isfile(path.join(package:installdir("lib"), "arm64-v8a", "libVkLayer_khronos_validation.so")))
             assert(os.isfile(path.join(package:installdir("lib"), "arm64-v8a", "libVkLayer_khronos_validation.so")))
-        else
-            assert(package:has_cxxfuncs("getLayerOption", {includes = "layers/vk_layer_config.h"}))
         end
         end
     end)
     end)