cmDSWWriter.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /*=========================================================================
  2. Program: Insight Segmentation & Registration Toolkit
  3. Module: $RCSfile$
  4. Language: C++
  5. Date: $Date$
  6. Version: $Revision$
  7. Copyright (c) 2000 National Library of Medicine
  8. All rights reserved.
  9. See COPYRIGHT.txt for copyright details.
  10. =========================================================================*/
  11. #ifndef cmDSWMakefile_h
  12. #define cmDSWMakefile_h
  13. #include "cmStandardIncludes.h"
  14. #include "cmMakefile.h"
  15. class cmDSPMakefile;
  16. class cmMSProjectGenerator;
  17. /** \class cmDSWMakefile
  18. * \brief Write a Microsoft Visual C++ DSW (workspace) file.
  19. *
  20. * cmDSWMakefile produces a Microsoft Visual C++ DSW (workspace) file.
  21. */
  22. class cmDSWMakefile
  23. {
  24. public:
  25. /**
  26. * Constructor.
  27. */
  28. cmDSWMakefile(cmMakefile*);
  29. /**
  30. * Generate the DSW workspace file.
  31. */
  32. virtual void OutputDSWFile();
  33. private:
  34. void FindAllCMakeListsFiles(const char* subdir,
  35. std::vector<cmMSProjectGenerator*>&);
  36. void WriteDSWFile(std::ostream& fout);
  37. void WriteDSWHeader(std::ostream& fout);
  38. void WriteProject(std::ostream& fout,
  39. const char* name, const char* path,
  40. cmDSPMakefile* project, const cmTarget &t);
  41. void WriteDSWFooter(std::ostream& fout);
  42. cmMakefile* m_Makefile;
  43. };
  44. #endif