Add shader compiler (nzslc) and use it

This commit is contained in:
SirLynix
2022-04-06 09:04:09 +02:00
parent 262c82b9e1
commit 8784ec9b47
9 changed files with 331 additions and 21 deletions

View File

@@ -195,7 +195,6 @@ for name, module in pairs(modules) do
set_kind("shared")
set_group("Modules")
add_rules("embed_resources")
add_rpathdirs("$ORIGIN")
if module.Deps then
@@ -236,10 +235,26 @@ for name, module in pairs(modules) do
add_files("src/Nazara/" .. name .. "/**.cpp")
add_includedirs("src")
for _, filepath in pairs(os.files("src/Nazara/" .. name .. "/Resources/**|**.h")) do
local embedResourceRule = false
for _, filepath in pairs(os.files("src/Nazara/" .. name .. "/Resources/**|**.h|**.nzsl|**.nzslb")) do
if not embedResourceRule then
add_rules("embed_resources")
embedResourceRule = true
end
add_files(filepath, {rule = "embed_resources"})
end
local compileShaderRule = false
for _, filepath in pairs(os.files("src/Nazara/" .. name .. "/Resources/**.nzsl")) do
if not compileShaderRule then
add_rules("compile_shaders")
compileShaderRule = true
end
add_files(filepath, {rule = "compile_shaders"})
end
-- Remove platform-specific files
if is_plat("windows", "mingw") then
for _, ext in ipairs(headerExts) do
@@ -264,7 +279,7 @@ for name, module in pairs(modules) do
end
end
includes("tools/xmake.lua")
includes("tests/xmake.lua")
includes("tools/*.lua")
includes("tests/*.lua")
includes("plugins/*/xmake.lua")
includes("examples/*/xmake.lua")