summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorent Castelli <orphis@spotify.com>2016-06-23 17:01:29 +0200
committerBrad King <brad.king@kitware.com>2016-06-23 15:50:03 -0400
commit8bbd5db4c160927cf5e9a2eb2f45fe36a2c2d799 (patch)
treeab7b6ecbfb05f0456eeb757163eebf431e853f3d
parentc2c2a2f4c7e23192d3d8cd8d53a427d651ef3137 (diff)
downloadcmake-8bbd5db4c160927cf5e9a2eb2f45fe36a2c2d799.tar.gz
Ninja: Make bundle resources a dependency of their target
Fixes #13816.
-rw-r--r--Source/cmNinjaTargetGenerator.cxx8
-rw-r--r--Source/cmNinjaTargetGenerator.h1
2 files changed, 7 insertions, 2 deletions
diff --git a/Source/cmNinjaTargetGenerator.cxx b/Source/cmNinjaTargetGenerator.cxx
index b413c33d5b..954c73e0d2 100644
--- a/Source/cmNinjaTargetGenerator.cxx
+++ b/Source/cmNinjaTargetGenerator.cxx
@@ -487,6 +487,10 @@ void cmNinjaTargetGenerator::WriteObjectBuildStatements()
this->GetLocalGenerator()->AppendTargetDepends(this->GeneratorTarget,
orderOnlyDeps);
+ // Add order-only dependencies on other files associated with the target.
+ orderOnlyDeps.insert(orderOnlyDeps.end(), this->ExtraFiles.begin(),
+ this->ExtraFiles.end());
+
// Add order-only dependencies on custom command outputs.
for (std::vector<cmCustomCommand const*>::const_iterator cci =
this->CustomCommands.begin();
@@ -717,8 +721,8 @@ void cmNinjaTargetGenerator::MacOSXContentGeneratorType::operator()(
this->Generator->GetGlobalGenerator()->WriteMacOSXContentBuild(input,
output);
- // Add as a dependency of all target so that it gets called.
- this->Generator->GetGlobalGenerator()->AddDependencyToAll(output);
+ // Add as a dependency to the target so that it gets called.
+ this->Generator->ExtraFiles.push_back(output);
}
void cmNinjaTargetGenerator::addPoolNinjaVariable(
diff --git a/Source/cmNinjaTargetGenerator.h b/Source/cmNinjaTargetGenerator.h
index 414aa09c48..44346c1b00 100644
--- a/Source/cmNinjaTargetGenerator.h
+++ b/Source/cmNinjaTargetGenerator.h
@@ -156,6 +156,7 @@ private:
/// List of object files for this target.
cmNinjaDeps Objects;
std::vector<cmCustomCommand const*> CustomCommands;
+ cmNinjaDeps ExtraFiles;
};
#endif // ! cmNinjaTargetGenerator_h