BUG: All executable and library project types should specify a program database file name for all configurations. Even when debug information is not used the .pdb file specified is used to construct the name of a .idb file that exists for all configurations when building with the VS IDE.
This commit is contained in:
parent
c53b26baf2
commit
770ffb1699
|
@ -390,7 +390,6 @@ public:
|
|||
|
||||
// Check for specific options.
|
||||
bool UsingUnicode();
|
||||
bool UsingDebugPDB();
|
||||
|
||||
// Write options to output.
|
||||
void OutputPreprocessorDefinitions(std::ostream& fout,
|
||||
|
@ -579,12 +578,13 @@ void cmLocalVisualStudio7Generator::WriteConfiguration(std::ostream& fout,
|
|||
targetOptions.OutputPreprocessorDefinitions(fout, "\t\t\t\t", "\n");
|
||||
fout << "\t\t\t\tAssemblerListingLocation=\"" << configName << "\"\n";
|
||||
fout << "\t\t\t\tObjectFile=\"$(IntDir)\\\"\n";
|
||||
if(targetOptions.UsingDebugPDB() &&
|
||||
(target.GetType() == cmTarget::EXECUTABLE ||
|
||||
target.GetType() == cmTarget::STATIC_LIBRARY ||
|
||||
target.GetType() == cmTarget::SHARED_LIBRARY ||
|
||||
target.GetType() == cmTarget::MODULE_LIBRARY))
|
||||
if(target.GetType() == cmTarget::EXECUTABLE ||
|
||||
target.GetType() == cmTarget::STATIC_LIBRARY ||
|
||||
target.GetType() == cmTarget::SHARED_LIBRARY ||
|
||||
target.GetType() == cmTarget::MODULE_LIBRARY)
|
||||
{
|
||||
// We need to specify a program database file name even for
|
||||
// non-debug configurations because VS still creates .idb files.
|
||||
fout << "\t\t\t\tProgramDataBaseFileName=\""
|
||||
<< target.GetDirectory(configName) << "/"
|
||||
<< target.GetPDBName(configName) << "\"\n";
|
||||
|
@ -1697,21 +1697,6 @@ bool cmLocalVisualStudio7GeneratorOptions::UsingUnicode()
|
|||
return false;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool cmLocalVisualStudio7GeneratorOptions::UsingDebugPDB()
|
||||
{
|
||||
std::map<cmStdString, cmStdString>::iterator mi =
|
||||
this->FlagMap.find("DebugInformationFormat");
|
||||
if(mi != this->FlagMap.end() && mi->second != "1")
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
void cmLocalVisualStudio7GeneratorOptions::Parse(const char* flags)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue