Browse Source

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.

Brad King 18 years ago
parent
commit
770ffb1699
1 changed files with 6 additions and 21 deletions
  1. 6 21
      Source/cmLocalVisualStudio7Generator.cxx

+ 6 - 21
Source/cmLocalVisualStudio7Generator.cxx

@@ -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)
 {