Clean-as-you-go mode to remove generated files as soon as possible to minimize disk...
[reactos.git] / reactos / tools / rbuild / backend / devcpp / devcpp.h
1
2 #ifndef __DEVCPP_H__
3 #define __DEVCPP_H__
4
5 #include <fstream>
6 #include <vector>
7 #include <string>
8
9 #include "../backend.h"
10
11 class FileUnit
12 {
13 public:
14 std::string filename;
15 std::string folder;
16 };
17
18 class DevCppBackend : public Backend
19 {
20 public:
21
22 DevCppBackend(Project &project,
23 bool verbose,
24 bool cleanAsYouGo);
25 virtual ~DevCppBackend() {}
26
27 virtual void Process();
28
29 private:
30
31 void ProcessModules();
32 void ProcessFile(std::string &filename);
33
34 bool CheckFolderAdded(std::string &folder);
35 void AddFolders(std::string &folder);
36
37 void OutputFolders();
38 void OutputFileUnits();
39
40 std::vector<FileUnit> m_fileUnits;
41 std::vector<std::string> m_folders;
42
43 int m_unitCount;
44
45 std::ofstream m_devFile;
46 };
47
48 #endif // __DEVCPP_H__
49