diff options
Diffstat (limited to 'build2/cc/compile-rule.cxx')
-rw-r--r-- | build2/cc/compile-rule.cxx | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/build2/cc/compile-rule.cxx b/build2/cc/compile-rule.cxx index cd49689..3458a1b 100644 --- a/build2/cc/compile-rule.cxx +++ b/build2/cc/compile-rule.cxx @@ -677,8 +677,10 @@ namespace build2 // (e.g., foo.mxx and foo.cxx) which means obj*{} targets could // collide. So we add the module extension to the target name. // - target_lock obj (add_adhoc_member (a, t, tts.obj, e.c_str ())); - obj.target->as<file> ().derive_path (o); + file& obj (add_adhoc_member<file> (t, tts.obj, e.c_str ())); + + if (obj.path ().empty ()) + obj.derive_path (o); } } |