{
	"type": "array",
	"description": "CMake-Kits",
	"items": {
		"type": "object",
		"description": "Ein Kit",
		"additionalProperties": false,
		"properties": {
			"name": {
				"type": "string",
				"description": "Name dieses Kits"
			},
			"description": {
				"type": "string",
				"description": "Die Beschreibung dieses Kits"
			},
			"vendor": {
				"type": "string",
				"description": "Der Anbietername dieses Kits"
			},
			"triple": {
				"type": "string",
				"description": "Das Zieltriplet dieses Kits"
			},
			"version": {
				"type": "string",
				"description": "Die Version dieses Kits"
			},
			"versionRuntime": {
				"type": "string",
				"description": "Die Version der C-Runtime für das Kit"
			},
			"keep": {
				"type": "boolean",
				"description": "Bei `true` wird dieses Kit auch dann beibehalten, wenn es veraltet erscheint."
			},
			"compilers": {
				"type": "object",
				"patternProperties": {
					"\\w+": {
						"type": "string",
						"description": "Pfad zu einem Compiler für diese Sprache"
					}
				}
			},
			"toolchainFile": {
				"type": "string",
				"description": "Pfad zu einer Toolkettendatei"
			},
			"visualStudio": {
				"type": "string",
				"description": "Instanz-ID des Visual Studio-Produkts"
			},
			"visualStudioArchitecture": {
				"type": "string",
				"description": "Als Ziel zu verwendende Architektur"
			},
			"visualStudioArguments": {
				"type": "array",
				"description": "Argumente für vcvarsall.bat",
				"items": {
					"type": "string"
				}
			},
			"environmentSetupScript": {
				"type": "string",
				"description": "Der absolute Pfad zu einem Skript, das die Umgebung für das Kit ändert."
			},
			"environmentVariables": {
				"type": "object",
				"patternProperties": {
					".*": {
						"type": "string",
						"description": "Wert für die Umgebungsvariable"
					}
				}
			},
			"cmakeSettings": {
				"type": "object",
				"patternProperties": {
					".*": {
						"oneOf": [
							{
								"type": "string",
								"description": "Wert für die CMake-Einstellung. Semikolons werden unverändert übernommen und von CMake als Listentrennzeichen behandelt."
							},
							{
								"type": "boolean",
								"description": "Boolescher Wert für die CMake-Einstellung. Ausgegeben als -D<key>:BOOL=TRUE/FALSE."
							},
							{
								"type": "number",
								"description": "Numerischer Wert für die CMake-Einstellung. Ausgegeben als -D<key>:STRING=<number>. Hinweis: JSON-Zahlen können nachgestellte Nullen (1.10 ≡ 1.1) oder sehr große bzw. sehr kleine Werte nicht beibehalten; in Anführungszeichen als Zeichenfolge setzen, wenn der genaue Text wichtig ist."
							},
							{
								"type": "array",
								"items": {
									"type": "string"
								},
								"description": "Array von Zeichenfolgen, die durch Semikolons getrennt werden, um eine CMake-Liste zu bilden."
							}
						]
					}
				}
			},
			"preferredGenerator": {
				"type": "object",
				"description": "Bevorzugten CMake-Generator für dieses Kit festlegen",
				"properties": {
					"name": {
						"type": "string",
						"description": "Name des zu verwendenden Generators"
					},
					"platform": {
						"type": "string",
						"description": "CMake-Plattform für -A-Argument"
					},
					"toolset": {
						"type": "string",
						"description": "CMake-Toolset für -T-Argument"
					}
				},
				"required": [
					"name"
				]
			},
			"isTrusted": {
				"type": "boolean",
				"description": "True, wenn dieses Kit aus einem vertrauenswürdigen Pfad stammt"
			}
		}
	}
}