ENH: Separate VS flag table type
Move the cmVS7FlagTable type out of the VS generators and rename it to cmIDEFlagTable. It will be useful for other generators.
This commit is contained in:
parent
819b0742c6
commit
e339f3133f
|
@ -295,6 +295,7 @@ IF (WIN32)
|
|||
cmGlobalVisualStudioGenerator.cxx
|
||||
cmGlobalVisualStudioGenerator.h
|
||||
cmGlobalWatcomWMakeGenerator.cxx
|
||||
cmIDEFlagTable.h
|
||||
cmLocalVisualStudio6Generator.cxx
|
||||
cmLocalVisualStudio6Generator.h
|
||||
cmLocalVisualStudio7Generator.cxx
|
||||
|
|
|
@ -716,7 +716,7 @@ static cmVS7FlagTable cmVS7ExtraFlagTable[] =
|
|||
|
||||
{0,0,0,0,0}
|
||||
};
|
||||
cmVS7FlagTable const* cmGlobalVisualStudio7Generator::GetExtraFlagTableVS7()
|
||||
cmIDEFlagTable const* cmGlobalVisualStudio7Generator::GetExtraFlagTableVS7()
|
||||
{
|
||||
return cmVS7ExtraFlagTable;
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
#include "cmGlobalVisualStudioGenerator.h"
|
||||
|
||||
class cmTarget;
|
||||
struct cmVS7FlagTable;
|
||||
struct cmIDEFlagTable;
|
||||
|
||||
/** \class cmGlobalVisualStudio7Generator
|
||||
* \brief Write a Unix makefiles.
|
||||
|
@ -103,7 +103,7 @@ public:
|
|||
};
|
||||
|
||||
protected:
|
||||
static cmVS7FlagTable const* GetExtraFlagTableVS7();
|
||||
static cmIDEFlagTable const* GetExtraFlagTableVS7();
|
||||
virtual void OutputSLNFile(cmLocalGenerator* root,
|
||||
std::vector<cmLocalGenerator*>& generators);
|
||||
virtual void WriteSLNFile(std::ostream& fout, cmLocalGenerator* root,
|
||||
|
|
|
@ -348,7 +348,7 @@ static cmVS7FlagTable cmVS8ExtraFlagTable[] =
|
|||
|
||||
{0,0,0,0,0}
|
||||
};
|
||||
cmVS7FlagTable const* cmGlobalVisualStudio8Generator::GetExtraFlagTableVS8()
|
||||
cmIDEFlagTable const* cmGlobalVisualStudio8Generator::GetExtraFlagTableVS8()
|
||||
{
|
||||
return cmVS8ExtraFlagTable;
|
||||
}
|
||||
|
|
|
@ -67,7 +67,7 @@ protected:
|
|||
|
||||
virtual bool VSLinksDependencies() const { return false; }
|
||||
|
||||
static cmVS7FlagTable const* GetExtraFlagTableVS8();
|
||||
static cmIDEFlagTable const* GetExtraFlagTableVS8();
|
||||
virtual void AddPlatformDefinitions(cmMakefile* mf);
|
||||
virtual void WriteSLNFile(std::ostream& fout, cmLocalGenerator* root,
|
||||
std::vector<cmLocalGenerator*>& generators);
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
/*=========================================================================
|
||||
|
||||
Program: CMake - Cross-Platform Makefile Generator
|
||||
Module: $RCSfile$
|
||||
Language: C++
|
||||
Date: $Date$
|
||||
Version: $Revision$
|
||||
|
||||
Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
|
||||
See Copyright.txt or http://www.cmake.org/HTML/Copyright.html 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 cmIDEFlagTable_h
|
||||
#define cmIDEFlagTable_h
|
||||
|
||||
// This is a table mapping XML tag IDE names to command line options
|
||||
struct cmIDEFlagTable
|
||||
{
|
||||
const char* IDEName; // name used in the IDE xml file
|
||||
const char* commandFlag; // command line flag
|
||||
const char* comment; // comment
|
||||
const char* value; // string value
|
||||
unsigned int special; // flags for special handling requests
|
||||
enum
|
||||
{
|
||||
UserValue = (1<<0), // flag contains a user-specified value
|
||||
UserIgnored = (1<<1), // ignore any user value
|
||||
UserRequired = (1<<2), // match only when user value is non-empty
|
||||
Continue = (1<<3), // continue looking for matching entries
|
||||
SemicolonAppendable = (1<<4), // a flag that if specified multiple times
|
||||
// should have its value appended to the
|
||||
// old value with semicolons (e.g.
|
||||
// /NODEFAULTLIB: =>
|
||||
// IgnoreDefaultLibraryNames)
|
||||
|
||||
UserValueIgnored = UserValue | UserIgnored,
|
||||
UserValueRequired = UserValue | UserRequired
|
||||
};
|
||||
};
|
||||
|
||||
#endif
|
|
@ -18,7 +18,7 @@
|
|||
#define cmLocalVisualStudio7Generator_h
|
||||
|
||||
#include "cmLocalVisualStudioGenerator.h"
|
||||
#include "cmVisualStudioGeneratorOptions.h" // to get cmVS7FlagTable
|
||||
#include "cmVisualStudioGeneratorOptions.h"
|
||||
|
||||
class cmTarget;
|
||||
class cmSourceFile;
|
||||
|
|
|
@ -18,33 +18,12 @@
|
|||
#define cmVisualStudioGeneratorOptions_h
|
||||
|
||||
#include "cmLocalGenerator.h"
|
||||
|
||||
#include "cmIDEFlagTable.h"
|
||||
typedef cmIDEFlagTable cmVS7FlagTable;
|
||||
|
||||
class cmVisualStudio10TargetGenerator;
|
||||
|
||||
// This is a table mapping XML tag IDE names to command line options
|
||||
struct cmVS7FlagTable
|
||||
{
|
||||
const char* IDEName; // name used in the IDE xml file
|
||||
const char* commandFlag; // command line flag
|
||||
const char* comment; // comment
|
||||
const char* value; // string value
|
||||
unsigned int special; // flags for special handling requests
|
||||
enum
|
||||
{
|
||||
UserValue = (1<<0), // flag contains a user-specified value
|
||||
UserIgnored = (1<<1), // ignore any user value
|
||||
UserRequired = (1<<2), // match only when user value is non-empty
|
||||
Continue = (1<<3), // continue looking for matching entries
|
||||
SemicolonAppendable = (1<<4), // a flag that if specified multiple times
|
||||
// should have its value appended to the
|
||||
// old value with semicolons (e.g.
|
||||
// /NODEFAULTLIB: =>
|
||||
// IgnoreDefaultLibraryNames)
|
||||
|
||||
UserValueIgnored = UserValue | UserIgnored,
|
||||
UserValueRequired = UserValue | UserRequired
|
||||
};
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
class cmVisualStudioGeneratorOptions
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue