From c6b2d02e47b82b06f856593bbde71d544a134b9c Mon Sep 17 00:00:00 2001 From: ruki Date: Sun, 1 Mar 2020 16:12:51 +0800 Subject: improve to parse_deps --- xmake/modules/private/tools/gcc/parse_deps.lua | 9 +++++---- 1 file 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 -- cgit v1.3.1