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