mirror of
https://github.com/Kitware/CMake.git
synced 2026-02-14 02:59:53 -06:00
Merge branch 'invalid-configure-preset' into release-3.20
Merge-request: !5912
This commit is contained in:
@@ -1431,8 +1431,11 @@ cmCMakePresetsFile::ReadProjectPresetsInternal(bool allowNoFiles)
|
||||
if (!it.second.Unexpanded.Hidden) {
|
||||
const auto configurePreset =
|
||||
this->ConfigurePresets.find(it.second.Unexpanded.ConfigurePreset);
|
||||
if (it.second.Unexpanded.InheritConfigureEnvironment.value_or(true) &&
|
||||
configurePreset != this->ConfigurePresets.end()) {
|
||||
if (configurePreset == this->ConfigurePresets.end()) {
|
||||
return ReadFileResult::INVALID_CONFIGURE_PRESET;
|
||||
}
|
||||
|
||||
if (it.second.Unexpanded.InheritConfigureEnvironment.value_or(true)) {
|
||||
it.second.Unexpanded.Environment.insert(
|
||||
configurePreset->second.Unexpanded.Environment.begin(),
|
||||
configurePreset->second.Unexpanded.Environment.end());
|
||||
@@ -1448,8 +1451,11 @@ cmCMakePresetsFile::ReadProjectPresetsInternal(bool allowNoFiles)
|
||||
if (!it.second.Unexpanded.Hidden) {
|
||||
const auto configurePreset =
|
||||
this->ConfigurePresets.find(it.second.Unexpanded.ConfigurePreset);
|
||||
if (it.second.Unexpanded.InheritConfigureEnvironment.value_or(true) &&
|
||||
configurePreset != this->ConfigurePresets.end()) {
|
||||
if (configurePreset == this->ConfigurePresets.end()) {
|
||||
return ReadFileResult::INVALID_CONFIGURE_PRESET;
|
||||
}
|
||||
|
||||
if (it.second.Unexpanded.InheritConfigureEnvironment.value_or(true)) {
|
||||
it.second.Unexpanded.Environment.insert(
|
||||
configurePreset->second.Unexpanded.Environment.begin(),
|
||||
configurePreset->second.Unexpanded.Environment.end());
|
||||
@@ -1502,6 +1508,8 @@ const char* cmCMakePresetsFile::ResultToString(ReadFileResult result)
|
||||
case ReadFileResult::BUILD_TEST_PRESETS_UNSUPPORTED:
|
||||
return "File version must be 2 or higher for build and test preset "
|
||||
"support.";
|
||||
case ReadFileResult::INVALID_CONFIGURE_PRESET:
|
||||
return "Invalid \"configurePreset\" field";
|
||||
}
|
||||
|
||||
return "Unknown error";
|
||||
|
||||
@@ -32,6 +32,7 @@ public:
|
||||
USER_PRESET_INHERITANCE,
|
||||
INVALID_MACRO_EXPANSION,
|
||||
BUILD_TEST_PRESETS_UNSUPPORTED,
|
||||
INVALID_CONFIGURE_PRESET,
|
||||
};
|
||||
|
||||
enum class ArchToolsetStrategy
|
||||
|
||||
@@ -18,10 +18,6 @@
|
||||
"environment": {
|
||||
"TEST": "$vendor{bad.TEST}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "badConfigurePreset",
|
||||
"configurePreset": "dne"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
1
|
||||
@@ -0,0 +1,2 @@
|
||||
CMake Error: Could not read presets from [^
|
||||
]*/Tests/RunCMake/CMakePresetsBuild/InvalidConfigurePreset: Invalid "configurePreset" field
|
||||
@@ -0,0 +1 @@
|
||||
1
|
||||
@@ -0,0 +1,2 @@
|
||||
CMake Error: Could not read presets from [^
|
||||
]*/Tests/RunCMake/CMakePresetsBuild/InvalidConfigurePreset: Invalid "configurePreset" field
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"version": 2,
|
||||
"configurePresets": [
|
||||
{
|
||||
"name": "default",
|
||||
"generator": "@RunCMake_GENERATOR@",
|
||||
"binaryDir": "${sourceDir}/build/${presetName}"
|
||||
}
|
||||
],
|
||||
"buildPresets": [
|
||||
{
|
||||
"name": "badConfigurePreset",
|
||||
"configurePreset": "dne"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -63,11 +63,12 @@ endfunction()
|
||||
set(CMakePresets_SCHEMA_EXPECTED_RESULT 0)
|
||||
|
||||
run_cmake_build_presets(Good "default;other" "build-other;withEnvironment;noEnvironment;macros;vendorObject")
|
||||
run_cmake_build_presets(InvalidConfigurePreset "default" "badConfigurePreset")
|
||||
|
||||
set(CMakePresetsBuild_BUILD_ONLY 1)
|
||||
run_cmake_build_presets(ListPresets "x" "x" "--list-presets")
|
||||
run_cmake_build_presets(NoConfigurePreset "x" "noConfigurePreset")
|
||||
run_cmake_build_presets(Invalid "x" "hidden;vendorMacro;badConfigurePreset")
|
||||
run_cmake_build_presets(Invalid "x" "hidden;vendorMacro")
|
||||
|
||||
set(CMakePresets_SCHEMA_EXPECTED_RESULT 1)
|
||||
run_cmake_build_presets(PresetsUnsupported "x" "x")
|
||||
|
||||
@@ -18,10 +18,6 @@
|
||||
"environment": {
|
||||
"TEST": "$vendor{bad.TEST}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "badConfigurePreset",
|
||||
"configurePreset": "dne"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
1
|
||||
@@ -0,0 +1,2 @@
|
||||
CMake Error: Could not read presets from [^
|
||||
]*/Tests/RunCMake/CMakePresetsTest/InvalidConfigurePreset: Invalid "configurePreset" field
|
||||
@@ -0,0 +1 @@
|
||||
1
|
||||
@@ -0,0 +1,2 @@
|
||||
CMake Error: Could not read presets from [^
|
||||
]*/Tests/RunCMake/CMakePresetsTest/InvalidConfigurePreset: Invalid "configurePreset" field
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"version": 2,
|
||||
"configurePresets": [
|
||||
{
|
||||
"name": "default",
|
||||
"generator": "@RunCMake_GENERATOR@",
|
||||
"binaryDir": "${sourceDir}/build/${presetName}"
|
||||
}
|
||||
],
|
||||
"testPresets": [
|
||||
{
|
||||
"name": "badConfigurePreset",
|
||||
"configurePreset": "dne"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -85,6 +85,8 @@ run_cmake_test_presets(Good
|
||||
"${GoodTestPresets}")
|
||||
unset(CMakePresetsTest_ASSETS)
|
||||
|
||||
run_cmake_test_presets(InvalidConfigurePreset "default" "" "badConfigurePreset")
|
||||
|
||||
set(CMakePresetsTest_NO_CONFIGURE 1)
|
||||
set(CMakePresetsTest_FILE "${RunCMake_SOURCE_DIR}/Good.json.in")
|
||||
run_cmake_test_presets(ListPresets "" "" "x" "--list-presets")
|
||||
@@ -92,7 +94,7 @@ unset(CMakePresetsTest_FILE)
|
||||
|
||||
run_cmake_test_presets(NoConfigurePreset "" "" "noConfigurePreset")
|
||||
run_cmake_test_presets(NoTestsAction "default" "" "noTestsAction")
|
||||
run_cmake_test_presets(Invalid "" "" "hidden;vendorMacro;badConfigurePreset")
|
||||
run_cmake_test_presets(Invalid "" "" "hidden;vendorMacro")
|
||||
|
||||
set(CMakePresets_SCHEMA_EXPECTED_RESULT 1)
|
||||
run_cmake_test_presets(PresetsUnsupported "" "" "x")
|
||||
|
||||
Reference in New Issue
Block a user