]> git.tdb.fi Git - builder.git/blobdiff - source/target.cpp
Add a signal to propagate rebuild state after preparation
[builder.git] / source / target.cpp
index 297ae3f4211b9a4b3be3b2f68e1fd2ab43dc2ec5..88d8b70e2c1cce48cb545c6c8e1a52708700c10c 100644 (file)
@@ -52,6 +52,7 @@ void Target::add_depend(Target *dep)
        if(dep==this)
                throw invalid_argument("Target::add_depend");
        depends.push_back(dep);
+       dep->signal_bubble_rebuild.connect(sigc::mem_fun(this, &Target::check_rebuild));
 }
 
 void Target::prepare()
@@ -102,6 +103,7 @@ void Target::mark_rebuild(const std::string &reason)
 
        state = REBUILD;
        rebuild_reason = reason;
+       signal_bubble_rebuild.emit();
 }
 
 void Target::build_finished(bool /*success*/)