CMake 3.7 supports a new “server” mode. This work was originally prototyped by Stephen Kelly and is now led by Tobias Hunger (The Qt Company) to make it easier to develop tooling on top of CMake. The basic concept is to have a CMake process with which a JSON protocol can communicate.
The server mode has advantages over creating a link time application programming interface (API) to the CMake C++ code. Integrated development environments (IDEs) will be able to use different versions of CMake for different projects as long as they follow the same JSON protocol. The CMake C++ code will also not have to maintain backwards compatibility to any particular internal API.
This initial work has been picked up by both the Qt Creator team and the Microsoft Visual Studio team, who made announcements for Qt Creator and Visual Studio 2017 RC, respectively. It is exciting to see such great contributions to the CMake ecosystem! Both of these efforts are currently in the early development stage, but it is certainly nice to see the CMake IDE experience improved. Kitware will continue to facilitate and coordinate these efforts as they move forward.
If you use Visual Studio or Qt Creator, please give these new projects a try. You can provide feedback on the cmake-developers mailing list or to the IDE development teams directly. You can download Visual Studio 2017 RC (complete with a copy of CMake) from https://www.visualstudio.com/downloads/. Qt Creator with CMake server support can be built from source and is included in the master git branch found on https://code.qt.io/cgit/qt-creator/qt-creator.git/. Finally, to get CMake 3.7, visit https://cmake.org/download.