瀏覽代碼

CMakePresets.json: Don't use architecture and toolset if empty

Fixes: #24864
Kyle Edwards 1 年之前
父節點
當前提交
0654051dde
共有 1 個文件被更改,包括 3 次插入2 次删除
  1. 3 2
      Source/cmake.cxx

+ 3 - 2
Source/cmake.cxx

@@ -1576,14 +1576,15 @@ void cmake::SetArgs(const std::vector<std::string>& args)
     if (!expandedPreset->ArchitectureStrategy ||
     if (!expandedPreset->ArchitectureStrategy ||
         expandedPreset->ArchitectureStrategy ==
         expandedPreset->ArchitectureStrategy ==
           cmCMakePresetsGraph::ArchToolsetStrategy::Set) {
           cmCMakePresetsGraph::ArchToolsetStrategy::Set) {
-      if (!this->GeneratorPlatformSet) {
+      if (!this->GeneratorPlatformSet &&
+          !expandedPreset->Architecture.empty()) {
         this->SetGeneratorPlatform(expandedPreset->Architecture);
         this->SetGeneratorPlatform(expandedPreset->Architecture);
       }
       }
     }
     }
     if (!expandedPreset->ToolsetStrategy ||
     if (!expandedPreset->ToolsetStrategy ||
         expandedPreset->ToolsetStrategy ==
         expandedPreset->ToolsetStrategy ==
           cmCMakePresetsGraph::ArchToolsetStrategy::Set) {
           cmCMakePresetsGraph::ArchToolsetStrategy::Set) {
-      if (!this->GeneratorToolsetSet) {
+      if (!this->GeneratorToolsetSet && !expandedPreset->Toolset.empty()) {
         this->SetGeneratorToolset(expandedPreset->Toolset);
         this->SetGeneratorToolset(expandedPreset->Toolset);
       }
       }
     }
     }