summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSaikari <[email protected]>2026-02-25 00:20:00 +0300
committerSaikari <[email protected]>2026-02-25 00:20:00 +0300
commit6e697cecd8034b836766c5604340bcd2af316bdc (patch)
tree820d1005b49c62e887434c5fe4c988e688c659ee
parente14d2b8f47ba95381c584c51b976cb5ff8707a31 (diff)
Optimize import file handling by using a temporary file for content writing and copying only if different
-rw-r--r--xmake/rules/qt/load.lua16
1 files 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