summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalNinjaGenerator.cxx
diff options
context:
space:
mode:
authorKyle Edwards <kyle.edwards@kitware.com>2020-02-17 15:51:48 (GMT)
committerKyle Edwards <kyle.edwards@kitware.com>2020-02-17 15:51:48 (GMT)
commit665c8fde8bd2e015c9c01d095cd31987f78f74e4 (patch)
tree446606bbe0f7d13c8cff97110ebdcfab6e66a504 /Source/cmGlobalNinjaGenerator.cxx
parent6d00a2de7b019b17bd9735108c1e80c2031f345a (diff)
parent7abc3d61acf5be976ce5b9f2c13f48f7f61e8e76 (diff)
downloadCMake-665c8fde8bd2e015c9c01d095cd31987f78f74e4.zip
CMake-665c8fde8bd2e015c9c01d095cd31987f78f74e4.tar.gz
CMake-665c8fde8bd2e015c9c01d095cd31987f78f74e4.tar.bz2
Merge branch 'backport-ninja-multi-framework-dependency-autogen-fix' into ninja-multi-framework-dependency-autogen-fix
Diffstat (limited to 'Source/cmGlobalNinjaGenerator.cxx')
-rw-r--r--Source/cmGlobalNinjaGenerator.cxx10
1 files changed, 4 insertions, 6 deletions
diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx
index 3553ffd..12a5167 100644
--- a/Source/cmGlobalNinjaGenerator.cxx
+++ b/Source/cmGlobalNinjaGenerator.cxx
@@ -1127,10 +1127,11 @@ void cmGlobalNinjaGenerator::AppendTargetDepends(
{
if (target->GetType() == cmStateEnums::GLOBAL_TARGET) {
// These depend only on other CMake-provided targets, e.g. "all".
- for (BT<std::string> const& util : target->GetUtilities()) {
+ for (BT<std::pair<std::string, bool>> const& util :
+ target->GetUtilities()) {
std::string d =
cmStrCat(target->GetLocalGenerator()->GetCurrentBinaryDirectory(), '/',
- util.Value);
+ util.Value.first);
outputs.push_back(this->BuildAlias(this->ConvertToNinjaPath(d), config));
}
} else {
@@ -1140,10 +1141,7 @@ void cmGlobalNinjaGenerator::AppendTargetDepends(
if (targetDep->GetType() == cmStateEnums::INTERFACE_LIBRARY) {
continue;
}
- // For some reason, object libraries show up as "utility" dependencies
- // even though they're used for linking. Treat them as link dependencies.
- if (targetDep.IsUtil() &&
- targetDep->GetType() != cmStateEnums::OBJECT_LIBRARY) {
+ if (targetDep.IsCross()) {
this->AppendTargetOutputs(targetDep, outs, fileConfig, depends);
} else {
this->AppendTargetOutputs(targetDep, outs, config, depends);