BUG: Fix for issue #6440. Use 0 instead of FALSE for ExceptionHandling with Visual Studio 2005 and later.
This commit is contained in:
parent
e2421c93d8
commit
8950fca4ce
@ -407,6 +407,7 @@ public:
|
|||||||
Linker
|
Linker
|
||||||
};
|
};
|
||||||
cmLocalVisualStudio7GeneratorOptions(cmLocalVisualStudio7Generator* lg,
|
cmLocalVisualStudio7GeneratorOptions(cmLocalVisualStudio7Generator* lg,
|
||||||
|
int version,
|
||||||
Tool tool,
|
Tool tool,
|
||||||
cmVS7FlagTable const* extraTable = 0);
|
cmVS7FlagTable const* extraTable = 0);
|
||||||
|
|
||||||
@ -439,6 +440,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
cmLocalVisualStudio7Generator* LocalGenerator;
|
cmLocalVisualStudio7Generator* LocalGenerator;
|
||||||
|
int Version;
|
||||||
|
|
||||||
// create a map of xml tags to the values they should have in the output
|
// create a map of xml tags to the values they should have in the output
|
||||||
// for example, "BufferSecurityCheck" = "TRUE"
|
// for example, "BufferSecurityCheck" = "TRUE"
|
||||||
@ -551,7 +553,7 @@ void cmLocalVisualStudio7Generator::WriteConfiguration(std::ostream& fout,
|
|||||||
std::string defineFlags = this->Makefile->GetDefineFlags();
|
std::string defineFlags = this->Makefile->GetDefineFlags();
|
||||||
|
|
||||||
// Construct a set of build options for this target.
|
// Construct a set of build options for this target.
|
||||||
Options targetOptions(this, Options::Compiler, this->ExtraFlagTable);
|
Options targetOptions(this, this->Version, Options::Compiler, this->ExtraFlagTable);
|
||||||
targetOptions.FixExceptionHandlingDefault();
|
targetOptions.FixExceptionHandlingDefault();
|
||||||
targetOptions.Parse(flags.c_str());
|
targetOptions.Parse(flags.c_str());
|
||||||
targetOptions.Parse(defineFlags.c_str());
|
targetOptions.Parse(defineFlags.c_str());
|
||||||
@ -745,7 +747,7 @@ void cmLocalVisualStudio7Generator::OutputBuildTool(std::ostream& fout,
|
|||||||
extraLinkOptions += " ";
|
extraLinkOptions += " ";
|
||||||
extraLinkOptions += targetLinkFlags;
|
extraLinkOptions += targetLinkFlags;
|
||||||
}
|
}
|
||||||
Options linkOptions(this, Options::Linker);
|
Options linkOptions(this, this->Version, Options::Linker);
|
||||||
linkOptions.Parse(extraLinkOptions.c_str());
|
linkOptions.Parse(extraLinkOptions.c_str());
|
||||||
switch(target.GetType())
|
switch(target.GetType())
|
||||||
{
|
{
|
||||||
@ -1289,7 +1291,7 @@ void cmLocalVisualStudio7Generator
|
|||||||
!fc.CompileDefs.empty() ||
|
!fc.CompileDefs.empty() ||
|
||||||
!fc.CompileDefsConfig.empty())
|
!fc.CompileDefsConfig.empty())
|
||||||
{
|
{
|
||||||
Options fileOptions(this, Options::Compiler,
|
Options fileOptions(this, this->Version, Options::Compiler,
|
||||||
this->ExtraFlagTable);
|
this->ExtraFlagTable);
|
||||||
fileOptions.Parse(fc.CompileFlags.c_str());
|
fileOptions.Parse(fc.CompileFlags.c_str());
|
||||||
fileOptions.AddDefines(fc.CompileDefs.c_str());
|
fileOptions.AddDefines(fc.CompileDefs.c_str());
|
||||||
@ -1762,9 +1764,10 @@ std::string cmLocalVisualStudio7Generator
|
|||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
cmLocalVisualStudio7GeneratorOptions
|
cmLocalVisualStudio7GeneratorOptions
|
||||||
::cmLocalVisualStudio7GeneratorOptions(cmLocalVisualStudio7Generator* lg,
|
::cmLocalVisualStudio7GeneratorOptions(cmLocalVisualStudio7Generator* lg,
|
||||||
|
int version,
|
||||||
Tool tool,
|
Tool tool,
|
||||||
cmVS7FlagTable const* extraTable):
|
cmVS7FlagTable const* extraTable):
|
||||||
LocalGenerator(lg), CurrentTool(tool),
|
LocalGenerator(lg), Version(version), CurrentTool(tool),
|
||||||
DoingDefine(false), FlagTable(0), ExtraFlagTable(extraTable)
|
DoingDefine(false), FlagTable(0), ExtraFlagTable(extraTable)
|
||||||
{
|
{
|
||||||
// Choose the flag table for the requested tool.
|
// Choose the flag table for the requested tool.
|
||||||
@ -1786,7 +1789,17 @@ void cmLocalVisualStudio7GeneratorOptions::FixExceptionHandlingDefault()
|
|||||||
// initialization to off, but the user has the option of removing
|
// initialization to off, but the user has the option of removing
|
||||||
// the flag to disable exception handling. When the user does
|
// the flag to disable exception handling. When the user does
|
||||||
// remove the flag we need to override the IDE default of on.
|
// remove the flag we need to override the IDE default of on.
|
||||||
|
switch (this->Version)
|
||||||
|
{
|
||||||
|
case 7:
|
||||||
|
case 71:
|
||||||
this->FlagMap["ExceptionHandling"] = "FALSE";
|
this->FlagMap["ExceptionHandling"] = "FALSE";
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
this->FlagMap["ExceptionHandling"] = "0";
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
|
Loading…
x
Reference in New Issue
Block a user