Re: [cdt-dev] New github repo cdt-vscode
> On 14 Jan 2019, at 18:52, Doug Schaefer <dschaefer@xxxxxxxxxxxxxx> wrote:
> ... how to build an industry leading C/C++ IDE and take it beyond it's Eclipse IDE roots to support other IDEs. The first of those is Visual Studio Code
Since you acknowledged some interest in moving the CDT experience beyond Eclipse, although I generally prefer to announce things when fully available, I'd use this opportunity to let you know of some of my latest work, in case it may be of any help for someone.
One of the components of the xPacks project is the xPack Builder, which can be seen as a command line version of the CDT builder, since it performs builds for multi-configuration projects, without any manually created make files.
Currently the xPack builder generates make/ninja files both for regular artefacts and for unit tests associated with the project, and can export configurations to CDT.
The metadata used for the build comes from JSON files, which can be safely processed by any IDE, but are also simple enough to be manually maintained.
The tool is functional, but I did not release it yet because I decided to also implement an internal builder, which builds the project without make/ninja, similarly to the CDT internal builder.
The CLI application is implemented as a highly portable Node.js application.
Initially it was named xmake, and was positioned as a kind of cmake, but recently I repositioned it as a full builder, and also had to avoid a name clash with the Lua builder; thus, when published, the tool will be named 'xbld - The xPack Builder'.
I estimate the internal builder will need a few more weeks to be functional.
Since the internal builder will also be a node module, that can be integrated in any node application, it'll also be available as a CLI application (xmk - The xPack Make). It'll provide most of the functionality of ninja, but with a JSON configuration file.
Another tool in the xPack project is 'xpm - The xPack Package Manager', which is already functional, and can manage dependencies for C/C++ source packages and for binary tools (https://www.npmjs.com/package/xpm).
xpm can also create new projects based on a template, for example the SiFive Templates (https://www.npmjs.com/package/@sifive/templates).
The initial plan was to integrate the xPack tools first into Eclipse, then into VSC.
If you have any comments, please let me know.