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:
parent
689ea06fe1
commit
2f593dcde7
12
xmake.lua
12
xmake.lua
|
|
@ -453,25 +453,13 @@ function ModuleTargetConfig(name, module)
|
||||||
|
|
||||||
add_files("src/Nazara/" .. name .. "/**.cpp")
|
add_files("src/Nazara/" .. name .. "/**.cpp")
|
||||||
if has_config("embed_resources") then
|
if has_config("embed_resources") then
|
||||||
local embedResourceRule = false
|
|
||||||
for _, filepath in pairs(os.files("src/Nazara/" .. name .. "/Resources/**|**.h|**.nzsl|**.nzslb")) do
|
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"})
|
add_files(filepath, {rule = "embed.resources"})
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if has_config("compile_shaders") then
|
if has_config("compile_shaders") then
|
||||||
local compileShaderRule = false
|
|
||||||
for _, filepath in pairs(os.files("src/Nazara/" .. name .. "/Resources/**.nzsl")) do
|
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"})
|
add_files(filepath, {rule = "nzsl.compile.shaders"})
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,7 @@ rule("nzsl.compile.shaders")
|
||||||
|
|
||||||
-- add deps
|
-- add deps
|
||||||
batchcmds:add_depfiles(shaderfile)
|
batchcmds:add_depfiles(shaderfile)
|
||||||
|
batchcmds:add_depvalues(nzsl:version())
|
||||||
batchcmds:set_depmtime(os.mtime(outputFile))
|
batchcmds:set_depmtime(os.mtime(outputFile))
|
||||||
batchcmds:set_depcache(target:dependfile(outputFile))
|
batchcmds:set_depcache(target:dependfile(outputFile))
|
||||||
end)
|
end)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue