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
;
76 std::vector
<File
*> files
;
77 std::vector
<Library
*> libraries
;
78 std::vector
<Include
*> includes
;
79 std::vector
<Define
*> defines
;
80 std::vector
<Invoke
*> invocations
;
81 std::vector
<Dependency
*> dependencies
;
83 Module ( const Project
& project
,
84 const XMLElement
& moduleNode
,
85 const std::string
& modulePath
);
87 ModuleType
GetModuleType ( const std::string
& location
,
88 const XMLAttribute
& attribute
);
89 std::string
GetBasePath() const;
90 std::string
GetPath () const;
91 std::string
GetTargets () const;
92 std::string
GetInvocationTarget ( const int index
) const;
95 std::string
GetDefaultModuleExtension () const;
96 void ProcessXMLSubElement ( const XMLElement
& e
,
97 const std::string
& path
);
104 const Project
& project
;
105 const Module
* module
;
106 const XMLElement
& node
;
107 std::string directory
;
110 Include ( const Project
& project
,
111 const XMLElement
& includeNode
);
112 Include ( const Project
& project
,
113 const Module
* module
,
114 const XMLElement
& includeNode
);
125 const Project
& project
;
126 const Module
* module
;
127 const XMLElement
& node
;
131 Define ( const Project
& project
,
132 const XMLElement
& defineNode
);
133 Define ( const Project
& project
,
134 const Module
* module
,
135 const XMLElement
& defineNode
);
148 File ( const std::string
& _name
);
157 const XMLElement
& node
;
158 const Module
& module
;
161 Library ( const XMLElement
& _node
,
162 const Module
& _module
,
163 const std::string
& _name
);
172 const XMLElement
& node
;
173 const Module
& module
;
174 const Module
* invokeModule
;
175 std::vector
<InvokeFile
*> input
;
176 std::vector
<InvokeFile
*> output
;
178 Invoke ( const XMLElement
& _node
,
179 const Module
& _module
);
182 std::string
GetTargets () const;
184 void ProcessXMLSubElement ( const XMLElement
& e
);
185 void ProcessXMLSubElementInput ( const XMLElement
& e
);
186 void ProcessXMLSubElementOutput ( const XMLElement
& e
);
193 const XMLElement
& node
;
195 std::string switches
;
197 InvokeFile ( const XMLElement
& _node
,
198 const std::string
& _name
);
207 const XMLElement
& node
;
208 const Module
& module
;
209 const Module
* dependencyModule
;
211 Dependency ( const XMLElement
& _node
,
212 const Module
& _module
);
218 FixSeparator ( const std::string
& s
);
220 #endif /* __RBUILD_H */