如何将 IAR .ewp 转换为 LSP compile_commands.json 数据库

How to convert IAR .ewp to LSP compile_commands.json database

我正在寻求从我的 IAR .ewp 项目创建一个 compile_commands.json 数据库。这将允许我从我的 vim 设置中使用智能 LSP 自动完成 (ccls) and proper semantic highlighting (vim-lsp-cxx-highlight)。

我知道我可以使用与 .ewp 项目文件中相同的设置手动创建一个 CMake 文件,但不幸的是我所有的同事都使用 IAR IDE。我可能会错过我的同事所做的一些重要的项目设置更改,并且我无法更新 .ewp。如果我可以自动将 .ewp 文件解析为 CMake,从而创建命令数据库,那就太好了。

有人知道这样做的巧妙方法吗?如果没有,我将如何创建一个能够做到这一点的工具?看来 undefining the Clang compiler defines 可以使 ccls 充分利用 IAR 代码库。

在 IAR 中使用 -jsondb 选项

> iarbuild.exe example.ewp -jsondb debug -output compile_commands.json