CMake/Source/cmMSDotNETGenerator.h

86 lines
2.4 KiB
C
Raw Normal View History

2002-02-18 22:36:04 +03:00
/*=========================================================================
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