class Dependency;\r
class ImportLibrary;\r
class If;\r
+class Property;\r
\r
class Project\r
{\r
std::vector<Module*> modules;\r
std::vector<Include*> includes;\r
std::vector<Define*> defines;\r
+ std::vector<Property*> properties;\r
+ std::vector<If*> ifs;\r
\r
//Project ();\r
Project ( const std::string& filename );\r
private:\r
void ReadXml ();\r
void ProcessXMLSubElement ( const XMLElement& e,\r
- const std::string& path );\r
+ const std::string& path,\r
+ If* pIf = NULL );\r
\r
// disable copy semantics\r
Project ( const Project& );\r
{\r
public:\r
const XMLElement& node;\r
- const Module& module;\r
+ const Project& project;\r
+ const Module* module;\r
std::string property, value;\r
std::vector<File*> files;\r
std::vector<Define*> defines;\r
+ std::vector<Property*> properties;\r
std::vector<If*> ifs;\r
\r
If ( const XMLElement& node_,\r
- const Module& module_ );\r
+ const Project& project_,\r
+ const Module* module_ );\r
~If();\r
\r
void ProcessXML();\r
};\r
\r
+class Property\r
+{\r
+public:\r
+ const XMLElement& node;\r
+ const Project& project;\r
+ const Module* module;\r
+ std::string name, value;\r
+\r
+ Property ( const XMLElement& node_,\r
+ const Project& project_,\r
+ const Module* module_ );\r
+\r
+ void ProcessXML();\r
+};\r
+\r
extern std::string\r
FixSeparator ( const std::string& s );\r
\r