Skip to content

Commit

Permalink
Merge pull request #5635 from xmake-io/compdb
Browse files Browse the repository at this point in the history
support verilator for compdb
  • Loading branch information
waruqi authored Jan 22, 2025
2 parents d60da40 + 4cdbc3d commit 802c9bb
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions xmake/plugins/project/clang/compile_commands.lua
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@

-- imports
import("core.base.option")
import("core.base.hashset")
import("core.tool.compiler")
import("core.project.rule")
import("core.project.project")
Expand All @@ -46,6 +47,16 @@ function _sourcebatch_is_built(sourcebatch)
end
end

-- Is there other supported source file, which come from custom rules?
function _is_other_sourcefile(sourcefile)
local extensions = _g._other_supported_exts
if extensions == nil then
extensions = hashset.from({".v", ".sv"})
_g._other_supported_exts = extensions
end
return extensions:has(path.extension(sourcefile))
end

-- get LSP, clangd, ccls, ...
function _get_lsp()
local lsp = option.get("lsp")
Expand Down Expand Up @@ -154,6 +165,10 @@ function _make_arguments(jsonfile, arguments, opt)
local sourcekind = try {function () return language.sourcekind_of(path.filename(arg)) end}
if sourcekind and os.isfile(arg) then
sourcefile = tostring(arg)
elseif _is_other_sourcefile(arg) and os.isfile(arg) then
sourcefile = tostring(arg)
end
if sourcefile then
break
end
end
Expand Down

0 comments on commit 802c9bb

Please sign in to comment.