]> git.tdb.fi Git - builder.git/blobdiff - source/virtualtarget.cpp
Add gcc's private library directory to ClangLinker's system path
[builder.git] / source / virtualtarget.cpp
index b2a0d1cfd4a0f90a58e7eb29b0c97aefa63c2233..07177d86057387ad4feefc2dfcdfca885a81b1e0 100644 (file)
@@ -1,12 +1,7 @@
-/* $Id$
-
-This file is part of builder
-Copyright © 2006-2009  Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
+#include <msp/core/algorithm.h>
 #include <msp/fs/path.h>
 #include <msp/fs/utils.h>
+#include "builder.h"
 #include "virtualtarget.h"
 
 using namespace std;
@@ -15,13 +10,13 @@ using namespace Msp;
 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(FS::basename((*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");
 }
 
-unsigned VirtualTarget::count_rebuild()
+Task *VirtualTarget::build()
 {
-       // Don't count virtual targets since "building" them causes no action.
-       return Target::count_rebuild()-rebuild;
+       state = UPTODATE;
+       return 0;
 }