summaryrefslogtreecommitdiffstats
path: root/Help/manual/cmake-server.7.rst
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2017-07-13 11:42:56 (GMT)
committerKitware Robot <kwrobot@kitware.com>2017-07-13 11:44:11 (GMT)
commite5c762d32d8a1329aac66a66eaf634a009cb288b (patch)
tree8865629ed7cf76bce0a5637efc084bdc880d49c6 /Help/manual/cmake-server.7.rst
parentc8f4cf0821d86e705d255dcd03fa28e9558df83d (diff)
parent0c5723821542a43fa211c73abc08e59e2fd395e2 (diff)
downloadCMake-e5c762d32d8a1329aac66a66eaf634a009cb288b.zip
CMake-e5c762d32d8a1329aac66a66eaf634a009cb288b.tar.gz
CMake-e5c762d32d8a1329aac66a66eaf634a009cb288b.tar.bz2
Merge topic 'server-target-backtraces'
0c572382 server: Report backtraces in codemodel response 4db32275 server: Rename cmServerProtocol1_0 to cmServerProtocol1 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !992
Diffstat (limited to 'Help/manual/cmake-server.7.rst')
-rw-r--r--Help/manual/cmake-server.7.rst42
1 files changed, 41 insertions, 1 deletions
diff --git a/Help/manual/cmake-server.7.rst b/Help/manual/cmake-server.7.rst
index 6a68a1c..f6d3032 100644
--- a/Help/manual/cmake-server.7.rst
+++ b/Help/manual/cmake-server.7.rst
@@ -504,6 +504,9 @@ Each target object can have the following keys:
with the sysroot path.
"fileGroups"
contains the source files making up the target.
+"crossReferences"
+ contains the location of the target in the corresponding CMakeLists.txt
+ file and the locations of the related statements like "target_link_libraries"
FileGroups are used to group sources using similar settings together.
@@ -529,6 +532,16 @@ Each fileGroup object may contain the following keys:
All file paths in the fileGroup are either absolute or relative to the
sourceDirectory of the target.
+CrossReferences object is used to report the location of the target (including
+the entire call stack if the target is defined in a function) and the related
+"target_link_libraries", "target_include_directories", "target_compile_definitions"
+and "target_compile_options" statements.
+
+See the example below for details on the internal format of the "crossReferences" object.
+Line numbers stated in the "backtrace" entries are 1-based. The last entry of a backtrace
+is a special entry with missing "line" and "name" fields that specifies the initial
+CMakeLists.txt file.
+
Example::
[== "CMake Server" ==[
@@ -565,7 +578,34 @@ CMake will reply::
"linkerLanguage": "C",
"name": "cmForm",
"sourceDirectory": "/home/code/src/cmake/Source/CursesDialog/form",
- "type": "STATIC_LIBRARY"
+ "type": "STATIC_LIBRARY",
+ "crossReferences": {
+ "backtrace": [
+ {
+ "line": 7,
+ "name": "add_executable",
+ "path": "C:/full/path/CMakeLists.txt"
+ },
+ {
+ "path": "c:/full/path/CMakeLists.txt"
+ }
+ ],
+ "relatedStatements": [
+ {
+ "backtrace": [
+ {
+ "line": 8,
+ "name": "target_link_libraries",
+ "path": "c:/full/path/CMakeLists.txt"
+ },
+ {
+ "path": "c:/full/path/CMakeLists.txt"
+ }
+ ],
+ "type": "target_link_libraries"
+ }
+ ]
+ }
}
]
},