]> git.tdb.fi Git - builder.git/blobdiff - source/builder.cpp
Move some file-related things from Target to FileTarget
[builder.git] / source / builder.cpp
index 77579ea45e60a894da24fb44182e972e7c9ba2be..f08b27aec69d667ac2eef6d1fdcfa09bf83292c5 100644 (file)
@@ -487,7 +487,13 @@ void Builder::problem(const string &p, const string &d)
        problems.push_back(Problem(p, d));
 }
 
-void Builder::add_target(Target *t)
+void Builder::add_target(FileTarget *t)
+{
+       targets.insert(TargetMap::value_type(t->get_path().str(), t));
+       new_tgts.push_back(t);
+}
+
+void Builder::add_target(VirtualTarget *t)
 {
        targets.insert(TargetMap::value_type(t->get_name(), t));
        new_tgts.push_back(t);
@@ -620,7 +626,7 @@ int Builder::create_targets()
        // Apply what-ifs
        for(StringList::iterator i=what_if.begin(); i!=what_if.end(); ++i)
        {
-               Target *tgt = get_target((cwd/ *i).str());
+               FileTarget *tgt = dynamic_cast<FileTarget *>(get_target((cwd/ *i).str()));
                if(!tgt)
                {
                        IO::print(IO::cerr, "Unknown what-if target %s\n", *i);