mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-14 02:08:27 +08:00
249 lines
7.9 KiB
JSON
249 lines
7.9 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"type": "object",
|
|
"required": [
|
|
"cmake",
|
|
"objects",
|
|
"reply"
|
|
],
|
|
"properties": {
|
|
"cmake": {
|
|
"type": "object",
|
|
"description": "High level details about CMake itself and the CMake generator used",
|
|
"required": [
|
|
"version",
|
|
"paths",
|
|
"generator"
|
|
],
|
|
"properties": {
|
|
"version": {
|
|
"description": "Full version details of the CMake used to produce the replies",
|
|
"type": "object",
|
|
"required": [
|
|
"major",
|
|
"minor",
|
|
"patch",
|
|
"string",
|
|
"isDirty"
|
|
],
|
|
"properties": {
|
|
"major": {
|
|
"type": "integer",
|
|
"minimum": 3
|
|
},
|
|
"minor": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"patch": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"suffix": {
|
|
"type": "string",
|
|
"description": "A version suffix may be present when CMake is built from sources, or for release candidates. Official releases do not normally have a suffix."
|
|
},
|
|
"string": {
|
|
"type": "string",
|
|
"description": "The full version string in the format <major>.<minor>.<patch>[-<suffix>]"
|
|
},
|
|
"isDirty": {
|
|
"type": "boolean",
|
|
"description": "When this is true, it indicates CMake was built from a version-controlled source tree with local modifications"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"paths": {
|
|
"description": "Absolute paths to tools and locations within the CMake installation",
|
|
"type": "object",
|
|
"required": [
|
|
"cmake",
|
|
"ctest",
|
|
"cpack",
|
|
"root"
|
|
],
|
|
"properties": {
|
|
"cmake": {
|
|
"description": "Absolute path to the cmake executable",
|
|
"type": "string"
|
|
},
|
|
"ctest": {
|
|
"description": "Absolute path to the ctest executable",
|
|
"type": "string"
|
|
},
|
|
"cpack": {
|
|
"description": "Absolute path to the cpack executable",
|
|
"type": "string"
|
|
},
|
|
"root": {
|
|
"description": "Absolute path to the directory containing CMake resources like the Modules directory",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"generator": {
|
|
"description": "Details for the CMake generator used",
|
|
"type": "object",
|
|
"required": [
|
|
"multiConfig",
|
|
"name"
|
|
],
|
|
"properties": {
|
|
"multiConfig": {
|
|
"description": "True for multi-configuration generators, false for single-configuration generators",
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"platform": {
|
|
"description": "This string will only be set if the generator supports the CMAKE_GENERATOR_PLATFORM variable, which specifies the generator platform name",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"objects": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/kindJsonFile"
|
|
}
|
|
},
|
|
"reply": {
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^[^-]+-v\\d+$": {
|
|
"description": "A member of this form appears for each of the shared stateless query files that CMake recognized as a request for the specified object kind and major version",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/kindJsonFile"
|
|
},
|
|
{
|
|
"description": "A member of this form appears if the query's object kind is not recognized or is malformed",
|
|
"$ref": "#/definitions/replyError"
|
|
}
|
|
]
|
|
},
|
|
"^client-[^/]+$": {
|
|
"description": "A member of this form appears for each client-owned directory holding client stateless query files. The value is a JSON object mirroring the content of the query/client-<client>/ directory.",
|
|
"patternProperties": {
|
|
"^[^-]+-v\\d+$": {
|
|
"description": "A member of this form appears for each of the client stateless query files that CMake recognized as a request for the specified object kind and major version",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/kindJsonFile"
|
|
},
|
|
{
|
|
"description": "A member of this form appears if the client query's object kind is not recognized or is malformed",
|
|
"$ref": "#/definitions/replyError"
|
|
}
|
|
]
|
|
},
|
|
"^query\\.json$": {
|
|
"description": "This member appears for clients using client stateful query files",
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"client": {
|
|
"type": "object"
|
|
},
|
|
"requests": {},
|
|
"responses": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/replyError"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/kindJsonFile"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/replyError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "A member of this form appears if the query.json file failed to read or parse as a JSON object",
|
|
"$ref": "#/definitions/replyError"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": {
|
|
"description": "A member of this form appears for each of the client stateless query files that CMake did not recognize.",
|
|
"$ref": "#/definitions/replyError"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": {
|
|
"description": "A member of this form appears for each of the shared stateless query files that CMake did not recognize.",
|
|
"$ref": "#/definitions/replyError"
|
|
}
|
|
}
|
|
},
|
|
"definitions": {
|
|
"kindJsonFile": {
|
|
"type": "object",
|
|
"required": [
|
|
"kind",
|
|
"version",
|
|
"jsonFile"
|
|
],
|
|
"properties": {
|
|
"kind": {
|
|
"type": "string"
|
|
},
|
|
"version": {
|
|
"type": "object",
|
|
"required": [
|
|
"major",
|
|
"minor"
|
|
],
|
|
"properties": {
|
|
"major": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
"minor": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"jsonFile": {
|
|
"type": "string",
|
|
"description": "Specifies a path relative to the reply index file to another JSON file containing the object"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"replyError": {
|
|
"type": "object",
|
|
"required": [
|
|
"error"
|
|
],
|
|
"properties": {
|
|
"error": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|