Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Kitware
GitHub Repository: Kitware/CMake
Path: blob/master/Help/manual/file_api/schema_toolchains.json
5018 views
1
{
2
"$schema": "http://json-schema.org/draft-07/schema#",
3
"description": "Schema for the CMake toolchains object kind",
4
"type": "object",
5
"required": [
6
"kind",
7
"version",
8
"toolchains"
9
],
10
"oneOf": [
11
{
12
"$ref": "#/definitions/toolchainsObjV1_0"
13
},
14
{
15
"$ref": "#/definitions/toolchainsObjV1_1"
16
}
17
],
18
"definitions": {
19
"kind": {
20
"type": "string",
21
"const": "toolchains",
22
"description": "Specifies the object kind"
23
},
24
"versionV1_0": {
25
"type": "object",
26
"required": [
27
"major",
28
"minor"
29
],
30
"properties": {
31
"major": {
32
"type": "integer",
33
"const": 1
34
},
35
"minor": {
36
"type": "integer",
37
"const": 0
38
}
39
},
40
"additionalProperties": false
41
},
42
"versionV1_1": {
43
"type": "object",
44
"required": [
45
"major",
46
"minor"
47
],
48
"properties": {
49
"major": {
50
"type": "integer",
51
"const": 1
52
},
53
"minor": {
54
"type": "integer",
55
"const": 1
56
}
57
},
58
"additionalProperties": false
59
},
60
"language": {
61
"type": "string",
62
"description": "Toolchain language identifier (e.g. C, CXX)"
63
},
64
"sourceFileExtensions": {
65
"type": "array",
66
"items": {
67
"type": "string"
68
},
69
"description": "List of source file extensions (without leading dot) supported by this toolchain"
70
},
71
"compilerPath": {
72
"type": "string",
73
"description": "Path to the compiler executable. This is present when the CMAKE_<LANG>_COMPILER variable is defined."
74
},
75
"compilerCommandFragment": {
76
"type": "string",
77
"description": "Mandatory arguments to the compiler, as a command line fragment. This is present when the CMAKE_<LANG>_COMPILER variable is a list containing multiple elements or the CC or similar environment variable contains command line arguments."
78
},
79
"compilerId": {
80
"type": "string",
81
"description": "Compiler identifier (e.g. GNU, MSVC). This is present when the CMAKE_<LANG>_COMPILER_ID variable is defined."
82
},
83
"compilerVersion": {
84
"type": "string",
85
"description": "Version of the compiler. This is present when the CMAKE_<LANG>_COMPILER_VERSION variable is defined."
86
},
87
"compilerTarget": {
88
"type": "string",
89
"description": "Cross-compiling target of the compiler. This is present when the CMAKE_<LANG>_COMPILER_TARGET variable is defined."
90
},
91
"compilerImplicit": {
92
"type": "object",
93
"properties": {
94
"includeDirectories": {
95
"type": "array",
96
"items": {
97
"type": "string"
98
},
99
"description": "List of implicit include directories for the compiler. This is present when the CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES variable is defined."
100
},
101
"linkDirectories": {
102
"type": "array",
103
"items": {
104
"type": "string"
105
},
106
"description": "List of implicit link directories for the compiler front end. This is present when the CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES variable is defined."
107
},
108
"linkFrameworkDirectories": {
109
"type": "array",
110
"items": {
111
"type": "string"
112
},
113
"description": "List of implicit link framework directories for the compiler front end. This is present when the CMAKE_<LANG>_IMPLICIT_FRAMEWORK_DIRECTORIES variable is defined."
114
},
115
"linkLibraries": {
116
"type": "array",
117
"items": {
118
"type": "string"
119
},
120
"description": "List of implicit link libraries for the compiler front end. This is present when the CMAKE_<LANG>_IMPLICIT_LINK_LIBRARIES variable is defined."
121
}
122
},
123
"additionalProperties": false
124
},
125
"compilerV1_0": {
126
"type": "object",
127
"properties": {
128
"path": {
129
"$ref": "#/definitions/compilerPath"
130
},
131
"id": {
132
"$ref": "#/definitions/compilerId"
133
},
134
"version": {
135
"$ref": "#/definitions/compilerVersion"
136
},
137
"target": {
138
"$ref": "#/definitions/compilerTarget"
139
},
140
"implicit": {
141
"$ref": "#/definitions/compilerImplicit"
142
}
143
},
144
"additionalProperties": false
145
},
146
"compilerV1_1": {
147
"type": "object",
148
"properties": {
149
"path": {
150
"$ref": "#/definitions/compilerPath"
151
},
152
"commandFragment": {
153
"$ref": "#/definitions/compilerCommandFragment"
154
},
155
"id": {
156
"$ref": "#/definitions/compilerId"
157
},
158
"version": {
159
"$ref": "#/definitions/compilerVersion"
160
},
161
"target": {
162
"$ref": "#/definitions/compilerTarget"
163
},
164
"implicit": {
165
"$ref": "#/definitions/compilerImplicit"
166
}
167
},
168
"additionalProperties": false
169
},
170
"toolchainsObjV1_0": {
171
"type": "object",
172
"properties": {
173
"kind": {
174
"$ref": "#/definitions/kind"
175
},
176
"version": {
177
"$ref": "#/definitions/versionV1_0"
178
},
179
"toolchains": {
180
"type": "array",
181
"description": "Array of toolchain configurations per language",
182
"items": {
183
"type": "object",
184
"required": [
185
"language",
186
"compiler"
187
],
188
"properties": {
189
"language": {
190
"$ref": "#/definitions/language"
191
},
192
"compiler": {
193
"$ref": "#/definitions/compilerV1_0"
194
},
195
"sourceFileExtensions": {
196
"$ref": "#/definitions/sourceFileExtensions"
197
}
198
},
199
"additionalProperties": false
200
}
201
}
202
},
203
"additionalProperties": false
204
},
205
"toolchainsObjV1_1": {
206
"type": "object",
207
"properties": {
208
"kind": {
209
"$ref": "#/definitions/kind"
210
},
211
"version": {
212
"$ref": "#/definitions/versionV1_1"
213
},
214
"toolchains": {
215
"type": "array",
216
"description": "Array of toolchain configurations per language",
217
"items": {
218
"type": "object",
219
"required": [
220
"language",
221
"compiler"
222
],
223
"properties": {
224
"language": {
225
"$ref": "#/definitions/language"
226
},
227
"compiler": {
228
"$ref": "#/definitions/compilerV1_1"
229
},
230
"sourceFileExtensions": {
231
"$ref": "#/definitions/sourceFileExtensions"
232
}
233
},
234
"additionalProperties": false
235
}
236
}
237
},
238
"additionalProperties": false
239
}
240
}
241
}
242
243