]> git.tdb.fi Git - builder.git/blobdiff - source/virtualtarget.cpp
Inline simple constructors
[builder.git] / source / virtualtarget.cpp
index 3a3b254e99945e52245e3d1d06bb6e8047493e01..07177d86057387ad4feefc2dfcdfca885a81b1e0 100644 (file)
@@ -1,3 +1,4 @@
+#include <msp/core/algorithm.h>
 #include <msp/fs/path.h>
 #include <msp/fs/utils.h>
 #include "builder.h"
@@ -6,14 +7,16 @@
 using namespace std;
 using namespace Msp;
 
-VirtualTarget::VirtualTarget(Builder &b, const string &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;
 }