diff options
author | Brad King <brad.king@kitware.com> | 2020-01-14 14:02:59 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2020-01-14 14:03:09 (GMT) |
commit | a2a91eb1416a5a48b7ba55973f3805998d0a643a (patch) | |
tree | af2c6d8152a14d5732fd5dc88f47481465def2b4 | |
parent | 03acdadb8ac3718ffecd94abfcff6ecb1194cc3b (diff) | |
parent | ca9100c5cea40cafe0d9a61f4263da2968dc50e0 (diff) | |
download | CMake-a2a91eb1416a5a48b7ba55973f3805998d0a643a.zip CMake-a2a91eb1416a5a48b7ba55973f3805998d0a643a.tar.gz CMake-a2a91eb1416a5a48b7ba55973f3805998d0a643a.tar.bz2 |
Merge topic 'cross-ninja-improve-error-handling'
ca9100c5ce Ninja Multi-Config: Improve error handling when not doing cross-config build
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4214
3 files changed, 11 insertions, 9 deletions
diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx index ea66e3d..922beb7 100644 --- a/Source/cmGlobalNinjaGenerator.cxx +++ b/Source/cmGlobalNinjaGenerator.cxx @@ -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); } } } diff --git a/Tests/RunCMake/NinjaMultiConfig/SimpleNoCross-relwithdebinfo-in-release-graph-all-build-stderr.txt b/Tests/RunCMake/NinjaMultiConfig/SimpleNoCross-relwithdebinfo-in-release-graph-all-build-stderr.txt index 95f42be..fa8b462 100644 --- a/Tests/RunCMake/NinjaMultiConfig/SimpleNoCross-relwithdebinfo-in-release-graph-all-build-stderr.txt +++ b/Tests/RunCMake/NinjaMultiConfig/SimpleNoCross-relwithdebinfo-in-release-graph-all-build-stderr.txt @@ -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'$ diff --git a/Tests/RunCMake/NinjaMultiConfig/SimpleNoCross-relwithdebinfo-in-release-graph-target-ninja-stderr.txt b/Tests/RunCMake/NinjaMultiConfig/SimpleNoCross-relwithdebinfo-in-release-graph-target-ninja-stderr.txt index 74191bb..1a1fe9e 100644 --- a/Tests/RunCMake/NinjaMultiConfig/SimpleNoCross-relwithdebinfo-in-release-graph-target-ninja-stderr.txt +++ b/Tests/RunCMake/NinjaMultiConfig/SimpleNoCross-relwithdebinfo-in-release-graph-target-ninja-stderr.txt @@ -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'$ |