]> git.tdb.fi Git - builder.git/blob - source/msvccompiler.h
Redesign how tools are run
[builder.git] / source / msvccompiler.h
1 #ifndef MSVCCOMPILER_H_
2 #define MSVCCOMPILER_H_
3
4 #include "tool.h"
5
6 class MicrosoftTools;
7 class ObjectFile;
8
9 class MsvcCompiler: public Tool
10 {
11 private:
12         const MicrosoftTools &ms_tools;
13
14 public:
15         MsvcCompiler(Builder &, const Architecture &, const std::string &, const MicrosoftTools &);
16
17         Target *create_source(const Component &, const Msp::FS::Path &) const override;
18         Target *create_source(const Msp::FS::Path &) const override;
19         Target *create_target(const std::vector<Target *> &, const std::string &) override;
20         std::string create_build_signature(const BuildInfo &) const override;
21
22 protected:
23         void do_prepare() override;
24
25 public:
26         static Task *_run(const ObjectFile &);
27 };
28
29 #endif