summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalNinjaGenerator.cxx
diff options
context:
space:
mode:
authorKyle Edwards <kyle.edwards@kitware.com>2020-01-13 16:58:07 (GMT)
committerKyle Edwards <kyle.edwards@kitware.com>2020-01-13 16:58:07 (GMT)
commitca9100c5cea40cafe0d9a61f4263da2968dc50e0 (patch)
tree41e692415aa5fbe841bcc9dbf1bcfc9008386d3e /Source/cmGlobalNinjaGenerator.cxx
parent4bac5b628ea1e854ab23b6e713ad3eb211b3a9e3 (diff)
downloadCMake-ca9100c5cea40cafe0d9a61f4263da2968dc50e0.zip
CMake-ca9100c5cea40cafe0d9a61f4263da2968dc50e0.tar.gz
CMake-ca9100c5cea40cafe0d9a61f4263da2968dc50e0.tar.bz2
Ninja Multi-Config: Improve error handling when not doing cross-config build
Diffstat (limited to 'Source/cmGlobalNinjaGenerator.cxx')
-rw-r--r--Source/cmGlobalNinjaGenerator.cxx12
1 files changed, 9 insertions, 3 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);
}
}
}