mirror of
https://gitlab.kitware.com/cmake/cmake.git
synced 2026-09-25 04:09:36 +03:00
presets: Identify unreachable configure references
This commit is contained in:
@@ -131,10 +131,14 @@ void INHERITED_PRESET_UNREACHABLE_FROM_FILE(std::string const& presetName,
|
||||
}
|
||||
|
||||
void CONFIGURE_PRESET_UNREACHABLE_FROM_FILE(std::string const& presetName,
|
||||
std::string const& kind,
|
||||
std::string const& configurePreset,
|
||||
cmJSONState* state)
|
||||
{
|
||||
state->AddError(cmStrCat("Configure preset \"", presetName,
|
||||
"\" is unreachable from preset's file"));
|
||||
state->AddError(cmStrCat(CapitalizePresetKind(kind), " preset \"",
|
||||
presetName, "\" references configure preset \"",
|
||||
configurePreset, "\", but \"", configurePreset,
|
||||
"\" is not reachable from the preset's file"));
|
||||
}
|
||||
|
||||
void INVALID_MACRO_EXPANSION(std::string const& presetName, cmJSONState* state)
|
||||
|
||||
@@ -51,6 +51,8 @@ void INHERITED_PRESET_UNREACHABLE_FROM_FILE(std::string const& presetName,
|
||||
cmJSONState* state);
|
||||
|
||||
void CONFIGURE_PRESET_UNREACHABLE_FROM_FILE(std::string const& presetName,
|
||||
std::string const& kind,
|
||||
std::string const& configurePreset,
|
||||
cmJSONState* state);
|
||||
|
||||
void INVALID_MACRO_EXPANSION(std::string const& presetName,
|
||||
|
||||
@@ -1286,7 +1286,8 @@ bool cmCMakePresetsGraph::ReadProjectPresetsInternal(
|
||||
if (!it.second.Unexpanded.OriginFile->ReachableFiles.count(
|
||||
configurePreset->second.Unexpanded.OriginFile)) {
|
||||
cmCMakePresetsErrors::CONFIGURE_PRESET_UNREACHABLE_FROM_FILE(
|
||||
it.first, &this->parseState);
|
||||
it.first, BuildPreset::kind(), it.second.Unexpanded.ConfigurePreset,
|
||||
&this->parseState);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -1317,7 +1318,8 @@ bool cmCMakePresetsGraph::ReadProjectPresetsInternal(
|
||||
if (!it.second.Unexpanded.OriginFile->ReachableFiles.count(
|
||||
configurePreset->second.Unexpanded.OriginFile)) {
|
||||
cmCMakePresetsErrors::CONFIGURE_PRESET_UNREACHABLE_FROM_FILE(
|
||||
it.first, &this->parseState);
|
||||
it.first, TestPreset::kind(), it.second.Unexpanded.ConfigurePreset,
|
||||
&this->parseState);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -1348,7 +1350,8 @@ bool cmCMakePresetsGraph::ReadProjectPresetsInternal(
|
||||
if (!it.second.Unexpanded.OriginFile->ReachableFiles.count(
|
||||
configurePreset->second.Unexpanded.OriginFile)) {
|
||||
cmCMakePresetsErrors::CONFIGURE_PRESET_UNREACHABLE_FROM_FILE(
|
||||
it.first, &this->parseState);
|
||||
it.first, PackagePreset::kind(),
|
||||
it.second.Unexpanded.ConfigurePreset, &this->parseState);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
^CMake Error: Could not read presets from [^
|
||||
]*/Tests/RunCMake/CMakePresetsBuild/ConfigurePresetUnreachable:
|
||||
Configure preset "x" is unreachable from preset's file$
|
||||
Build preset "x" references configure preset "cfg-parent", but "cfg-parent" is not reachable from the preset's file$
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"buildPresets": [
|
||||
{
|
||||
"name": "x",
|
||||
"configurePreset": "x"
|
||||
"configurePreset": "cfg-parent"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"version": 4,
|
||||
"configurePresets": [
|
||||
{
|
||||
"name": "x"
|
||||
"name": "cfg-parent"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+1
@@ -0,0 +1 @@
|
||||
1
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
^CPack Error: Could not read presets from [^
|
||||
]*/Tests/RunCMake/CMakePresetsPackage/ConfigurePresetUnreachable:
|
||||
Package preset "package-child" references configure preset "cfg-parent", but "cfg-parent" is not reachable from the preset's file$
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"version": 6,
|
||||
"packagePresets": [
|
||||
{
|
||||
"name": "package-child",
|
||||
"configurePreset": "cfg-parent"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"version": 6,
|
||||
"configurePresets": [
|
||||
{
|
||||
"name": "cfg-parent"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -119,3 +119,4 @@ run_cmake_command(PresetsFileNoArg-package ${CMAKE_CPACK_COMMAND} "--presets-fil
|
||||
set(CMakePresetsPackage_NO_CONFIGURE 1)
|
||||
set(CMakePresetsPackage_NO_BUILD 1)
|
||||
run_cmake_package_presets(InvalidConfigurePreset "" "" "package-release")
|
||||
run_cmake_package_presets(ConfigurePresetUnreachable "" "" "package-child")
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
^CMake Error: Could not read presets from [^
|
||||
]*/Tests/RunCMake/CMakePresetsTest/ConfigurePresetUnreachable:
|
||||
Configure preset "x" is unreachable from preset's file
|
||||
Test preset "x" references configure preset "cfg-parent", but "cfg-parent" is not reachable from the preset's file$
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"testPresets": [
|
||||
{
|
||||
"name": "x",
|
||||
"configurePreset": "x"
|
||||
"configurePreset": "cfg-parent"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"version": 4,
|
||||
"configurePresets": [
|
||||
{
|
||||
"name": "x"
|
||||
"name": "cfg-parent"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user