فهرست منبع

presets: bump version to v5

Prepare for new test preset fields.
Frank Winklmeier 3 سال پیش
والد
کامیت
359e5b17d8

+ 1 - 1
Help/manual/cmake-presets.7.rst

@@ -54,7 +54,7 @@ The root object recognizes the following fields:
 ``version``
 
   A required integer representing the version of the JSON schema.
-  The supported versions are ``1``, ``2``, ``3``, and ``4``.
+  The supported versions are ``1``, ``2``, ``3``, ``4``, and ``5``.
 
 ``cmakeMinimumRequired``
 

+ 1 - 1
Help/manual/presets/example.json

@@ -1,5 +1,5 @@
 {
-  "version": 4,
+  "version": 5,
   "cmakeMinimumRequired": {
     "major": 3,
     "minor": 21,

+ 48 - 2
Help/manual/presets/schema.json

@@ -57,6 +57,21 @@
         "include": { "$ref": "#/definitions/include"}
       },
       "additionalProperties": false
+    },
+    {
+      "properties": {
+        "version": {
+          "const": 5,
+          "description": "A required integer representing the version of the JSON schema."
+        },
+        "cmakeMinimumRequired": { "$ref": "#/definitions/cmakeMinimumRequired"},
+        "vendor": { "$ref": "#/definitions/vendor" },
+        "configurePresets": { "$ref": "#/definitions/configurePresetsV3"},
+        "buildPresets": { "$ref": "#/definitions/buildPresetsV4"},
+        "testPresets": { "$ref": "#/definitions/testPresetsV5"},
+        "include": { "$ref": "#/definitions/include"}
+      },
+      "additionalProperties": false
     }
   ],
   "required": [
@@ -821,8 +836,7 @@
                 "type": "integer",
                 "description": "An optional integer specifying the maximum width of a test name to output. Equivalent to passing --max-width on the command line."
               }
-            },
-            "additionalProperties": false
+            }
           },
           "filter": {
             "type": "object",
@@ -998,6 +1012,38 @@
         ]
       }
     },
+    "testPresetsV5": {
+      "type": "array",
+      "description": "An optional array of test preset objects. Used to specify arguments to ctest. Available in version 5 and higher.",
+      "allOf": [
+        { "$ref": "#/definitions/testPresetsItemsV2" },
+        { "$ref": "#/definitions/testPresetsItemsV3" }
+      ],
+      "items": {
+        "type": "object",
+        "properties": {
+          "name": {},
+          "hidden": {},
+          "inherits": {},
+          "configurePreset": {},
+          "vendor": {},
+          "displayName": {},
+          "description": {},
+          "inheritConfigureEnvironment": {},
+          "environment": {},
+          "configuration": {},
+          "overwriteConfigurationFile": {},
+          "output": {},
+          "filter": {},
+          "execution": {},
+          "condition": {}
+        },
+        "required": [
+          "name"
+        ],
+        "additionalProperties": false
+      }
+    },
     "testPresetsV3": {
       "type": "array",
       "description": "An optional array of test preset objects. Used to specify arguments to ctest. Available in version 3 and higher.",

+ 1 - 1
Source/cmCMakePresetsGraphReadJSON.cxx

@@ -33,7 +33,7 @@ using TestPreset = cmCMakePresetsGraph::TestPreset;
 using ArchToolsetStrategy = cmCMakePresetsGraph::ArchToolsetStrategy;
 
 constexpr int MIN_VERSION = 1;
-constexpr int MAX_VERSION = 4;
+constexpr int MAX_VERSION = 5;
 
 struct CMakeVersion
 {

+ 1 - 1
Tests/RunCMake/CMakePresets/IncludeOutsideProjectInclude.json

@@ -1,3 +1,3 @@
 {
-  "version": 4
+  "version": 5
 }

+ 1 - 1
Tests/RunCMake/CMakePresetsBuild/Good.json.in

@@ -1,5 +1,5 @@
 {
-    "version": 4,
+    "version": 5,
     "configurePresets": [
         {
             "name": "default",

+ 1 - 1
Tests/RunCMake/CMakePresetsTest/Good.json.in

@@ -1,5 +1,5 @@
 {
-    "version": 2,
+    "version": 5,
     "configurePresets": [
         {
             "name": "default",