cmMSProjectGenerator.h 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. /*=========================================================================
  2. Program: Insight Segmentation & Registration Toolkit
  3. Module: $RCSfile$
  4. Language: C++
  5. Date: $Date$
  6. Version: $Revision$
  7. Copyright (c) 2002 Insight Consortium. All rights reserved.
  8. See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
  9. This software is distributed WITHOUT ANY WARRANTY; without even
  10. the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  11. PURPOSE. See the above copyright notices for more information.
  12. =========================================================================*/
  13. #ifndef cmMSProjectGenerator_h
  14. #define cmMSProjectGenerator_h
  15. #include "cmStandardIncludes.h"
  16. #include "cmMakefileGenerator.h"
  17. class cmDSPWriter;
  18. class cmDSWWriter;
  19. /** \class cmMSProjectGenerator
  20. * \brief Write a Microsoft Visual C++ DSP (project) file.
  21. *
  22. * cmMSProjectGenerator produces a Microsoft Visual C++ DSP (project) file.
  23. */
  24. class cmMSProjectGenerator : public cmMakefileGenerator
  25. {
  26. public:
  27. ///! Constructor sets the generation of DSW files on.
  28. cmMSProjectGenerator();
  29. ///! Destructor.
  30. ~cmMSProjectGenerator();
  31. ///! Get the name for the generator.
  32. virtual const char* GetName() {return "Visual Studio 6";}
  33. ///! virtual copy constructor
  34. virtual cmMakefileGenerator* CreateObject()
  35. { return new cmMSProjectGenerator;}
  36. ///! Produce the makefile (in this case a Microsoft Visual C++ project).
  37. virtual void GenerateMakefile();
  38. ///! controls the DSW/DSP settings
  39. virtual void SetLocal(bool);
  40. /**
  41. * Turn off the generation of a Microsoft Visual C++ DSW file.
  42. * This causes only the dsp file to be created. This
  43. * is used to run as a command line program from inside visual
  44. * studio.
  45. */
  46. void BuildDSWOff() {m_BuildDSW = false;}
  47. ///! Turn on the generation of a Microsoft Visual C++ DSW file.
  48. void BuildDSWOn() {m_BuildDSW = true;}
  49. ///! Retrieve a pointer to a cmDSWWriter instance.
  50. cmDSWWriter* GetDSWWriter()
  51. {return m_DSWWriter;}
  52. ///! Retrieve a pointer to a cmDSPWriter instance.
  53. cmDSPWriter* GetDSPWriter()
  54. {return m_DSPWriter;}
  55. /**
  56. * Try to determine system infomation such as shared library
  57. * extension, pthreads, byte order etc.
  58. */
  59. virtual void EnableLanguage(const char*);
  60. private:
  61. cmDSWWriter* m_DSWWriter;
  62. cmDSPWriter* m_DSPWriter;
  63. bool m_BuildDSW;
  64. };
  65. #endif