diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2016-10-16 13:21:35 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2016-11-04 09:26:21 +0200 |
commit | d81ad6a0b20613ac77e115ca273cd48eaeeae1c8 (patch) | |
tree | 99fbfd0ab131ead133925ba46786c0db453d5fdf | |
parent | d27a6011a1768c7311ae6911c53dd49c293a24af (diff) |
Add target::out_dir() accessor
-rw-r--r-- | build2/install/rule.cxx | 3 | ||||
-rw-r--r-- | build2/target | 5 | ||||
-rw-r--r-- | build2/target.cxx | 2 |
3 files changed, 6 insertions, 4 deletions
diff --git a/build2/install/rule.cxx b/build2/install/rule.cxx index 82dde04..68000af 100644 --- a/build2/install/rule.cxx +++ b/build2/install/rule.cxx @@ -273,8 +273,7 @@ namespace build2 { // The target can be in out or src. // - const dir_path& d ( - (t.out.empty () ? t.dir : t.out).leaf (p->out_path ())); + const dir_path& d (t.out_dir ().leaf (p->out_path ())); // Add it as another leading directory rather than modifying // the last one directly; somehow, it feels right. diff --git a/build2/target b/build2/target index 3123905..8c2b2da 100644 --- a/build2/target +++ b/build2/target @@ -149,6 +149,9 @@ namespace build2 const string name; const string* ext; // Extension. NULL - unspecified, empty - no extension. + const dir_path& + out_dir () const {return out.empty () ? dir : out;} + // Target group to which this target belongs, if any. Note that we assume // that the group and all its members are in the same scope (for example, // in variable lookup). We also don't support nested groups (with a small @@ -308,7 +311,7 @@ namespace build2 bool in (const scope& s) const { - return (out.empty () ? dir : out).sub (s.out_path ()); + return out_dir ().sub (s.out_path ()); } // Prerequisites. diff --git a/build2/target.cxx b/build2/target.cxx index 540f4b4..3b6e06f 100644 --- a/build2/target.cxx +++ b/build2/target.cxx @@ -110,7 +110,7 @@ namespace build2 // If this target is from the src tree, use its out directory to find // the scope. // - return scopes.find (out.empty () ? dir : out); + return scopes.find (out_dir ()); } scope& target:: |