XMake: Fix double-compilation of shaders and recompile shaders on nzsl update

Shaders were compiled twice because rule was added separately
This commit is contained in:
SirLynix 2023-08-12 12:13:22 +02:00
parent 689ea06fe1
commit 2f593dcde7
2 changed files with 1 additions and 12 deletions

View File

@ -453,25 +453,13 @@ function ModuleTargetConfig(name, module)
add_files("src/Nazara/" .. name .. "/**.cpp")
if has_config("embed_resources") then
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
end
if has_config("compile_shaders") then
local compileShaderRule = false
for _, filepath in pairs(os.files("src/Nazara/" .. name .. "/Resources/**.nzsl")) do
if not compileShaderRule then
add_rules("nzsl.compile.shaders")
compileShaderRule = true
end
add_files(filepath, {rule = "nzsl.compile.shaders"})
end
end

View File

@ -38,6 +38,7 @@ rule("nzsl.compile.shaders")
-- add deps
batchcmds:add_depfiles(shaderfile)
batchcmds:add_depvalues(nzsl:version())
batchcmds:set_depmtime(os.mtime(outputFile))
batchcmds:set_depcache(target:dependfile(outputFile))
end)