+#include <msp/core/algorithm.h>
#include <msp/fs/path.h>
#include <msp/fs/utils.h>
#include "builder.h"
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() && !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;
}