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/cmGlobalVisualStudio7Generator.cxx | |
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/cmGlobalVisualStudio7Generator.cxx')
-rw-r--r-- | Source/cmGlobalVisualStudio7Generator.cxx | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/Source/cmGlobalVisualStudio7Generator.cxx b/Source/cmGlobalVisualStudio7Generator.cxx index 701137f..8caf90b 100644 --- a/Source/cmGlobalVisualStudio7Generator.cxx +++ b/Source/cmGlobalVisualStudio7Generator.cxx @@ -21,7 +21,6 @@ #include "cmMakefile.h" #include "cmake.h" - cmGlobalVisualStudio7Generator::cmGlobalVisualStudio7Generator() { this->FindMakeProgramFile = "CMakeVS7FindMake.cmake"; @@ -138,7 +137,8 @@ std::string cmGlobalVisualStudio7Generator ///! Create a local generator appropriate to this Global Generator cmLocalGenerator *cmGlobalVisualStudio7Generator::CreateLocalGenerator() { - cmLocalGenerator *lg = new cmLocalVisualStudio7Generator; + cmLocalVisualStudio7Generator *lg = new cmLocalVisualStudio7Generator; + lg->SetExtraFlagTable(this->GetExtraFlagTableVS7()); lg->SetGlobalGenerator(this); return lg; } @@ -821,3 +821,24 @@ bool cmGlobalVisualStudio7Generator::IsPartOfDefaultBuild(const char* project, // default is to be part of the build return true; } + +//---------------------------------------------------------------------------- +static cmVS7FlagTable cmVS7ExtraFlagTable[] = +{ + // Precompiled header and related options. Note that the + // UsePrecompiledHeader entries are marked as "Continue" so that the + // corresponding PrecompiledHeaderThrough entry can be found. + {"UsePrecompiledHeader", "YX", "Automatically Generate", "2", + cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue}, + {"PrecompiledHeaderThrough", "YX", "Precompiled Header Name", "", + cmVS7FlagTable::UserValueRequired}, + {"UsePrecompiledHeader", "Yu", "Use Precompiled Header", "3", + cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue}, + {"PrecompiledHeaderThrough", "Yu", "Precompiled Header Name", "", + cmVS7FlagTable::UserValueRequired}, + {0,0,0,0,0} +}; +cmVS7FlagTable const* cmGlobalVisualStudio7Generator::GetExtraFlagTableVS7() +{ + return cmVS7ExtraFlagTable; +} |