summaryrefslogtreecommitdiffstats
path: root/Source/cmMSDotNETGenerator.h
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2002-02-18 19:36:04 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2002-02-18 19:36:04 (GMT)
commit60b9a2c14bf1883ba18c4cf650675382554c2627 (patch)
tree2d994856402dfe0f454eb363b3855b9b3d3046ec /Source/cmMSDotNETGenerator.h
parent12c5f0fa26ab3b90d13cd872ca7f0ea582e1cebc (diff)
downloadCMake-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.h85
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