#include <msp/strings/format.h>
#include "builder.h"
#include "executable.h"
-#include "externaltask.h"
#include "sourcegenerator.h"
#include "sourcepackage.h"
#include "templatefile.h"
Tool(b, t),
package(p)
{
- set_run(&_run);
+ set_run_external(&_run);
}
Target *SourceGenerator::create_source(const Component &comp, const FS::Path &path) const
return primary;
}
-Task *SourceGenerator::_run(const SourceFile &out_src)
+ExternalTask::Arguments SourceGenerator::_run(const SourceFile &out_src, FS::Path &work_dir)
{
- const FS::Path &work_dir = out_src.get_package()->get_source_directory();
const SourceGenerator &tool = dynamic_cast<const SourceGenerator &>(*out_src.get_tool());
vector<string> args;
args.push_back(tool.out_argument);
args.push_back(FS::relative(out_src.get_path(), work_dir).str());
- return new ExternalTask(args, work_dir);
+ return args;
}