summaryrefslogtreecommitdiffstats
path: root/Help
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2016-09-27 12:22:50 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2016-09-27 12:22:50 (GMT)
commite8ff565d94baf45df145dfef46e8cd40aedc08ff (patch)
treee5e59e4a8c0396f6980c951391cbb0eee2e72111 /Help
parente56eca3f6838d715fa10623a5ca538b3c9476493 (diff)
parent890432672bc9fe91365e5e5305285ab193e9060a (diff)
downloadCMake-e8ff565d94baf45df145dfef46e8cd40aedc08ff.zip
CMake-e8ff565d94baf45df145dfef46e8cd40aedc08ff.tar.gz
CMake-e8ff565d94baf45df145dfef46e8cd40aedc08ff.tar.bz2
Merge topic 'cmake-server-basic-commands'
89043267 server-mode: Add command to compute the build system 0a8ad670 server-mode: Add a configure command 544f65f4 server-mode: Set global configuration of cmake via a command 82104cc7 server-mode: Query global configuration of cmake via a command
Diffstat (limited to 'Help')
-rw-r--r--Help/manual/cmake-server.7.rst126
1 files changed, 126 insertions, 0 deletions
diff --git a/Help/manual/cmake-server.7.rst b/Help/manual/cmake-server.7.rst
index 61d6896..b8a425c 100644
--- a/Help/manual/cmake-server.7.rst
+++ b/Help/manual/cmake-server.7.rst
@@ -248,3 +248,129 @@ which will result in a response type "reply"::
]== CMake Server ==]
indicating that the server is ready for action.
+
+
+Type "globalSettings"
+^^^^^^^^^^^^^^^^^^^^^
+
+This request can be sent after the initial handshake. It will return a
+JSON structure with information on cmake state.
+
+Example::
+
+ [== CMake Server ==[
+ {"type":"globalSettings"}
+ ]== CMake Server ==]
+
+which will result in a response type "reply"::
+
+ [== CMake Server ==[
+ {
+ "buildDirectory": "/tmp/test-build",
+ "capabilities": {
+ "generators": [
+ {
+ "extraGenerators": [],
+ "name": "Watcom WMake",
+ "platformSupport": false,
+ "toolsetSupport": false
+ },
+ <...>
+ ],
+ "serverMode": false,
+ "version": {
+ "isDirty": false,
+ "major": 3,
+ "minor": 6,
+ "patch": 20160830,
+ "string": "3.6.20160830-gd6abad",
+ "suffix": "gd6abad"
+ }
+ },
+ "checkSystemVars": false,
+ "cookie": "",
+ "extraGenerator": "",
+ "generator": "Ninja",
+ "debugOutput": false,
+ "inReplyTo": "globalSettings",
+ "sourceDirectory": "/home/code/cmake",
+ "trace": false,
+ "traceExpand": false,
+ "type": "reply",
+ "warnUninitialized": false,
+ "warnUnused": false,
+ "warnUnusedCli": true
+ }
+ ]== CMake Server ==]
+
+
+Type "setGlobalSettings"
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+This request can be sent to change the global settings attributes. Unknown
+attributes are going to be ignored. Read-only attributes reported by
+"globalSettings" are all capabilities, buildDirectory, generator,
+extraGenerator and sourceDirectory. Any attempt to set these will be ignored,
+too.
+
+All other settings will be changed.
+
+The server will respond with an empty reply message or an error.
+
+Example::
+
+ [== CMake Server ==[
+ {"type":"setGlobalSettings","debugOutput":true}
+ ]== CMake Server ==]
+
+CMake will reply to this with::
+
+ [== CMake Server ==[
+ {"inReplyTo":"setGlobalSettings","type":"reply"}
+ ]== CMake Server ==]
+
+
+Type "configure"
+^^^^^^^^^^^^^^^^
+
+This request will configure a project for build.
+
+To configure a build directory already containing cmake files, it is enough to
+set "buildDirectory" via "setGlobalSettings". To create a fresh build directory
+you also need to set "currentGenerator" and "sourceDirectory" via "setGlobalSettings"
+in addition to "buildDirectory".
+
+You may a list of strings to "configure" via the "cacheArguments" key. These
+strings will be interpreted similar to command line arguments related to
+cache handling that are passed to the cmake command line client.
+
+Example::
+
+ [== CMake Server ==[
+ {"type":"configure", "cacheArguments":["-Dsomething=else"]}
+ ]== CMake Server ==]
+
+CMake will reply like this (after reporting progress for some time)::
+
+ [== CMake Server ==[
+ {"cookie":"","inReplyTo":"configure","type":"reply"}
+ ]== CMake Server ==]
+
+
+Type "compute"
+^^^^^^^^^^^^^^
+
+This requist will generate build system files in the build directory and
+is only available after a project was successfully "configure"d.
+
+Example::
+
+ [== CMake Server ==[
+ {"type":"compute"}
+ ]== CMake Server ==]
+
+CMake will reply (after reporting progress information)::
+
+ [== CMake Server ==[
+ {"cookie":"","inReplyTo":"compute","type":"reply"}
+ ]== CMake Server ==]