Thanks for your replies.
I wasn't subscribed to the mailing list properly, so my reply may mess up the reply chain a bit, sorry about that.
A few replies
> Is standardizing cmake as part of C++, at least within the mandate of tools, something we can all agree on?
Definitively not. I think that cmake is terrible and that better options exist. Of course people will disagree and a war will rage on. But, do we actually need a standard build system ? I'm not convinced. We do, however, need a standard package manager.
Maybe build systems can manage to talk to each others. CMake already has a "server mode" mode to talk to IDEs. If that communication protocol could be extended so that one can, for example, include a cmake project in a build2 or meson project, or the other way around, we wouldn't need to force a build system on people.
I do think that's doable. After all, all build systems do the same thing, they all have the same input and outputs.
The same protocol could be used for the IDE/build system integration as well as hopefully build system/clangd integration ( or something similar if other vendors wish to offer a tooling/indexing server)
> Well, taming the preprocessor is one reason why the Modules TS doesn't support exporting macros.
And it's a great start ! I don't think however it is sufficient. Notably, I'd like a way for a declaration ( or even definition ) to be part of the AST even if that symbol is not included in the compiled TU in the current system/configuration.
> If you are interested in C++ refactoring get in touch with me. we are working for more than a decade on practical refactoring and for your example of renaming the preprocessor is just one hurdle.
The others are intrinsic in the language and won't go away.
Do you have some concrete examples ? Clang tools are pretty reliable if parts of your code are not #ifdef-ed away (even if writing them takes a bit of care).
I'm hopping the performances issues, notably in regards to indexing and IDEs integration, are solved by modules. I guess it will still be a few years before we get significant data about that.
I do agree that even the simplest tool needs to be a full fledged compiler front end, that's why clang is the best thing since sliced bread.