X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fsourcegenerator.cpp;h=d30a2bc67fdefa3687e6c18193b0c9eaae504c7c;hb=edd4771292a2273080fbcbac266c6831834b0b86;hp=72297fd5eed411b19528681a6743492e16ca5e4a;hpb=b29b79ca42fe4285c18b5d348b4eb59010d2c2da;p=builder.git diff --git a/source/sourcegenerator.cpp b/source/sourcegenerator.cpp index 72297fd..d30a2bc 100644 --- a/source/sourcegenerator.cpp +++ b/source/sourcegenerator.cpp @@ -2,7 +2,6 @@ #include #include "builder.h" #include "executable.h" -#include "externaltask.h" #include "sourcegenerator.h" #include "sourcepackage.h" #include "templatefile.h" @@ -14,7 +13,7 @@ SourceGenerator::SourceGenerator(Builder &b, const SourcePackage &p, const strin Tool(b, t), package(p) { - set_run(&_run); + set_run_external(&_run); } Target *SourceGenerator::create_source(const Component &comp, const FS::Path &path) const @@ -71,9 +70,8 @@ Target *SourceGenerator::create_target(const vector &sources, const st 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(*out_src.get_tool()); vector args; @@ -88,7 +86,7 @@ Task *SourceGenerator::_run(const SourceFile &out_src) 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; }