| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 | 
							- /*=========================================================================
 
-   Program:   Insight Segmentation & Registration Toolkit
 
-   Module:    $RCSfile$
 
-   Language:  C++
 
-   Date:      $Date$
 
-   Version:   $Revision$
 
-   Copyright (c) 2002 Insight Consortium. All rights reserved.
 
-   See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
 
-      This software is distributed WITHOUT ANY WARRANTY; without even 
 
-      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
 
-      PURPOSE.  See the above copyright notices for more information.
 
- =========================================================================*/
 
- #ifndef cmMSDotNETGenerator_h
 
- #define cmMSDotNETGenerator_h
 
- #include "cmStandardIncludes.h"
 
- #include "cmMakefileGenerator.h"
 
- #include "cmTarget.h"
 
- #include "cmSourceGroup.h"
 
- /** \class cmMSDotNETGenerator
 
-  * \brief Write a Microsoft Visual C++ DSP (project) file.
 
-  *
 
-  * cmMSDotNETGenerator produces a Microsoft Visual C++ DSP (project) file.
 
-  */
 
- class cmMSDotNETGenerator : public cmMakefileGenerator
 
- {
 
- public:
 
-   ///! Constructor sets the generation of SLN files on.
 
-   cmMSDotNETGenerator();
 
-   ///! Destructor.
 
-   ~cmMSDotNETGenerator();
 
-   
 
-   ///! Get the name for the generator.
 
-   virtual const char* GetName() {return "Visual Studio 7";}
 
-   ///! virtual copy constructor
 
-   virtual cmMakefileGenerator* CreateObject() 
 
-     { return new cmMSDotNETGenerator;}
 
-   
 
-   ///! Produce the makefile (in this case a Microsoft Visual C++ project).
 
-   virtual void GenerateMakefile();
 
-   ///! controls the SLN/DSP settings
 
-   virtual void SetLocal(bool);
 
-   /**
 
-    * Turn off the generation of a Microsoft Visual C++ SLN file.
 
-    * This causes only the dsp file to be created.  This
 
-    * is used to run as a command line program from inside visual
 
-    * studio.
 
-    */
 
-   void BuildSLNOff()  {m_BuildSLN = false;}
 
-   ///! Turn on the generation of a Microsoft Visual C++ SLN file.
 
-   void BuildProjOn() {m_BuildSLN = true;}
 
-   /**
 
-    * Try to determine system infomation such as shared library
 
-    * extension, pthreads, byte order etc.  
 
-    */
 
-   virtual void EnableLanguage(const char*);
 
- protected:  
 
-   /**
 
-    * Return array of created VCProj names in a STL vector.
 
-    * Each executable must have its own dsp.
 
-    */
 
-   std::vector<std::string> GetCreatedProjectNames() 
 
-     {
 
-     return m_CreatedProjectNames;
 
-     }
 
-   /**
 
-    * Return the makefile.
 
-    */
 
-   cmMakefile* GetMakefile() 
 
-     {
 
-     return m_Makefile;
 
-     }
 
- private:
 
-   void CreateSingleVCProj(const char *lname, cmTarget &tgt);
 
-   void WriteVCProjFile(std::ostream& fout, const char *libName, 
 
-                     cmTarget &tgt);
 
-   void WriteVCProjBeginGroup(std::ostream& fout, 
 
- 			  const char* group,
 
- 			  const char* filter);
 
-   void WriteVCProjEndGroup(std::ostream& fout);
 
-   void WriteProjectStart(std::ostream& fout, const char *libName,
 
-                          const cmTarget &tgt, std::vector<cmSourceGroup> &sgs);
 
-   void WriteConfigurations(std::ostream& fout,
 
-                            const char *libName,
 
-                            const cmTarget &tgt);
 
-   void WriteConfiguration(std::ostream& fout,
 
-                           const char* configName,
 
-                           const char* libName,
 
-                           const cmTarget &tgt); 
 
-   void OutputDefineFlags(std::ostream& fout);
 
-   void WriteVCProjFooter(std::ostream& fout);
 
-   void AddVCProjBuildRule(cmSourceGroup&);
 
-   void WriteCustomRule(std::ostream& fout,
 
-                        const char* source,
 
-                        const char* command,
 
-                        const std::set<std::string>& depends,
 
-                        const std::set<std::string>& outputs,
 
-                        const char* extraFlags);
 
-   void OutputTargetRules(std::ostream& fout,
 
-                          const cmTarget &target, 
 
-                          const char *libName);
 
-   std::string CombineCommands(const cmSourceGroup::Commands &commands,
 
-                               cmSourceGroup::CommandFiles &totalCommand,
 
-                               const char *source);
 
-   
 
-   virtual void OutputSLNFile();
 
-   void OutputVCProjFile();
 
-   std::string CreateGUID(const char* project);
 
-   void WriteSLNFile(std::ostream& fout);
 
-   void WriteSLNHeader(std::ostream& fout);
 
-   void WriteProject(std::ostream& fout, 
 
-                     const char* name, const char* path,
 
-                     cmMSDotNETGenerator* project, const cmTarget &t);
 
-   void WriteProjectDepends(std::ostream& fout, 
 
-                            const char* name, const char* path,
 
-                            cmMSDotNETGenerator* project, const cmTarget &t);
 
-   void WriteProjectConfigurations(std::ostream& fout, const char* name);
 
-   void WriteExternalProject(std::ostream& fout, 
 
-                     const char* name, const char* path,
 
-                     const std::vector<std::string>& dependencies);
 
-   void WriteSLNFooter(std::ostream& fout);
 
-   void OutputBuildTool(std::ostream& fout, const char* configName,
 
-                        const char* libname, const cmTarget& t);
 
-   void OutputLibraryDirectories(std::ostream& fout,
 
-                                 const char* configName,
 
-                                 const char* libName,
 
-                                 const cmTarget &target);
 
-   void OutputModuleDefinitionFile(std::ostream& fout,
 
-                                   const cmTarget &target);
 
-   void OutputLibraries(std::ostream& fout,
 
-                        const char* configName,
 
-                        const char* libName,
 
-                        const cmTarget &target);
 
-   std::string ConvertToXMLOutputPath(const char* path);
 
- private:
 
-   std::map<cmStdString, cmStdString> m_GUIDMap;
 
-   bool m_BuildSLN;
 
-   std::string m_LibraryOutputPath;
 
-   std::string m_ExecutableOutputPath;
 
-   std::string m_ModuleDefinitionFile;
 
-   std::vector<std::string> m_Configurations;
 
-   std::string m_VCProjHeaderTemplate;
 
-   std::string m_VCProjFooterTemplate;
 
-   std::vector<std::string> m_CreatedProjectNames;
 
- };
 
- #endif
 
 
  |