]> git.tdb.fi Git - builder.git/blob - source/virtualtarget.cpp
Replace basic for loops with range-based loops or algorithms
[builder.git] / source / virtualtarget.cpp
1 #include <msp/core/algorithm.h>
2 #include <msp/fs/path.h>
3 #include <msp/fs/utils.h>
4 #include "builder.h"
5 #include "virtualtarget.h"
6
7 using namespace std;
8 using namespace Msp;
9
10 VirtualTarget::VirtualTarget(Builder &b, const string &n):
11         Target(b, n)
12 { }
13
14 void VirtualTarget::check_rebuild()
15 {
16         // Virtual targets are only rebuilt if their dependencies need rebuilding.
17         auto i = find_if(depends, [](Target *d){ return d->needs_rebuild(); });
18         if(i!=depends.end())
19                 mark_rebuild((*i)->get_name()+" needs rebuilding");
20 }
21
22 Task *VirtualTarget::build()
23 {
24         state = UPTODATE;
25         return 0;
26 }