|
8 | 8 | "PreferredProfile": |
9 | 9 | { |
10 | 10 | "type": "string", |
11 | | - "description": "A default compiler profile to be used if not specified while running the build script" |
| 11 | + "description": "A default compiler/linker profile to be used if not specified while running the build script" |
12 | 12 | }, |
13 | 13 | "CompilerProfiles": |
14 | 14 | { |
15 | 15 | "type": "array", |
16 | | - "description": "", |
| 16 | + "description": "List of compiler/linker profiles that instruct how to compile/link", |
17 | 17 | "items": |
18 | 18 | { |
19 | 19 | "type": "object", |
|
32 | 32 | "type":"string" |
33 | 33 | }, |
34 | 34 | "uniqueItems": true, |
35 | | - "description": "The file extensions for the compiler" |
| 35 | + "description": "The file extensions associated with the profile" |
36 | 36 | }, |
37 | 37 | "Languages": |
38 | 38 | { |
|
42 | 42 | "type":"string" |
43 | 43 | }, |
44 | 44 | "uniqueItems": true, |
45 | | - "description": "The languages supported by the compiler" |
| 45 | + "description": "The languages supported by the profile" |
46 | 46 | }, |
47 | 47 | "SetupSteps" : |
48 | 48 | { |
|
56 | 56 | "ObjectFileExtensions": |
57 | 57 | { |
58 | 58 | "type": "object", |
59 | | - "properties": |
| 59 | + "patternProperties": |
60 | 60 | { |
61 | | - "Windows": {"type": "string"}, |
62 | | - "Linux": {"type": "string"}, |
63 | | - "Unix": {"type": "string"}, |
64 | | - "MacOS": {"type": "string"} |
| 61 | + "^.*$": { "type": "string" } |
65 | 62 | }, |
66 | | - "description": "The file extensions for the object files", |
67 | | - "uniqueItems": true |
| 63 | + "additionalProperties": false, |
| 64 | + "description": "The file extension for the object files for each platform" |
68 | 65 | }, |
69 | 66 | "SharedLibraryExtensions": |
70 | 67 | { |
71 | 68 | "type": "object", |
72 | | - "properties": |
| 69 | + "patternProperties": |
73 | 70 | { |
74 | | - "Windows": |
75 | | - { |
76 | | - "type": "array", |
77 | | - "items": |
78 | | - { |
79 | | - "type":"string" |
80 | | - } |
81 | | - }, |
82 | | - "Linux": |
83 | | - { |
84 | | - "type": "array", |
85 | | - "items": |
86 | | - { |
87 | | - "type":"string" |
88 | | - } |
89 | | - }, |
90 | | - "Unix": |
91 | | - { |
92 | | - "type": "array", |
93 | | - "items": |
94 | | - { |
95 | | - "type":"string" |
96 | | - } |
97 | | - }, |
98 | | - "MacOS": |
| 71 | + "^.*$": |
99 | 72 | { |
100 | 73 | "type": "array", |
101 | 74 | "items": |
|
104 | 77 | } |
105 | 78 | } |
106 | 79 | }, |
107 | | - "uniqueItems": true, |
108 | | - "description": "The file extensions for the shared libraries" |
| 80 | + "additionalProperties": false, |
| 81 | + "description": "The file extensions for the shared libraries for each platform" |
109 | 82 | }, |
110 | 83 | "StaticLibraryExtensions": |
111 | 84 | { |
112 | 85 | "type": "object", |
113 | | - "properties": |
| 86 | + "patternProperties": |
114 | 87 | { |
115 | | - "Windows": |
116 | | - { |
117 | | - "type": "array", |
118 | | - "items": |
119 | | - { |
120 | | - "type":"string" |
121 | | - } |
122 | | - }, |
123 | | - "Linux": |
124 | | - { |
125 | | - "type": "array", |
126 | | - "items": |
127 | | - { |
128 | | - "type":"string" |
129 | | - } |
130 | | - }, |
131 | | - "Unix": |
132 | | - { |
133 | | - "type": "array", |
134 | | - "items": |
135 | | - { |
136 | | - "type":"string" |
137 | | - } |
138 | | - }, |
139 | | - "MacOS": |
| 88 | + "^.*$": |
140 | 89 | { |
141 | 90 | "type": "array", |
142 | 91 | "items": |
|
145 | 94 | } |
146 | 95 | } |
147 | 96 | }, |
148 | | - "uniqueItems": true, |
149 | | - "description": "The file extensions for the static libraries" |
| 97 | + "additionalProperties": false, |
| 98 | + "description": "The file extensions for the static libraries for each platform" |
150 | 99 | }, |
151 | 100 | "DebugSymbolFileExtensions": |
152 | 101 | { |
153 | 102 | "type": "object", |
154 | | - "properties": |
| 103 | + "patternProperties": |
155 | 104 | { |
156 | | - "Windows": |
157 | | - { |
158 | | - "type": "array", |
159 | | - "items": |
160 | | - { |
161 | | - "type":"string" |
162 | | - } |
163 | | - }, |
164 | | - "Linux": |
165 | | - { |
166 | | - "type": "array", |
167 | | - "items": |
168 | | - { |
169 | | - "type":"string" |
170 | | - } |
171 | | - }, |
172 | | - "Unix": |
173 | | - { |
174 | | - "type": "array", |
175 | | - "items": |
176 | | - { |
177 | | - "type":"string" |
178 | | - } |
179 | | - }, |
180 | | - "MacOS": |
| 105 | + "^.*$": |
181 | 106 | { |
182 | 107 | "type": "array", |
183 | 108 | "items": |
|
186 | 111 | } |
187 | 112 | } |
188 | 113 | }, |
189 | | - "uniqueItems": true, |
| 114 | + "additionalProperties": false, |
190 | 115 | "description": "(Optional) The file extensions for debug symbols to be copied alongside the binary" |
191 | 116 | }, |
192 | 117 | "Compiler": |
|
216 | 141 | "CompileArgs": |
217 | 142 | { |
218 | 143 | "type": "string", |
219 | | - "description": "The syntax to compile the given file" |
| 144 | + "description": "The syntax to compile the given file. {CompileFlags}, {InputFile}, {ObjectFile} will be replaced accordingly" |
220 | 145 | } |
221 | 146 | }, |
222 | 147 | "required": |
|
230 | 155 | "Linker": |
231 | 156 | { |
232 | 157 | "type": "object", |
| 158 | + "description": "Specify the linker settings, so the final flow will be:\n[Setup steps if any] --> {Executable} {OutputPart} {DependenciesPart}...(for each dependency)", |
233 | 159 | "properties": |
234 | 160 | { |
235 | 161 | "SetupSteps" : |
|
259 | 185 | "OutputPart": |
260 | 186 | { |
261 | 187 | "type": "string", |
262 | | - "description": "Syntax for outputting to the binary" |
| 188 | + "description": "Syntax for outputting to the binary. {LinkFlags}, {ProgramName} will be replaced accordingly" |
263 | 189 | }, |
264 | 190 | "DependenciesPart": |
265 | 191 | { |
266 | 192 | "type": "string", |
267 | | - "description": "Syntax for linking each dependency" |
| 193 | + "description": "Syntax for linking each dependency. {DependencyName} will be replaced accordingly" |
268 | 194 | } |
269 | 195 | }, |
270 | 196 | "required": |
|
280 | 206 | "Executable", |
281 | 207 | "DefaultLinkFlags", |
282 | 208 | "LinkerArgs" |
283 | | - ], |
284 | | - "description": "Specify the linker settings, so the final flow will be:\n[Setup steps if any] --> {Executable} {OutputPart} {DependenciesPart}...(for each dependency)" |
| 209 | + ] |
285 | 210 | } |
286 | 211 | }, |
287 | 212 | "required": |
|
0 commit comments