X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flib%2Ffiletarget.cpp;h=f799f497895af8d2e5e0d2adc6988ea87a27b032;hb=cf23d115a29fc143fe367ca57097fa82f7cb9a34;hp=a2bd3f0a1e0b1f922e2fe89feff2bd59483ca39e;hpb=c8e829c219c65ff8e93b6c7b66212ff0876441c5;p=builder.git diff --git a/source/lib/filetarget.cpp b/source/lib/filetarget.cpp index a2bd3f0..f799f49 100644 --- a/source/lib/filetarget.cpp +++ b/source/lib/filetarget.cpp @@ -13,6 +13,14 @@ using namespace std; using namespace Msp; +FileTarget::FileTarget(Builder &b, const FS::Path &a): + FileTarget(b, 0, a) +{ } + +FileTarget::FileTarget(Builder &b, const SourcePackage &p, const FS::Path &a): + FileTarget(b, &p, a) +{ } + FileTarget::FileTarget(Builder &b, const SourcePackage *p, const FS::Path &a): Target(b, generate_name(b, p, a)), path(a) @@ -83,6 +91,8 @@ void FileTarget::check_rebuild() auto i = find_if(side_effects, [](const Target *s){ return s->needs_rebuild(); }); if(i!=side_effects.end()) mark_rebuild((*i)->get_name()+" needs rebuilding"); + if(primary_target && primary_target->needs_rebuild()) + mark_rebuild(primary_target->get_name()+" needs rebuilding"); } if(!needs_rebuild() && package)