From 6e697cecd8034b836766c5604340bcd2af316bdc Mon Sep 17 00:00:00 2001 From: Saikari Date: Wed, 25 Feb 2026 00:20:00 +0300 Subject: Optimize import file handling by using a temporary file for content writing and copying only if different --- xmake/rules/qt/load.lua | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/xmake/rules/qt/load.lua b/xmake/rules/qt/load.lua index 6cc9cdb5e..d9a11d0ca 100644 --- a/xmake/rules/qt/load.lua +++ b/xmake/rules/qt/load.lua @@ -296,18 +296,10 @@ function main(target, opt) content = content .. "static int s_init_qt_plugin_resources = init_qt_plugin_resources();\n" end - local old_content = "" - if os.isfile(importfile) then - old_content = io.readfile(importfile) - end - - if old_content ~= content then - local file = io.open(importfile, "w") - if file then - file:write(content) - file:close() - end - end + local importfile_tmp = os.tmpfile() + io.writefile(importfile_tmp, content) + os.cp(importfile_tmp, importfile, {copy_if_different = true}) + os.tryrm(importfile_tmp) target:add("files", importfile) end -- cgit v1.3.1