diff options
| author | Saikari <[email protected]> | 2026-02-25 00:20:00 +0300 |
|---|---|---|
| committer | Saikari <[email protected]> | 2026-02-25 00:20:00 +0300 |
| commit | 6e697cecd8034b836766c5604340bcd2af316bdc (patch) | |
| tree | 820d1005b49c62e887434c5fe4c988e688c659ee | |
| parent | e14d2b8f47ba95381c584c51b976cb5ff8707a31 (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.lua | 16 |
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 |
