]> git.tdb.fi Git - builder.git/blobdiff - source/copy.cpp
Redesign how tools are run
[builder.git] / source / copy.cpp
index 9bca33f3050989900407937c3fd68bb0536f76c6..8f6b81d46b8764e82b5a9e8ba7755888e34e8576 100644 (file)
 using namespace std;
 using namespace Msp;
 
+Copy::Copy(Builder &b):
+       Tool(b, "CP")
+{
+       set_run_internal(_run);
+}
+
 Target *Copy::create_target(const vector<Target *> &sources, const string &arg)
 {
        FileTarget &file_tgt = dynamic_cast<FileTarget &>(*sources.front());
@@ -23,12 +29,6 @@ Target *Copy::create_target(const vector<Target *> &sources, const string &arg)
        return inst;
 }
 
-Task *Copy::run(const Target &target) const
-{
-       const InstalledFile &install = dynamic_cast<const InstalledFile &>(target);
-       return new InternalTask([&install]{ return _run(install); });
-}
-
 bool Copy::_run(const InstalledFile &install)
 {
        const FileTarget &source = install.get_source();