mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-20 12:53:55 +08:00
presets: Fix buildPreset "targets" not allowing a single string
Fixes: #22272
This commit is contained in:
@@ -350,7 +350,7 @@ auto const PresetVectorStringHelper =
|
|||||||
ReadFileResult::READ_OK, ReadFileResult::INVALID_PRESET,
|
ReadFileResult::READ_OK, ReadFileResult::INVALID_PRESET,
|
||||||
PresetStringHelper);
|
PresetStringHelper);
|
||||||
|
|
||||||
ReadFileResult PresetInheritsHelper(std::vector<std::string>& out,
|
ReadFileResult PresetVectorOneOrMoreStringHelper(std::vector<std::string>& out,
|
||||||
const Json::Value* value)
|
const Json::Value* value)
|
||||||
{
|
{
|
||||||
out.clear();
|
out.clear();
|
||||||
@@ -478,8 +478,8 @@ auto const ConfigurePresetHelper =
|
|||||||
cmJSONObjectHelper<ConfigurePreset, ReadFileResult>(
|
cmJSONObjectHelper<ConfigurePreset, ReadFileResult>(
|
||||||
ReadFileResult::READ_OK, ReadFileResult::INVALID_PRESET, false)
|
ReadFileResult::READ_OK, ReadFileResult::INVALID_PRESET, false)
|
||||||
.Bind("name"_s, &ConfigurePreset::Name, PresetStringHelper)
|
.Bind("name"_s, &ConfigurePreset::Name, PresetStringHelper)
|
||||||
.Bind("inherits"_s, &ConfigurePreset::Inherits, PresetInheritsHelper,
|
.Bind("inherits"_s, &ConfigurePreset::Inherits,
|
||||||
false)
|
PresetVectorOneOrMoreStringHelper, false)
|
||||||
.Bind("hidden"_s, &ConfigurePreset::Hidden, PresetBoolHelper, false)
|
.Bind("hidden"_s, &ConfigurePreset::Hidden, PresetBoolHelper, false)
|
||||||
.Bind<std::nullptr_t>("vendor"_s, nullptr,
|
.Bind<std::nullptr_t>("vendor"_s, nullptr,
|
||||||
VendorHelper(ReadFileResult::INVALID_PRESET), false)
|
VendorHelper(ReadFileResult::INVALID_PRESET), false)
|
||||||
@@ -512,7 +512,8 @@ auto const BuildPresetHelper =
|
|||||||
cmJSONObjectHelper<BuildPreset, ReadFileResult>(
|
cmJSONObjectHelper<BuildPreset, ReadFileResult>(
|
||||||
ReadFileResult::READ_OK, ReadFileResult::INVALID_PRESET, false)
|
ReadFileResult::READ_OK, ReadFileResult::INVALID_PRESET, false)
|
||||||
.Bind("name"_s, &BuildPreset::Name, PresetStringHelper)
|
.Bind("name"_s, &BuildPreset::Name, PresetStringHelper)
|
||||||
.Bind("inherits"_s, &BuildPreset::Inherits, PresetInheritsHelper, false)
|
.Bind("inherits"_s, &BuildPreset::Inherits,
|
||||||
|
PresetVectorOneOrMoreStringHelper, false)
|
||||||
.Bind("hidden"_s, &BuildPreset::Hidden, PresetBoolHelper, false)
|
.Bind("hidden"_s, &BuildPreset::Hidden, PresetBoolHelper, false)
|
||||||
.Bind<std::nullptr_t>("vendor"_s, nullptr,
|
.Bind<std::nullptr_t>("vendor"_s, nullptr,
|
||||||
VendorHelper(ReadFileResult::INVALID_PRESET), false)
|
VendorHelper(ReadFileResult::INVALID_PRESET), false)
|
||||||
@@ -528,7 +529,8 @@ auto const BuildPresetHelper =
|
|||||||
&BuildPreset::InheritConfigureEnvironment, PresetOptionalBoolHelper,
|
&BuildPreset::InheritConfigureEnvironment, PresetOptionalBoolHelper,
|
||||||
false)
|
false)
|
||||||
.Bind("jobs"_s, &BuildPreset::Jobs, PresetOptionalIntHelper, false)
|
.Bind("jobs"_s, &BuildPreset::Jobs, PresetOptionalIntHelper, false)
|
||||||
.Bind("targets"_s, &BuildPreset::Targets, PresetVectorStringHelper, false)
|
.Bind("targets"_s, &BuildPreset::Targets,
|
||||||
|
PresetVectorOneOrMoreStringHelper, false)
|
||||||
.Bind("configuration"_s, &BuildPreset::Configuration, PresetStringHelper,
|
.Bind("configuration"_s, &BuildPreset::Configuration, PresetStringHelper,
|
||||||
false)
|
false)
|
||||||
.Bind("cleanFirst"_s, &BuildPreset::CleanFirst, PresetOptionalBoolHelper,
|
.Bind("cleanFirst"_s, &BuildPreset::CleanFirst, PresetOptionalBoolHelper,
|
||||||
@@ -831,7 +833,8 @@ auto const TestPresetHelper =
|
|||||||
cmJSONObjectHelper<TestPreset, ReadFileResult>(
|
cmJSONObjectHelper<TestPreset, ReadFileResult>(
|
||||||
ReadFileResult::READ_OK, ReadFileResult::INVALID_PRESET, false)
|
ReadFileResult::READ_OK, ReadFileResult::INVALID_PRESET, false)
|
||||||
.Bind("name"_s, &TestPreset::Name, PresetStringHelper)
|
.Bind("name"_s, &TestPreset::Name, PresetStringHelper)
|
||||||
.Bind("inherits"_s, &TestPreset::Inherits, PresetInheritsHelper, false)
|
.Bind("inherits"_s, &TestPreset::Inherits,
|
||||||
|
PresetVectorOneOrMoreStringHelper, false)
|
||||||
.Bind("hidden"_s, &TestPreset::Hidden, PresetBoolHelper, false)
|
.Bind("hidden"_s, &TestPreset::Hidden, PresetBoolHelper, false)
|
||||||
.Bind<std::nullptr_t>("vendor"_s, nullptr,
|
.Bind<std::nullptr_t>("vendor"_s, nullptr,
|
||||||
VendorHelper(ReadFileResult::INVALID_PRESET), false)
|
VendorHelper(ReadFileResult::INVALID_PRESET), false)
|
||||||
|
@@ -73,6 +73,11 @@
|
|||||||
"vendor": {
|
"vendor": {
|
||||||
"example.com": "value"
|
"example.com": "value"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "singleTarget",
|
||||||
|
"inherits": "build-default",
|
||||||
|
"targets": "good"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@@ -62,7 +62,7 @@ endfunction()
|
|||||||
|
|
||||||
set(CMakePresets_SCHEMA_EXPECTED_RESULT 0)
|
set(CMakePresets_SCHEMA_EXPECTED_RESULT 0)
|
||||||
|
|
||||||
run_cmake_build_presets(Good "default;other" "build-other;withEnvironment;noEnvironment;macros;vendorObject")
|
run_cmake_build_presets(Good "default;other" "build-other;withEnvironment;noEnvironment;macros;vendorObject;singleTarget")
|
||||||
run_cmake_build_presets(InvalidConfigurePreset "default" "badConfigurePreset")
|
run_cmake_build_presets(InvalidConfigurePreset "default" "badConfigurePreset")
|
||||||
run_cmake_build_presets(Condition "default" "enabled;disabled")
|
run_cmake_build_presets(Condition "default" "enabled;disabled")
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user