]> git.tdb.fi Git - builder.git/blob - source/msvccompiler.h
2782c23aee25a6649da04a523525993493f8afdc
[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(ToolData &) const override;
24
25 public:
26         static ExternalTask::Arguments _run(const ObjectFile &, Msp::FS::Path &);
27 };
28
29 #endif