summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2020-03-01 16:12:51 +0800
committerruki <[email protected]>2020-03-01 16:12:51 +0800
commitc6b2d02e47b82b06f856593bbde71d544a134b9c (patch)
treea0aae2dd4ca72e89ded85ea18661c27aac1fd87b
parent69fbcc74692a3728e0c731bddf89441e91599a3d (diff)
improve to parse_deps
-rw-r--r--xmake/modules/private/tools/gcc/parse_deps.lua9
1 files changed, 5 insertions, 4 deletions
diff --git a/xmake/modules/private/tools/gcc/parse_deps.lua b/xmake/modules/private/tools/gcc/parse_deps.lua
index eedf31125..da6297c30 100644
--- a/xmake/modules/private/tools/gcc/parse_deps.lua
+++ b/xmake/modules/private/tools/gcc/parse_deps.lua
@@ -20,6 +20,7 @@
-- imports
import("core.project.project")
+import("core.base.hashset")
-- a placeholder for spaces in path
local space_placeholder = "\001"
@@ -57,13 +58,13 @@ end
function main(depsfile)
-- get deps data
- local depsdata = io.readfile(depsfile, { continuation = "\\"})
+ local depsdata = io.readfile(depsfile, {continuation = "\\"})
if not depsdata or #depsdata == 0 then
return {}
end
-- parse results
- local results = {}
+ local results = hashset.new()
for _, line in ipairs(depsdata:split("\n", {plain = true})) do
local p = line:find(':', 1, true)
if p then
@@ -73,10 +74,10 @@ function main(depsfile)
includefile = includefile:gsub(space_placeholder, ' ')
includefile = _normailize_dep(includefile)
if includefile then
- table.insert(results, includefile)
+ results:insert(includefile)
end
end
end
end
- return table.unique(results)
+ return results:to_array()
end