+#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)
-{
- builder.add_target(this);
-}
+ Target(b, n)
+{ }
void VirtualTarget::check_rebuild()
{
// Virtual targets are only rebuilt if their dependencies need rebuilding.
- for(TargetList::iterator i=depends.begin(); (i!=depends.end() && !rebuild); ++i)
- if((*i)->get_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;
}