diff options
author | Brad King <brad.king@kitware.com> | 2007-03-12 16:35:11 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2007-03-12 16:35:11 (GMT) |
commit | fb38af53c0536de7abda7f9a5eea2527f087caf1 (patch) | |
tree | 84dca98bd0c0d419b196698d3188e110e7354940 /Source/cmLocalVisualStudio7Generator.h | |
parent | 55603ea9ebc044d8d811198d924851c2a1cc9ddb (diff) | |
download | CMake-fb38af53c0536de7abda7f9a5eea2527f087caf1.zip CMake-fb38af53c0536de7abda7f9a5eea2527f087caf1.tar.gz CMake-fb38af53c0536de7abda7f9a5eea2527f087caf1.tar.bz2 |
BUG: Split precompiled header flags into a separate per-global-generator flag map. This is needed because the flag mappings differ across VS IDE versions. This fixes bug#3512 for VS8 where as the previous fix only worked for VS7.
Diffstat (limited to 'Source/cmLocalVisualStudio7Generator.h')
-rw-r--r-- | Source/cmLocalVisualStudio7Generator.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/Source/cmLocalVisualStudio7Generator.h b/Source/cmLocalVisualStudio7Generator.h index 820b69b..64a29c5 100644 --- a/Source/cmLocalVisualStudio7Generator.h +++ b/Source/cmLocalVisualStudio7Generator.h @@ -72,6 +72,8 @@ public: // return the source name for the object file virtual std::string GetSourceObjectName(cmSourceFile& ); + void SetExtraFlagTable(cmVS7FlagTable const* table) + { this->ExtraFlagTable = table; } private: typedef cmLocalVisualStudio7GeneratorOptions Options; void ReadAndStoreExternalGUID(const char* name, @@ -124,11 +126,32 @@ private: const char *libName, std::vector<std::string> *configs); virtual std::string GetTargetDirectory(cmTarget&); + cmVS7FlagTable const* ExtraFlagTable; std::vector<std::string> CreatedProjectNames; std::string ModuleDefinitionFile; int Version; std::string PlatformName; // Win32 or x64 }; +// 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 + + UserValueIgnored = UserValue | UserIgnored, + UserValueRequired = UserValue | UserRequired + }; +}; + #endif |