CMake/Source/cmMSProjectGenerator.h

95 lines
2.8 KiB
C
Raw Normal View History

/*=========================================================================
Program: Insight Segmentation & Registration Toolkit
Module: $RCSfile$
Language: C++
Date: $Date$
Version: $Revision$
2002-01-21 23:30:43 +03:00
Copyright (c) 2002 Insight Consortium. All rights reserved.
See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
2001-04-27 16:01:17 +04:00
2002-01-21 23:30:43 +03:00
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 cmMSProjectGenerator_h
#define cmMSProjectGenerator_h
2001-01-11 22:47:38 +03:00
#include "cmStandardIncludes.h"
#include "cmMakefileGenerator.h"
class cmDSPWriter;
class cmDSWWriter;
2001-01-11 22:47:38 +03:00
/** \class cmMSProjectGenerator
* \brief Write a Microsoft Visual C++ DSP (project) file.
*
* cmMSProjectGenerator produces a Microsoft Visual C++ DSP (project) file.
*/
class cmMSProjectGenerator : public cmMakefileGenerator
{
public:
2001-09-07 01:28:24 +04:00
///! Constructor sets the generation of DSW files on.
cmMSProjectGenerator();
2001-01-11 22:47:38 +03:00
2001-09-07 01:28:24 +04:00
///! Destructor.
~cmMSProjectGenerator();
2001-09-07 01:28:24 +04:00
///! Get the name for the generator.
virtual const char* GetName() {return "Visual Studio 6";}
///! virtual copy constructor
virtual cmMakefileGenerator* CreateObject()
{ return new cmMSProjectGenerator;}
///! Produce the makefile (in this case a Microsoft Visual C++ project).
virtual void GenerateMakefile();
2001-01-11 22:47:38 +03:00
2001-09-07 01:28:24 +04:00
///! controls the DSW/DSP settings
2001-05-18 19:12:21 +04:00
virtual void SetLocal(bool);
2001-01-11 22:47:38 +03:00
/**
* Turn off the generation of a Microsoft Visual C++ DSW file.
* This causes only the dsp file to be created. This
* is used to run as a command line program from inside visual
* studio.
2001-01-11 22:47:38 +03:00
*/
2001-05-18 19:12:21 +04:00
void BuildDSWOff() {m_BuildDSW = false;}
2001-01-11 22:47:38 +03:00
2001-09-07 01:28:24 +04:00
///! Turn on the generation of a Microsoft Visual C++ DSW file.
2001-05-18 19:12:21 +04:00
void BuildDSWOn() {m_BuildDSW = true;}
2001-01-11 22:47:38 +03:00
2001-09-07 01:28:24 +04:00
///! Retrieve a pointer to a cmDSWWriter instance.
cmDSWWriter* GetDSWWriter()
{return m_DSWWriter;}
2001-01-11 22:47:38 +03:00
2001-09-07 01:28:24 +04:00
///! Retrieve a pointer to a cmDSPWriter instance.
cmDSPWriter* GetDSPWriter()
{return m_DSPWriter;}
2001-01-11 22:47:38 +03:00
/**
* Try to determine system infomation such as shared library
* extension, pthreads, byte order etc.
*/
virtual void EnableLanguage(const char*);
/**
* Try running cmake and building a file. This is used for dynalically
* loaded commands, not as part of the usual build process. For the
* generator, it can assume that cmake has been run on the srcdir/bindir
* and it just needs to be compiled.
*/
virtual int TryCompile(const char *srcdir, const char *bindir,
const char *projectName);
private:
cmDSWWriter* m_DSWWriter;
cmDSPWriter* m_DSPWriter;
bool m_BuildDSW;
};
#endif