diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2002-02-18 19:36:04 (GMT) |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2002-02-18 19:36:04 (GMT) |
commit | 60b9a2c14bf1883ba18c4cf650675382554c2627 (patch) | |
tree | 2d994856402dfe0f454eb363b3855b9b3d3046ec /Source/cmMSDotNETGenerator.h | |
parent | 12c5f0fa26ab3b90d13cd872ca7f0ea582e1cebc (diff) | |
download | CMake-60b9a2c14bf1883ba18c4cf650675382554c2627.zip CMake-60b9a2c14bf1883ba18c4cf650675382554c2627.tar.gz CMake-60b9a2c14bf1883ba18c4cf650675382554c2627.tar.bz2 |
ENH: first pass at dot net support
Diffstat (limited to 'Source/cmMSDotNETGenerator.h')
-rw-r--r-- | Source/cmMSDotNETGenerator.h | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/Source/cmMSDotNETGenerator.h b/Source/cmMSDotNETGenerator.h new file mode 100644 index 0000000..5a0fb2f --- /dev/null +++ b/Source/cmMSDotNETGenerator.h @@ -0,0 +1,85 @@ +/*========================================================================= + + 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" + +class cmVCProjWriter; +class cmSLNWriter; + +/** \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;} + + ///! Retrieve a pointer to a cmSLNWriter instance. + cmSLNWriter* GetSLNWriter() + {return m_SLNWriter;} + + ///! Retrieve a pointer to a cmVCProjWriter instance. + cmVCProjWriter* GetVCProjWriter() + {return m_VCProjWriter;} + + /** + * Try to determine system infomation such as shared library + * extension, pthreads, byte order etc. + */ + virtual void ComputeSystemInfo(); + +private: + cmSLNWriter* m_SLNWriter; + cmVCProjWriter* m_VCProjWriter; + bool m_BuildSLN; +}; + + +#endif |