]> git.tdb.fi Git - builder.git/blobdiff - source/msvccompiler.h
Refactor the use of external tasks in tools
[builder.git] / source / msvccompiler.h
index 2a6f91fdb32ccb9bf4ba9e8adeae750932fbfe03..2782c23aee25a6649da04a523525993493f8afdc 100644 (file)
@@ -4,6 +4,7 @@
 #include "tool.h"
 
 class MicrosoftTools;
+class ObjectFile;
 
 class MsvcCompiler: public Tool
 {
@@ -13,16 +14,16 @@ private:
 public:
        MsvcCompiler(Builder &, const Architecture &, const std::string &, const MicrosoftTools &);
 
-       virtual Target *create_source(const Component &, const Msp::FS::Path &) const;
-       virtual Target *create_source(const Msp::FS::Path &) const;
-       virtual Target *create_target(const std::list<Target *> &, const std::string &);
-       virtual std::string create_build_signature(const BuildInfo &) const;
+       Target *create_source(const Component &, const Msp::FS::Path &) const override;
+       Target *create_source(const Msp::FS::Path &) const override;
+       Target *create_target(const std::vector<Target *> &, const std::string &) override;
+       std::string create_build_signature(const BuildInfo &) const override;
 
 protected:
-       virtual void do_prepare();
+       void do_prepare(ToolData &) const override;
 
 public:
-       virtual Task *run(const Target &) const;
+       static ExternalTask::Arguments _run(const ObjectFile &, Msp::FS::Path &);
 };
 
 #endif