diff options
| author | ruki <[email protected]> | 2020-06-13 16:42:32 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2020-06-13 16:42:32 +0800 |
| commit | a6b6e1153c59d38a991c7198f91df2bc1a7d13bf (patch) | |
| tree | 9f0e99aecde7eee5198f22338db5a53c5f9369d5 | |
| parent | 6ce4efe20902a233ae3be41c9a666c41e74b1e58 (diff) | |
optimize to delete files
| -rw-r--r-- | xmake/core/project/target.lua | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/xmake/core/project/target.lua b/xmake/core/project/target.lua index af6413822..3df4128c5 100644 --- a/xmake/core/project/target.lua +++ b/xmake/core/project/target.lua @@ -1075,6 +1075,7 @@ function _instance:sourcefiles() local count = 0 local sourcefiles = {} local sourcefiles_deleted = {} + local deleted_count = 0 for _, file in ipairs(table.wrap(files)) do -- mark as deleted files? @@ -1107,6 +1108,7 @@ function _instance:sourcefiles() -- add or delete it if deleted then + deleted_count = deleted_count + 1 sourcefiles_deleted[sourcefile] = true else table.insert(sourcefiles, sourcefile) @@ -1115,10 +1117,12 @@ function _instance:sourcefiles() end -- remove all deleted source files - for i = #sourcefiles, 1, -1 do - local sourcefile = sourcefiles[i] - if sourcefiles_deleted[sourcefile] then - table.remove(sourcefiles, i) + if deleted_count > 0 then + for i = #sourcefiles, 1, -1 do + local sourcefile = sourcefiles[i] + if sourcefiles_deleted[sourcefile] then + table.remove(sourcefiles, i) + end end end self._SOURCEFILES = sourcefiles |
