cmake: Disallow --preset with -P script mode

Fixes: #25495
This commit is contained in:
Tyler Yankee committed 2026-05-17 14:47:42 -04:00
1 parent d2f11ff7b5
commit e93ac092a7
5 files changed
+9

No files matched your search

+5
View File
@@ -1619,6 +1619,11 @@ void cmake::SetArgs(std::vector<std::string> const& args)
this->SetHomeOutputDirectory(cmSystemTools::GetLogicalWorkingDirectory());
}
if (this->State->GetRole() == cmState::Role::Script && havePreset) {
this->IssueMessage(MessageType::FATAL_ERROR,
"Presets are not supported in CMake script mode.");
}
#if !defined(CMAKE_BOOTSTRAP)
if (presetsArgs.HasPresetsArg()) {
this->SetArgsFromPreset(presetsArgs, haveBArg);
@@ -0,0 +1 @@
1
@@ -0,0 +1,2 @@
^CMake Error:
Presets are not supported in CMake script mode\.$
Whitespace-only changes.
@@ -349,6 +349,7 @@ run_cmake_presets(NoPresetArgument --preset)
run_cmake_presets(NoPresetArgumentEq --preset= -DA=B)
run_cmake_presets(UseHiddenPreset)
run_cmake_presets(NoPresetFileArgument --preset GoodNoArgs --presets-file)
run_cmake_presets(PresetScriptMode -P PresetScriptMode.cmake --preset GoodNoArgs)
# Test CMakeUserPresets.json
unset(CMakePresets_FILE)