diff options
| author | ruki <[email protected]> | 2020-03-01 17:23:46 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2020-03-01 17:23:46 +0800 |
| commit | a9bba11b49235dac9982cc2f632b65339cd17130 (patch) | |
| tree | 8cfda00774b823519e750f03c1556265083a7641 /xmake/modules/private/tools/cl/parse_include.lua | |
| parent | 99461db2fae34632c83417667c8955c3361e7751 (diff) | |
improve to save depfiles for cl
Diffstat (limited to 'xmake/modules/private/tools/cl/parse_include.lua')
| -rw-r--r-- | xmake/modules/private/tools/cl/parse_include.lua | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/xmake/modules/private/tools/cl/parse_include.lua b/xmake/modules/private/tools/cl/parse_include.lua new file mode 100644 index 000000000..373aa0fdf --- /dev/null +++ b/xmake/modules/private/tools/cl/parse_include.lua @@ -0,0 +1,59 @@ +--!A cross-platform build utility based on Lua +-- +-- Licensed under the Apache License, Version 2.0 (the "License"); +-- you may not use this file except in compliance with the License. +-- You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- +-- Copyright (C) 2015-2020, TBOOX Open Source Group. +-- +-- @author ruki +-- @file parse_include.lua +-- + +-- imports +import("core.project.project") +import("core.base.hashset") + +-- contain: "Note: including file: "? +-- +-- @note we cannot get better solution to distinguish between `includes` and `error infos` +-- +function main(line) + + -- init notes + -- + -- TODO zh-tw, zh-hk, jp, ... + -- + _g.notes = _g.notes or + { + "Note: including file: " + , "注意: 包含文件: " + } + + -- contain notes? + for idx, note in ipairs(_g.notes) do + + -- dump line bytes + --[[ + print(line) + line:gsub(".", function (ch) print(string.byte(ch)) end) + --]] + + if line:startswith(note) then + -- optimization: move this note to head + if idx ~= 1 then + table.insert(_g.notes, 1, note) + end + return line:sub(#note):trim() + end + end +end + |
