ENH: add obj file support and remove a warning

This commit is contained in:
Bill Hoffman 2009-06-25 22:53:02 -04:00
parent 7491f52992
commit b6d022f853
2 changed files with 39 additions and 9 deletions

View File

@ -142,7 +142,8 @@ void cmVisualStudio10TargetGenerator::Generate()
this->WritePathAndIncrementalLinkOptions(); this->WritePathAndIncrementalLinkOptions();
this->WriteItemDefinitionGroups(); this->WriteItemDefinitionGroups();
this->WriteCustomCommands(); this->WriteCustomCommands();
this->WriteSources(); this->WriteObjSources();
this->WriteCLSources();
this->WriteProjectReferences(); this->WriteProjectReferences();
this->WriteString( this->WriteString(
"<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\"" "<Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\""
@ -346,7 +347,38 @@ void cmVisualStudio10TargetGenerator::WriteGroups()
} }
void cmVisualStudio10TargetGenerator::WriteSources() void cmVisualStudio10TargetGenerator::WriteObjSources()
{
if(this->Target->GetType() > cmTarget::MODULE_LIBRARY)
{
return;
}
bool first = true;
std::vector<cmSourceFile*>const & sources = this->Target->GetSourceFiles();
for(std::vector<cmSourceFile*>::const_iterator source = sources.begin();
source != sources.end(); ++source)
{
std::cerr << (*source)->GetExtension() << "\n";
std::cerr << (*source)->GetFullPath() << "\n";
if((*source)->GetExtension() == "obj")
{
if(first)
{
this->WriteString("<ItemGroup>\n", 1);
first = false;
}
this->WriteString("<None Include=\"", 2);
(*this->BuildFileStream ) << (*source)->GetFullPath() << "\" />\n";
}
}
if(!first)
{
this->WriteString("</ItemGroup>\n", 1);
}
}
void cmVisualStudio10TargetGenerator::WriteCLSources()
{ {
this->WriteString("<ItemGroup>\n", 1); this->WriteString("<ItemGroup>\n", 1);
if(this->Target->GetType() > cmTarget::MODULE_LIBRARY) if(this->Target->GetType() > cmTarget::MODULE_LIBRARY)
@ -590,8 +622,7 @@ OutputLinkIncremental(std::string const& configName)
void void
cmVisualStudio10TargetGenerator:: cmVisualStudio10TargetGenerator::
WriteClOptions(std::string const& WriteClOptions(std::string const& configName,
configName,
std::vector<std::string> const & includes) std::vector<std::string> const & includes)
{ {
@ -699,7 +730,7 @@ OutputIncludes(std::vector<std::string> const & includes)
void cmVisualStudio10TargetGenerator:: void cmVisualStudio10TargetGenerator::
WriteRCOptions(std::string const& config, WriteRCOptions(std::string const& ,
std::vector<std::string> const & includes) std::vector<std::string> const & includes)
{ {
this->WriteString("<ResourceCompile>\n", 2); this->WriteString("<ResourceCompile>\n", 2);
@ -898,8 +929,7 @@ void cmVisualStudio10TargetGenerator::AddLibraries(
void cmVisualStudio10TargetGenerator:: void cmVisualStudio10TargetGenerator::
WriteMidlOptions(std::string const& WriteMidlOptions(std::string const& /*config*/,
config,
std::vector<std::string> const & includes) std::vector<std::string> const & includes)
{ {
this->WriteString("<Midl>\n", 2); this->WriteString("<Midl>\n", 2);
@ -949,7 +979,6 @@ void cmVisualStudio10TargetGenerator::WriteItemDefinitionGroups()
} }
} }
// TODO handle .obj file direct stuff
void cmVisualStudio10TargetGenerator::WriteProjectReferences() void cmVisualStudio10TargetGenerator::WriteProjectReferences()
{ {

View File

@ -49,7 +49,8 @@ private:
void WriteString(const char* line, int indentLevel); void WriteString(const char* line, int indentLevel);
void WriteProjectConfigurations(); void WriteProjectConfigurations();
void WriteProjectConfigurationValues(); void WriteProjectConfigurationValues();
void WriteSources(); void WriteCLSources();
void WriteObjSources();
void WritePathAndIncrementalLinkOptions(); void WritePathAndIncrementalLinkOptions();
void WriteItemDefinitionGroups(); void WriteItemDefinitionGroups();
void WriteClOptions(std::string const& config, void WriteClOptions(std::string const& config,