Counter Strike : Global Offensive Source Code
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

  1. //====== Copyright � 1996-2005, Valve Corporation, All rights reserved. =======
  2. //
  3. // Purpose:
  4. //
  5. //=============================================================================
  6. #ifndef PROJECTGENERATOR_WIN32_2010_H
  7. #define PROJECTGENERATOR_WIN32_2010_H
  8. #ifdef _WIN32
  9. #pragma once
  10. #endif
  11. #define PROPERTYNAME( X, Y ) X##_##Y,
  12. enum Win32_2010_Properties_e
  13. {
  14. #include "projectgenerator_win32_2010.inc"
  15. };
  16. class CProjectGenerator_Win32_2010 : public IVCProjWriter
  17. {
  18. public:
  19. CProjectGenerator_Win32_2010();
  20. IBaseProjectGenerator *GetProjectGenerator() { return m_pVCProjGenerator; }
  21. virtual bool Save( const char *pOutputFilename );
  22. private:
  23. // primary XML - foo.vcxproj
  24. bool WritePrimaryXML( const char *pOutputFilename );
  25. bool WriteFolder( CProjectFolder *pFolder, const char *pFileTypeName, int nDepth );
  26. bool WriteFile( CProjectFile *pFile, const char *pFileTypeName );
  27. bool WriteConfiguration( CProjectConfiguration *pConfig );
  28. bool WriteTools( CProjectConfiguration *pConfig );
  29. bool WriteProperty( const PropertyState_t *pPropertyState, bool bEmitConfiguration = false, const char *pConfigurationName = NULL, const char *pOutputName = NULL, const char *pValue = NULL );
  30. bool WriteTool( const char *pToolName, const CProjectTool *pProjectTool, CProjectConfiguration *pConfig );
  31. bool WriteNULLTool( const char *pToolName, const CProjectConfiguration *pConfig );
  32. bool WritePropertyGroupTool( CProjectTool *pProjectTool, CProjectConfiguration *pConfiguration );
  33. bool WritePropertyGroup();
  34. // secondary XML - foo.vcxproj.filters
  35. bool WriteSecondaryXML( const char *pOutputFilename );
  36. bool WriteFolderToSecondaryXML( CProjectFolder *pFolder, const char *pParentPath );
  37. bool WriteFolderContentsToSecondaryXML( CProjectFolder *pFolder, const char *pParentPath, const char *pFileTypeName, int nDepth );
  38. bool WriteFileToSecondaryXML( CProjectFile *pFile, const char *pParentPath, const char *pFileTypeName );
  39. const char *GetKeyNameForFile( CProjectFile *pFile );
  40. CXMLWriter m_XMLWriter;
  41. CXMLWriter m_XMLFilterWriter;
  42. CVCProjGenerator *m_pVCProjGenerator;
  43. };
  44. #endif // PROJECTGENERATOR_WIN32_2010_H