]> git.tdb.fi Git - builder.git/blob - source/virtualtarget.cpp
Make the name of a FileTarget be its basename instead of full path
[builder.git] / source / virtualtarget.cpp
1 /* $Id$
2
3 This file is part of builder
4 Copyright © 2006-2009  Mikko Rasa, Mikkosoft Productions
5 Distributed under the LGPL
6 */
7
8 #include <msp/fs/path.h>
9 #include <msp/fs/utils.h>
10 #include "builder.h"
11 #include "virtualtarget.h"
12
13 using namespace std;
14 using namespace Msp;
15
16 VirtualTarget::VirtualTarget(Builder &b, const string &n):
17         Target(b, 0, n)
18 {
19         builder.add_target(this);
20 }
21
22 void VirtualTarget::check_rebuild()
23 {
24         // Virtual targets are only rebuilt if their dependencies need rebuilding.
25         for(TargetList::iterator i=depends.begin(); (i!=depends.end() && !rebuild); ++i)
26                 if((*i)->get_rebuild())
27                         mark_rebuild((*i)->get_name()+" needs rebuilding");
28 }