]> git.tdb.fi Git - builder.git/blobdiff - source/target.cpp
It's okay to throw exceptions from Loader functions
[builder.git] / source / target.cpp
index b0273e9ff535d9a5a80d0d6ecee5948245298b8c..cd4cf36370b252ca55ca6a954a1d51b5c1c10dd9 100644 (file)
@@ -22,7 +22,7 @@ Target::Target(Builder &b, const string &n):
        builder.add_target(this);
 }
 
-void Target::add_depend(Target &dep)
+void Target::add_dependency(Target &dep)
 {
        if(&dep==this)
                throw invalid_argument("Target::add_depend");
@@ -88,11 +88,11 @@ void Target::prepare()
        }
 
        state = PREPARING;
-       find_depends();
+       find_dependencies();
        if(tool)
        {
                if(FileTarget *tool_exe = tool->get_executable())
-                       add_depend(*tool_exe);
+                       add_dependency(*tool_exe);
        }
 
        for(Dependencies::iterator i=depends.begin(); i!=depends.end(); ++i)
@@ -115,11 +115,6 @@ Task *Target::build()
                return 0;
        }
 
-       // XXX Minor breach of OO here
-       if(FileTarget *ft = dynamic_cast<FileTarget *>(this))
-               if(!builder.get_dry_run() && FS::exists(ft->get_path()))
-                       FS::unlink(ft->get_path());
-
        Task *task = tool->run(*this);
        task->signal_finished.connect(sigc::mem_fun(this, &Target::build_finished));
        state = BUILDING;