|
|
@@ -256,9 +256,14 @@ auto const VersionIntHelper =
|
|
|
auto const VersionHelper = JSONHelperBuilder::Required<int>(
|
|
|
cmCMakePresetsErrors::NO_VERSION, VersionIntHelper);
|
|
|
|
|
|
+auto const VersionRangeHelper = JSONHelperBuilder::Checked<int>(
|
|
|
+ cmCMakePresetsErrors::UNRECOGNIZED_VERSION_RANGE(MIN_VERSION, MAX_VERSION),
|
|
|
+ VersionHelper,
|
|
|
+ [](const int v) -> bool { return v >= MIN_VERSION && v <= MAX_VERSION; });
|
|
|
+
|
|
|
auto const RootVersionHelper =
|
|
|
JSONHelperBuilder::Object<int>(cmCMakePresetsErrors::INVALID_ROOT_OBJECT)
|
|
|
- .Bind("version"_s, VersionHelper, false);
|
|
|
+ .Bind("version"_s, VersionRangeHelper, false);
|
|
|
|
|
|
auto const CMakeVersionUIntHelper =
|
|
|
JSONHelperBuilder::UInt(cmCMakePresetsErrors::INVALID_VERSION);
|
|
|
@@ -481,11 +486,6 @@ bool cmCMakePresetsGraph::ReadJSONFile(const std::string& filename,
|
|
|
if ((result = RootVersionHelper(v, &root, &parseState)) != true) {
|
|
|
return result;
|
|
|
}
|
|
|
- if (v < MIN_VERSION || v > MAX_VERSION) {
|
|
|
- cmCMakePresetsErrors::UNRECOGNIZED_VERSION(&root["version"],
|
|
|
- &this->parseState);
|
|
|
- return false;
|
|
|
- }
|
|
|
|
|
|
// Support for build and test presets added in version 2.
|
|
|
if (v < 2) {
|