Skip to content

Merge/cmake server basic

Tobias Hunger requested to merge hunger/cmake:merge/cmake-server-basic into master

This patch adds a very bare-bones server mode to cmake. It does not expose anything besides the basic protocol and the initial handshake. No information is exposed to anybody with this patch.

The patch is very self-contained: It basically adds a couple of new files, but does not introduce major changes into cmake (only connection is basically cmcmd.cxx, where the command line handling is added.

I would like to have one more patch set, which turns his code into a fully usable server mode (incl. handling different line endings, marking protocol versions as experimental, add some profiling/debug options, using a named pipe for communication, send messages on progress and messages from the server to the client, enable the server to signal state changes, etc.). Diffstat is 732 lines added and 182 removed for this part.

Then I would like to have another (set of) changes that actually implement actions for the server to take. This includes doing configure/compute, report information about the project, get CMakeCache.txt entries, etc.. Those are another 1859 new lines and 5 removed ones.

The complete cmake-server code not yet merged is currently at 3765 new lines and 12 removed ones.

It is pretty late in the development cycle for a change like this, but please consider this for 3.7 anyway:-)

Merge request reports