csgo-2018-source/utils/vpc/projectgenerator_win32.h
2021-07-24 21:11:47 -07:00

42 lines
1.2 KiB
C++

//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======
//
// Purpose:
//
//=============================================================================
#ifndef PROJECTGENERATOR_WIN32_H
#define PROJECTGENERATOR_WIN32_H
#ifdef _WIN32
#pragma once
#endif
#define PROPERTYNAME( X, Y ) X##_##Y,
enum Win32Properties_e
{
#include "projectgenerator_win32.inc"
};
class CProjectGenerator_Win32 : public IVCProjWriter
{
public:
CProjectGenerator_Win32();
IBaseProjectGenerator *GetProjectGenerator() { return m_pVCProjGenerator; }
virtual bool Save( const char *pOutputFilename );
private:
bool WriteToXML();
bool WriteFolder( CProjectFolder *pFolder );
bool WriteFile( CProjectFile *pFile );
bool WriteConfiguration( CProjectConfiguration *pConfig );
bool WriteProperty( const PropertyState_t *pPropertyState, const char *pOutputName = NULL, const char *pValue = NULL );
bool WriteTool( const char *pToolName, const CProjectTool *pProjectTool );
bool WriteNULLTool( const char *pToolName, const CProjectConfiguration *pConfig );
CXMLWriter m_XMLWriter;
CVCProjGenerator *m_pVCProjGenerator;
};
#endif // PROJECTGENERATOR_WIN32_H