Index: tools/gn/runtime_deps.cc |
diff --git a/tools/gn/runtime_deps.cc b/tools/gn/runtime_deps.cc |
index 17b9c07522718d61bc906e8ed0f13cb78f717304..d04987c47ac14666175c9e174e77d0c833fb7b53 100644 |
--- a/tools/gn/runtime_deps.cc |
+++ b/tools/gn/runtime_deps.cc |
@@ -104,6 +104,15 @@ void RecursiveCollectRuntimeDeps(const Target* target, |
AddIfNew(output_file.value(), target, deps, found_files); |
} |
+ // Do not recurse into bundle targets. A bundle's dependencies should be |
+ // copied into the bundle itself for run-time access. |
+ if (target->output_type() == Target::CREATE_BUNDLE) { |
+ SourceFile bundle_root_dir = |
+ target->bundle_data().GetBundleRootDirOutput(target->settings()); |
Dirk Pranke
2016/05/13 22:16:14
Do you know if this gets reflected as "out/Release
Robert Sesek
2016/05/13 22:52:26
No, it doesn't end with a slash because BundleData
Dirk Pranke
2016/05/14 02:54:22
Yup, I think it will need to be either a SourceDir
sdefresne
2016/05/17 08:43:28
I'd personally add a GetBundleRootDirOutputAsDir()
Robert Sesek
2016/05/17 18:32:03
That's a good idea. Done.
|
+ AddIfNew(bundle_root_dir.value(), target, deps, found_files); |
+ return; |
+ } |
+ |
// Non-data dependencies (both public and private). |
for (const auto& dep_pair : target->GetDeps(Target::DEPS_LINKED)) { |
if (dep_pair.ptr->output_type() == Target::EXECUTABLE) |