X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fvirtualtarget.cpp;h=44a352421270c5f7b2581c3c34973d583d6c69c7;hb=1ec533a7777be4dce9c8b6bbb1cbc32d38098ae4;hp=82abc90734056778c73cce68e2a39d6645d1cb1d;hpb=25900e0f84f72de6208f30529f9bcaae11570f8f;p=builder.git diff --git a/source/virtualtarget.cpp b/source/virtualtarget.cpp index 82abc90..44a3524 100644 --- a/source/virtualtarget.cpp +++ b/source/virtualtarget.cpp @@ -1,3 +1,4 @@ +#include #include #include #include "builder.h" @@ -7,13 +8,19 @@ using namespace std; using namespace Msp; VirtualTarget::VirtualTarget(Builder &b, const string &n): - Target(b, 0, n) + Target(b, n) { } void VirtualTarget::check_rebuild() { // Virtual targets are only rebuilt if their dependencies need rebuilding. - for(Dependencies::iterator i=depends.begin(); (i!=depends.end() && !needs_rebuild()); ++i) - if((*i)->needs_rebuild()) - mark_rebuild((*i)->get_name()+" needs rebuilding"); + auto i = find_if(depends, [](Target *d){ return d->needs_rebuild(); }); + if(i!=depends.end()) + mark_rebuild((*i)->get_name()+" needs rebuilding"); +} + +Task *VirtualTarget::build() +{ + state = UPTODATE; + return 0; }