#endif/*WIN32*/
#endif/*_MSC_VER*/
+#include <infhost.h>
+
#include "ssprintf.h"
#include "exception.h"
#include "xml.h"
-#include <infhost.h>
+
+class Backend; // forward declaration
typedef std::vector<std::string> string_list;
bool CompilationUnitsEnabled;
std::string CheckDependenciesForModuleOnlyModule;
std::string VSProjectVersion;
+ std::string VSConfigurationType;
bool MakeHandlesInstallDirectories;
bool GenerateProxyMakefilesInSourceTree;
+ bool InstallFiles;
};
class Environment
std::vector<Define*> defines;
std::vector<Library*> libraries;
std::vector<Property*> properties;
+ std::vector<Module*> modules;
std::vector<CompilerFlag*> compilerFlags;
std::vector<If*> ifs;
~IfableData();
void ProcessXML();
+ void ExtractModules( std::vector<Module*> &modules );
};
class Project
{
std::string xmlfile;
XMLElement *node, *head;
+ Backend* _backend;
public:
const Configuration& configuration;
std::string name;
std::string makefile;
XMLIncludes xmlbuildfiles;
- std::vector<Module*> modules;
std::vector<LinkerFlag*> linkerFlags;
std::vector<CDFile*> cdfiles;
std::vector<InstallFile*> installfiles;
+ std::vector<Module*> modules;
IfableData non_if_data;
Project ( const Configuration& configuration,
const std::string& filename );
~Project ();
+ void SetBackend ( Backend* backend ) { _backend = backend; }
+ Backend& GetBackend() { return *_backend; }
void WriteConfigurationFile ();
void ExecuteInvocations ();
+
void ProcessXML ( const std::string& path );
Module* LocateModule ( const std::string& name );
const Module* LocateModule ( const std::string& name ) const;
Test = 15,
RpcServer = 16,
RpcClient = 17,
- Alias = 18
+ Alias = 18,
+ BootProgram = 19
};
enum HostType
std::string extension;
std::string entrypoint;
std::string baseaddress;
+ std::string payload;
std::string path;
ModuleType type;
ImportLibrary* importLibrary;
std::string GetBasePath () const; // "path"
std::string GetPath () const; // "path/foo.exe"
std::string GetPathWithPrefix ( const std::string& prefix ) const; // "path/prefixfoo.exe"
+ std::string GetPathToBaseDir() const; // "../" offset to rootdirectory
void GetTargets ( string_list& ) const;
std::string GetInvocationTarget ( const int index ) const;
bool HasFileWithExtension ( const IfableData&, const std::string& extension ) const;