diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2015-11-30 15:28:07 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2015-11-30 15:28:07 +0200 |
commit | ed79e798327c9d18c2b5b2dfea8ad98b4d69f883 (patch) | |
tree | 0b10baec0f9a9ea466ff782a7cbb4fdd2973a031 /build/dist/rule.cxx | |
parent | d5e4d325c6a4acc8df6f0e42bc7d76e1f833d58a (diff) |
Tighten unresolved group logic
Now a wildcard/fallback rule should explicitly detect and handle unresolved
situation.
Diffstat (limited to 'build/dist/rule.cxx')
-rw-r--r-- | build/dist/rule.cxx | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/build/dist/rule.cxx b/build/dist/rule.cxx index b5e1185..80e7b05 100644 --- a/build/dist/rule.cxx +++ b/build/dist/rule.cxx @@ -26,13 +26,21 @@ namespace build { const dir_path& out_root (t.root_scope ().out_path ()); - for (prerequisite_member p: group_prerequisite_members (a, t)) + auto r (group_prerequisite_members (a, t, false)); + for (auto i (r.begin ()); i != r.end (); ++i) { + prerequisite_member p (*i); + // Skip prerequisites imported from other projects. // if (p.proj () != nullptr) continue; + // If we can, go inside see-through groups. + // + if (p.type ().see_through && i.enter_group ()) + continue; + target& pt (p.search ()); // Don't match targets that are outside of our project. |