|
|
@@ -837,6 +837,7 @@ void cmMSDotNETGenerator::OutputBuildTool(std::ostream& fout,
|
|
|
fout << "\t\t\t\tAdditionalLibraryDirectories=\"";
|
|
|
this->OutputLibraryDirectories(fout, configName, libName, target);
|
|
|
fout << "\"\n";
|
|
|
+ this->OutputModuleDefinitionFile(fout, target);
|
|
|
fout << "\t\t\t\tProgramDatabaseFile=\"" << m_LibraryOutputPath
|
|
|
<< "$(OutDir)\\" << libName << ".pdb\"\n";
|
|
|
if(strcmp(configName, "Debug") == 0)
|
|
|
@@ -887,6 +888,24 @@ void cmMSDotNETGenerator::OutputBuildTool(std::ostream& fout,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+void cmMSDotNETGenerator::OutputModuleDefinitionFile(std::ostream& fout,
|
|
|
+ const cmTarget &target)
|
|
|
+{
|
|
|
+ std::vector<cmSourceFile> const& classes = target.GetSourceFiles();
|
|
|
+ for(std::vector<cmSourceFile>::const_iterator i = classes.begin();
|
|
|
+ i != classes.end(); i++)
|
|
|
+ {
|
|
|
+ if(cmSystemTools::UpperCase(i->GetSourceExtension()) == "DEF")
|
|
|
+ {
|
|
|
+ fout << "\t\t\t\tModuleDefinitionFile=\""
|
|
|
+ << this->ConvertToXMLOutputPath(i->GetFullPath().c_str())
|
|
|
+ << "\"\n";
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
void cmMSDotNETGenerator::OutputLibraryDirectories(std::ostream& fout,
|
|
|
const char* configName,
|
|
|
const char* libName,
|
|
|
@@ -992,12 +1011,17 @@ void cmMSDotNETGenerator::WriteVCProjFile(std::ostream& fout,
|
|
|
std::vector<cmSourceGroup> sourceGroups = m_Makefile->GetSourceGroups();
|
|
|
|
|
|
// get the classes from the source lists then add them to the groups
|
|
|
- std::vector<cmSourceFile> classes = target.GetSourceFiles();
|
|
|
- for(std::vector<cmSourceFile>::iterator i = classes.begin();
|
|
|
+ std::vector<cmSourceFile> const& classes = target.GetSourceFiles();
|
|
|
+ for(std::vector<cmSourceFile>::const_iterator i = classes.begin();
|
|
|
i != classes.end(); i++)
|
|
|
{
|
|
|
// Add the file to the list of sources.
|
|
|
std::string source = i->GetFullPath();
|
|
|
+ if(cmSystemTools::UpperCase(i->GetSourceExtension()) == "DEF")
|
|
|
+ {
|
|
|
+ m_ModuleDefinitionFile = i->GetFullPath();
|
|
|
+ }
|
|
|
+
|
|
|
cmSourceGroup& sourceGroup = m_Makefile->FindSourceGroup(source.c_str(),
|
|
|
sourceGroups);
|
|
|
sourceGroup.AddSource(source.c_str(), &(*i));
|