summaryrefslogtreecommitdiffstats
path: root/Source/cmServer.h
Commit message (Collapse)AuthorAgeFilesLines
* server-mode: Pass server into cmServerProtocolTobias Hunger2016-09-221-1/+2
| | | | The information will be needed to send signals.
* server-mode: Introduce cmServerConnectionTobias Hunger2016-09-221-6/+9
| | | | | | | | Use it to split pipe and stdin/out handling out of cmServer itself. The server will shut down when it looses its connection to the client. This has the nice property that a crashing client will cause the server to terminate as the OS will close the connection on behave of the client.
* server-mode: Add debug supportTobias Hunger2016-09-201-2/+6
| | | | | | | | | | Enable the server to support development with some helper tools: You can now request debug information with statistics on how long execution of a command took, how long it took to serialize the JSON files, and how big the serialized JSON string is. Also allow to dump results into a file.
* server-mode: Report Messages from cmake to clientsTobias Hunger2016-09-201-0/+4
| | | | | Pass messages sent from cmake via Error(...) or Message(...) on to clients.
* server-mode: Automate progress reportingTobias Hunger2016-09-201-0/+2
| | | | | Wire up cmake::SetProgressUpdate to do progress reporting via the cmake server.
* server-mode: Add --experimental flagTobias Hunger2016-09-201-2/+4
| | | | | | | | Allow for experimental cmProtocolVersions, which will only ever get listed if the server was started with the (undocumented) "--experimental" flag. Mark current protocol version 1.0 as experimental.
* cmake-server: Bare-bones server implementationTobias Hunger2016-09-191-0/+85
Adds a bare-bones cmake-server implementation and makes it possible to start that with "cmake -E server". Communication happens via stdin/stdout for now. Protocol is based on Json objects surrounded by magic strings ("[== CMake Server ==[" and "]== CMake Server ==]"), which simplifies Json parsing significantly. This patch also defines an interface used to implement different versions of the protocol spoken by the server, but does not include any protocol implementaiton.