Aside from the fact that JetBrains make incredible IDEs, basing it around CMake is a great idea as it means project files that aren't tied to a specific platform or IDE. You can develop a project in CLion just as easily as you could with vim and the build instructions would be the same.
I very much hope this is the future and the tooling around CMake is improved too. In my perfect world, this would include dependency management - even if that just meant a reference to versioned sources that you could easily include in a project file and the tooling was responsible for pulling them down and building them.
I truly hope people aren't choosing their build systems based on the IDE they use. If you program C++, you will have to use some combination of a dozen strange autoconf/Make solutions, CMake, boost::jam, scons, rake, etc. If you work at a big corporation, you'll probably have a custom build tool. Any ide worth a damn will either be build tool agnostic or it won't be useful to the majority of the target market.
Then it has to have its own build system, with its own descriptor files, so you're maintaining two build systems anyway. Might as well pick one of the existing ones.
> Then it has to have its own build system, with its own descriptor files
...Why? Just interface with the existing build system. Most have very clear semantics, and it's not clear anything is gained from prioritizing one over the other. All the ide needs to worry about is generally syntax highlighting, targets, flags (e.g. to enable debugging), and the STANDARDIZED error reporting.
Also, gyp, ninja.... so many build systems. CMake only has a fraction of the market, and not even an impressive one.
This is not a thing of the past. Font rendering is still significantly different between java and non-java apps, and in my opinion appears distinctly wrong in java:
I very much hope this is the future and the tooling around CMake is improved too. In my perfect world, this would include dependency management - even if that just meant a reference to versioned sources that you could easily include in a project file and the tooling was responsible for pulling them down and building them.