Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] Is CMake support stable?

On Dec 9, 2020, at 2:30 AM, Liviu Ionescu <ilg@xxxxxxxxxx> wrote:

On 9 Dec 2020, at 06:25, Marc-Andre Laperle <malaperle@xxxxxxxxx> wrote:

This way (Makefile+MBS) works for any external builder

What you basically say is that we cannot get rid of MBS yet?

I doubt right now that it would be possible for CDT to get rid of MBS, regardless if I use it or not. I’m only an occasional user of CDT and I happen to know MBS better (than Core build) so I can configure it more comfortably, so it is not a good sample of what the community wants or needs. I have a feeling (with no proof) that most plugins used in the wild are still written against MBS (whether using external builder, generated makefiles or internal builder) and therefore a ton of existing projects configured for MBS. It is probably a lot of work to make sure there is reasonable migration path for the use cases MBS used to cover. I don’t think there has been discussion either about what should be abandoned in terms of use cases but perhaps I missed it. I would also be concerned that the cost for such migration might be the last straw for some. On the other hand, getting rid of the old and huge component might help the community refocus. It’s a difficult situation.

How do you pass the compile_commands.json to the indexer?

There is a "Language Settings Provider" for the Compilation Database. Not sure you are familiar with those providers, but you can have pretty much any kind of providers that feed language settings (macros, includes) to the indexer, it’s an extension point. There is definitely overlap with what is being done in Core build here, because toolchain built-ins detection, output parsers and Compilation Database are duplicated. Language Settings Providers were not hooked up to Core build, although they could have. As it is, you only see the providers’ UI (which is arguably complicated for newcomers) when looking at the properties of a MBS project, under C/C++ General > "Preprocessor Include Paths, macros”. Since this provider (Compilation Database) is independent from the build system you use, you can configure any type of projects that has a compile_commands.json. But with MANY clicks and MANY pitfalls. I use a build generator that has little value to be hooked up to CDT (unlike CMake), but I can manage to generate compile_commands.json and hook up the indexer this way.


I'm ready to do some programming to integrate my new builder into Eclipse, but I would like a more future proof solution, and I hoped that the new builder support may help, but apparently we're not yet there.

I think if you have the time, it would be better to invest in Core build and identify what is missing for you, if anything.


cdt-dev mailing list
To unsubscribe from this list, visit

Back to the top