Ninja Multi-Config: Improve error handling when not doing cross-config build

This commit is contained in:
Kyle Edwards
2020-01-13 11:58:07 -05:00
parent 4bac5b628e
commit ca9100c5ce
3 changed files with 11 additions and 9 deletions

View File

@@ -1192,7 +1192,10 @@ void cmGlobalNinjaGenerator::WriteTargetAliases(std::ostream& os)
this->AppendTargetOutputs(ta.second.GeneratorTarget, build.ExplicitDeps,
ta.second.Config);
}
this->WriteBuild(os, build);
this->WriteBuild(this->EnableCrossConfigBuild()
? os
: *this->GetConfigFileStream(ta.second.Config),
build);
}
if (this->IsMultiConfig()) {
@@ -1259,7 +1262,10 @@ void cmGlobalNinjaGenerator::WriteFolderTargets(std::ostream& os)
}
}
// Write target
this->WriteBuild(os, build);
this->WriteBuild(this->EnableCrossConfigBuild()
? os
: *this->GetConfigFileStream(config),
build);
}
// Add shortcut target
@@ -1282,7 +1288,7 @@ void cmGlobalNinjaGenerator::WriteFolderTargets(std::ostream& os)
}
build.Outputs.front() = this->BuildAlias(
this->ConvertToNinjaPath(currentBinaryDir + "/all"), "all");
this->WriteBuild(*this->GetCommonFileStream(), build);
this->WriteBuild(os, build);
}
}
}

View File

@@ -1,3 +1 @@
^ninja: error: 'RelWithDebInfo/[^
]*simplestatic[^
]*', needed by 'all:RelWithDebInfo', missing and no known rule to make it$
^ninja: error: unknown target 'all:RelWithDebInfo'$

View File

@@ -1,3 +1 @@
^ninja: error: 'RelWithDebInfo/[^
]*simplestatic[^
]*', needed by 'simplestatic:RelWithDebInfo', missing and no known rule to make it$
^ninja: error: unknown target 'simplestatic:RelWithDebInfo'$