11 #define EXEPOSTFIX ".exe"
39 std::vector
<Module
*> modules
;
40 std::vector
<Include
*> includes
;
41 std::vector
<Define
*> defines
;
44 Project ( const std::string
& filename
);
46 void ProcessXML ( const std::string
& path
);
47 Module
* LocateModule ( const std::string
& name
);
48 const Module
* LocateModule ( const std::string
& name
) const;
53 void ProcessXMLSubElement ( const XMLElement
& e
,
54 const std::string
& path
);
69 const Project
& project
;
70 const XMLElement
& node
;
72 std::string extension
;
75 std::vector
<File
*> files
;
76 std::vector
<Library
*> libraries
;
77 std::vector
<Include
*> includes
;
78 std::vector
<Define
*> defines
;
79 std::vector
<Invoke
*> invocations
;
80 std::vector
<Dependency
*> dependencies
;
82 Module ( const Project
& project
,
83 const XMLElement
& moduleNode
,
84 const std::string
& modulePath
);
86 ModuleType
GetModuleType ( const std::string
& location
,
87 const XMLAttribute
& attribute
);
88 std::string
GetBasePath() const;
89 std::string
GetPath () const;
90 std::string
GetTargets () const;
91 std::string
GetInvocationTarget ( const int index
) const;
94 std::string
GetDefaultModuleExtension () const;
95 void ProcessXMLSubElement ( const XMLElement
& e
,
96 const std::string
& path
);
103 const Project
& project
;
104 const Module
* module
;
105 const XMLElement
& node
;
106 std::string directory
;
109 Include ( const Project
& project
,
110 const XMLElement
& includeNode
);
111 Include ( const Project
& project
,
112 const Module
* module
,
113 const XMLElement
& includeNode
);
124 const Project
& project
;
125 const Module
* module
;
126 const XMLElement
& node
;
130 Define ( const Project
& project
,
131 const XMLElement
& defineNode
);
132 Define ( const Project
& project
,
133 const Module
* module
,
134 const XMLElement
& defineNode
);
147 File ( const std::string
& _name
);
156 const XMLElement
& node
;
157 const Module
& module
;
160 Library ( const XMLElement
& _node
,
161 const Module
& _module
,
162 const std::string
& _name
);
171 const XMLElement
& node
;
172 const Module
& module
;
173 const Module
* invokeModule
;
174 std::vector
<InvokeFile
*> input
;
175 std::vector
<InvokeFile
*> output
;
177 Invoke ( const XMLElement
& _node
,
178 const Module
& _module
);
181 std::string
GetTargets () const;
183 void ProcessXMLSubElement ( const XMLElement
& e
);
184 void ProcessXMLSubElementInput ( const XMLElement
& e
);
185 void ProcessXMLSubElementOutput ( const XMLElement
& e
);
192 const XMLElement
& node
;
194 std::string switches
;
196 InvokeFile ( const XMLElement
& _node
,
197 const std::string
& _name
);
206 const XMLElement
& node
;
207 const Module
& module
;
208 const Module
* dependencyModule
;
210 Dependency ( const XMLElement
& _node
,
211 const Module
& _module
);
217 FixSeparator ( const std::string
& s
);
219 #endif /* __RBUILD_H */