]> git.tdb.fi Git - builder.git/blobdiff - source/target.cpp
Delay locating tool executables until the tool is needed
[builder.git] / source / target.cpp
index a9ad8e7063931006a3a6b3ba5de961a6d1f33fdf..87b0d0078e16bcb565898c55ba6923e807b328c1 100644 (file)
@@ -64,7 +64,7 @@ Target *Target::get_buildable_target()
        return 0;
 }
 
-void Target::set_tool(const Tool &t)
+void Target::set_tool(Tool &t)
 {
        tool = &t;
        for(Dependencies::const_iterator i=side_effects.begin(); i!=side_effects.end(); ++i)
@@ -102,12 +102,12 @@ void Target::prepare()
        }
 
        state = PREPARING;
+       if(tool)
+               tool->prepare();
        find_dependencies();
        if(tool)
-       {
                if(FileTarget *tool_exe = tool->get_executable())
                        add_dependency(*tool_exe);
-       }
 
        for(Dependencies::iterator i=depends.begin(); i!=depends.end(); ++i)
                (*i)->prepare();