add spirv-cross

This commit is contained in:
ouczbs 2024-11-02 17:56:35 +08:00
parent 320b41a035
commit 0385ac1c97
3 changed files with 67 additions and 0 deletions

1
.gitignore vendored
View File

@ -6,3 +6,4 @@ build/
vsxmake*/ vsxmake*/
test/ test/
pkg_searchdirs/ pkg_searchdirs/
searchdir/

View File

@ -0,0 +1,33 @@
package("spirv-cross")
set_homepage("https://www.lunarg.com/vulkan-sdk/")
set_description("LunarG Vulkan® SDK")
on_load(function (package)
import("detect.sdks.find_vulkansdk")
local vulkansdk = find_vulkansdk()
if vulkansdk then
package:addenv("PATH", vulkansdk.bindir)
end
end)
on_fetch(function (package, opt)
if opt.system then
import("detect.sdks.find_vulkansdk")
import("lib.detect.find_library")
local vulkansdk = find_vulkansdk()
if vulkansdk then
local result = {includedirs = vulkansdk.includedirs, linkdirs = vulkansdk.linkdirs, links = {}}
local utils = {"spirv-cross-glsl","spirv-cross-cpp", "spirv-cross-core", "spirv-cross-reflect","spirv-cross-util"}
for _, util in ipairs(utils) do
if not find_library(util, vulkansdk.linkdirs) then
wprint(format("The library %s for %s is not found!", util, package:arch()))
return
end
table.insert(result.links, util)
end
return result
end
end
end)

View File

@ -0,0 +1,33 @@
package("spirv")
set_homepage("https://www.lunarg.com/vulkan-sdk/")
set_description("LunarG Vulkan® SDK")
on_load(function (package)
import("detect.sdks.find_vulkansdk")
local vulkansdk = find_vulkansdk()
if vulkansdk then
package:addenv("PATH", vulkansdk.bindir)
end
end)
on_fetch(function (package, opt)
if opt.system then
import("detect.sdks.find_vulkansdk")
import("lib.detect.find_library")
local vulkansdk = find_vulkansdk()
if vulkansdk then
local result = {includedirs = vulkansdk.includedirs, linkdirs = vulkansdk.linkdirs, links = {}}
local utils = { "SPIRV", "SPIRV-Tools"}
for _, util in ipairs(utils) do
if not find_library(util, vulkansdk.linkdirs) then
wprint(format("The library %s for %s is not found!", util, package:arch()))
return
end
table.insert(result.links, util)
end
return result
end
end
end)