]> git.tdb.fi Git - builder.git/blobdiff - source/target.cpp
Make VirtualFileSystem able to find binaries
[builder.git] / source / target.cpp
index 88d8b70e2c1cce48cb545c6c8e1a52708700c10c..7646ee4555949f0240d0287ea0a1fff9c54f272a 100644 (file)
@@ -1,5 +1,6 @@
 #include <msp/fs/stat.h>
 #include <msp/fs/utils.h>
+#include <msp/strings/format.h>
 #include "builder.h"
 #include "filetarget.h"
 #include "package.h"
@@ -47,6 +48,13 @@ void Target::set_tool(const Tool &t)
        tool = &t;
 }
 
+void Target::force_rebuild()
+{
+       if(!is_buildable())
+               throw logic_error("Target::force_rebuild");
+       mark_rebuild("Forced rebuild");
+}
+
 void Target::add_depend(Target *dep)
 {
        if(dep==this)
@@ -104,6 +112,8 @@ void Target::mark_rebuild(const std::string &reason)
        state = REBUILD;
        rebuild_reason = reason;
        signal_bubble_rebuild.emit();
+
+       builder.get_logger().log("rebuild", format("Rebuilding %s: %s", name, reason));
 }
 
 void Target::build_finished(bool /*success*/)