diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt index f17c0d641..fed4d744a 100644 --- a/Source/CMakeLists.txt +++ b/Source/CMakeLists.txt @@ -295,6 +295,7 @@ IF (WIN32) cmGlobalVisualStudioGenerator.cxx cmGlobalVisualStudioGenerator.h cmGlobalWatcomWMakeGenerator.cxx + cmIDEFlagTable.h cmLocalVisualStudio6Generator.cxx cmLocalVisualStudio6Generator.h cmLocalVisualStudio7Generator.cxx diff --git a/Source/cmGlobalVisualStudio7Generator.cxx b/Source/cmGlobalVisualStudio7Generator.cxx index 4a09f3909..302cd3170 100644 --- a/Source/cmGlobalVisualStudio7Generator.cxx +++ b/Source/cmGlobalVisualStudio7Generator.cxx @@ -716,7 +716,7 @@ static cmVS7FlagTable cmVS7ExtraFlagTable[] = {0,0,0,0,0} }; -cmVS7FlagTable const* cmGlobalVisualStudio7Generator::GetExtraFlagTableVS7() +cmIDEFlagTable const* cmGlobalVisualStudio7Generator::GetExtraFlagTableVS7() { return cmVS7ExtraFlagTable; } diff --git a/Source/cmGlobalVisualStudio7Generator.h b/Source/cmGlobalVisualStudio7Generator.h index 0e2670ea4..e04b05a29 100644 --- a/Source/cmGlobalVisualStudio7Generator.h +++ b/Source/cmGlobalVisualStudio7Generator.h @@ -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& generators); virtual void WriteSLNFile(std::ostream& fout, cmLocalGenerator* root, diff --git a/Source/cmGlobalVisualStudio8Generator.cxx b/Source/cmGlobalVisualStudio8Generator.cxx index f6ffe8c50..17a625d0d 100644 --- a/Source/cmGlobalVisualStudio8Generator.cxx +++ b/Source/cmGlobalVisualStudio8Generator.cxx @@ -348,7 +348,7 @@ static cmVS7FlagTable cmVS8ExtraFlagTable[] = {0,0,0,0,0} }; -cmVS7FlagTable const* cmGlobalVisualStudio8Generator::GetExtraFlagTableVS8() +cmIDEFlagTable const* cmGlobalVisualStudio8Generator::GetExtraFlagTableVS8() { return cmVS8ExtraFlagTable; } diff --git a/Source/cmGlobalVisualStudio8Generator.h b/Source/cmGlobalVisualStudio8Generator.h index 8e6a994da..cf5f5b662 100644 --- a/Source/cmGlobalVisualStudio8Generator.h +++ b/Source/cmGlobalVisualStudio8Generator.h @@ -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& generators); diff --git a/Source/cmIDEFlagTable.h b/Source/cmIDEFlagTable.h new file mode 100644 index 000000000..3097142a6 --- /dev/null +++ b/Source/cmIDEFlagTable.h @@ -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 diff --git a/Source/cmLocalVisualStudio7Generator.h b/Source/cmLocalVisualStudio7Generator.h index c49c297fc..c5fb6898e 100644 --- a/Source/cmLocalVisualStudio7Generator.h +++ b/Source/cmLocalVisualStudio7Generator.h @@ -18,7 +18,7 @@ #define cmLocalVisualStudio7Generator_h #include "cmLocalVisualStudioGenerator.h" -#include "cmVisualStudioGeneratorOptions.h" // to get cmVS7FlagTable +#include "cmVisualStudioGeneratorOptions.h" class cmTarget; class cmSourceFile; diff --git a/Source/cmVisualStudioGeneratorOptions.h b/Source/cmVisualStudioGeneratorOptions.h index 8577e4793..159c98496 100644 --- a/Source/cmVisualStudioGeneratorOptions.h +++ b/Source/cmVisualStudioGeneratorOptions.h @@ -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 {