diff options
| author | ruki <[email protected]> | 2020-03-01 16:12:51 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2020-03-01 16:12:51 +0800 |
| commit | c6b2d02e47b82b06f856593bbde71d544a134b9c (patch) | |
| tree | a0aae2dd4ca72e89ded85ea18661c27aac1fd87b | |
| parent | 69fbcc74692a3728e0c731bddf89441e91599a3d (diff) | |
improve to parse_deps
| -rw-r--r-- | xmake/modules/private/tools/gcc/parse_deps.lua | 9 |
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 |
