You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
2.1 KiB
54 lines
2.1 KiB
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======
|
|
//
|
|
// Purpose:
|
|
//
|
|
//=============================================================================
|
|
|
|
#ifndef PROJECTGENERATOR_WIN32_2010_H
|
|
#define PROJECTGENERATOR_WIN32_2010_H
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
#define PROPERTYNAME( X, Y ) X##_##Y,
|
|
enum Win32_2010_Properties_e
|
|
{
|
|
#include "projectgenerator_win32_2010.inc"
|
|
};
|
|
|
|
class CProjectGenerator_Win32_2010 : public IVCProjWriter
|
|
{
|
|
public:
|
|
CProjectGenerator_Win32_2010();
|
|
IBaseProjectGenerator *GetProjectGenerator() { return m_pVCProjGenerator; }
|
|
|
|
virtual bool Save( const char *pOutputFilename );
|
|
|
|
private:
|
|
// primary XML - foo.vcxproj
|
|
bool WritePrimaryXML( const char *pOutputFilename );
|
|
bool WriteFolder( CProjectFolder *pFolder, const char *pFileTypeName, int nDepth );
|
|
bool WriteFile( CProjectFile *pFile, const char *pFileTypeName );
|
|
bool WriteConfiguration( CProjectConfiguration *pConfig );
|
|
bool WriteTools( CProjectConfiguration *pConfig );
|
|
bool WriteProperty( const PropertyState_t *pPropertyState, bool bEmitConfiguration = false, const char *pConfigurationName = NULL, const char *pOutputName = NULL, const char *pValue = NULL );
|
|
bool WriteTool( const char *pToolName, const CProjectTool *pProjectTool, CProjectConfiguration *pConfig );
|
|
bool WriteNULLTool( const char *pToolName, const CProjectConfiguration *pConfig );
|
|
bool WritePropertyGroupTool( CProjectTool *pProjectTool, CProjectConfiguration *pConfiguration );
|
|
bool WritePropertyGroup();
|
|
|
|
// secondary XML - foo.vcxproj.filters
|
|
bool WriteSecondaryXML( const char *pOutputFilename );
|
|
bool WriteFolderToSecondaryXML( CProjectFolder *pFolder, const char *pParentPath );
|
|
bool WriteFolderContentsToSecondaryXML( CProjectFolder *pFolder, const char *pParentPath, const char *pFileTypeName, int nDepth );
|
|
bool WriteFileToSecondaryXML( CProjectFile *pFile, const char *pParentPath, const char *pFileTypeName );
|
|
|
|
const char *GetKeyNameForFile( CProjectFile *pFile );
|
|
|
|
CXMLWriter m_XMLWriter;
|
|
CXMLWriter m_XMLFilterWriter;
|
|
|
|
CVCProjGenerator *m_pVCProjGenerator;
|
|
};
|
|
|
|
#endif // PROJECTGENERATOR_WIN32_2010_H
|