VS: Port WriteProject to cmGeneratorTarget

This commit is contained in:
Stephen Kelly 2015-10-23 18:26:42 +02:00
parent 1eff421ad0
commit 84fb579fc8
4 changed files with 12 additions and 11 deletions

View File

@ -152,18 +152,18 @@ void
cmGlobalVisualStudio71Generator::WriteProject(std::ostream& fout, cmGlobalVisualStudio71Generator::WriteProject(std::ostream& fout,
const std::string& dspname, const std::string& dspname,
const char* dir, const char* dir,
cmTarget const& t) cmGeneratorTarget const* t)
{ {
// check to see if this is a fortran build // check to see if this is a fortran build
const char* ext = ".vcproj"; const char* ext = ".vcproj";
const char* project = const char* project =
"Project(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \""; "Project(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"";
if(this->TargetIsFortranOnly(t)) if(this->TargetIsFortranOnly(*t->Target))
{ {
ext = ".vfproj"; ext = ".vfproj";
project = "Project(\"{6989167D-11E4-40FE-8C1A-2192A86A7E90}\") = \""; project = "Project(\"{6989167D-11E4-40FE-8C1A-2192A86A7E90}\") = \"";
} }
const char* targetExt = t.GetProperty("GENERATOR_FILE_NAME_EXT"); const char* targetExt = t->GetProperty("GENERATOR_FILE_NAME_EXT");
if(targetExt) if(targetExt)
{ {
ext = targetExt; ext = targetExt;
@ -175,12 +175,12 @@ cmGlobalVisualStudio71Generator::WriteProject(std::ostream& fout,
<< this->ConvertToSolutionPath(dir) << (dir[0]? "\\":"") << this->ConvertToSolutionPath(dir) << (dir[0]? "\\":"")
<< dspname << ext << "\", \"{" << guid << "}\"\n"; << dspname << ext << "\", \"{" << guid << "}\"\n";
fout << "\tProjectSection(ProjectDependencies) = postProject\n"; fout << "\tProjectSection(ProjectDependencies) = postProject\n";
this->WriteProjectDepends(fout, dspname, dir, t); this->WriteProjectDepends(fout, dspname, dir, *t->Target);
fout << "\tEndProjectSection\n"; fout << "\tEndProjectSection\n";
fout <<"EndProject\n"; fout <<"EndProject\n";
UtilityDependsMap::iterator ui = this->UtilityDepends.find(&t); UtilityDependsMap::iterator ui = this->UtilityDepends.find(t->Target);
if(ui != this->UtilityDepends.end()) if(ui != this->UtilityDepends.end())
{ {
const char* uname = ui->second.c_str(); const char* uname = ui->second.c_str();

View File

@ -59,7 +59,7 @@ protected:
std::ostream& fout, std::vector<std::string> const& configs); std::ostream& fout, std::vector<std::string> const& configs);
virtual void WriteProject(std::ostream& fout, virtual void WriteProject(std::ostream& fout,
const std::string& name, const char* path, const std::string& name, const char* path,
cmTarget const& t); const cmGeneratorTarget *t);
virtual void WriteProjectDepends(std::ostream& fout, virtual void WriteProjectDepends(std::ostream& fout,
const std::string& name, const char* path, const std::string& name, const char* path,
cmTarget const& t); cmTarget const& t);

View File

@ -477,7 +477,7 @@ void cmGlobalVisualStudio7Generator::WriteTargetsToSolution(
dir = ""; // msbuild cannot handle ".\" prefix dir = ""; // msbuild cannot handle ".\" prefix
} }
this->WriteProject(fout, vcprojName, dir.c_str(), this->WriteProject(fout, vcprojName, dir.c_str(),
*target->Target); target);
written = true; written = true;
} }
} }
@ -685,13 +685,14 @@ cmGlobalVisualStudio7Generator::ConvertToSolutionPath(const char* path)
// the libraries it uses are also done here // the libraries it uses are also done here
void cmGlobalVisualStudio7Generator::WriteProject(std::ostream& fout, void cmGlobalVisualStudio7Generator::WriteProject(std::ostream& fout,
const std::string& dspname, const std::string& dspname,
const char* dir, cmTarget const& target) const char* dir,
cmGeneratorTarget const* target)
{ {
// check to see if this is a fortran build // check to see if this is a fortran build
const char* ext = ".vcproj"; const char* ext = ".vcproj";
const char* project = const char* project =
"Project(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \""; "Project(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"";
if(this->TargetIsFortranOnly(target)) if(this->TargetIsFortranOnly(*target->Target))
{ {
ext = ".vfproj"; ext = ".vfproj";
project = "Project(\"{6989167D-11E4-40FE-8C1A-2192A86A7E90}\") = \""; project = "Project(\"{6989167D-11E4-40FE-8C1A-2192A86A7E90}\") = \"";
@ -703,7 +704,7 @@ void cmGlobalVisualStudio7Generator::WriteProject(std::ostream& fout,
<< dspname << ext << "\", \"{" << dspname << ext << "\", \"{"
<< this->GetGUID(dspname) << "}\"\nEndProject\n"; << this->GetGUID(dspname) << "}\"\nEndProject\n";
UtilityDependsMap::iterator ui = this->UtilityDepends.find(&target); UtilityDependsMap::iterator ui = this->UtilityDepends.find(target->Target);
if(ui != this->UtilityDepends.end()) if(ui != this->UtilityDepends.end())
{ {
const char* uname = ui->second.c_str(); const char* uname = ui->second.c_str();

View File

@ -123,7 +123,7 @@ protected:
std::vector<cmLocalGenerator*>& generators); std::vector<cmLocalGenerator*>& generators);
virtual void WriteProject(std::ostream& fout, virtual void WriteProject(std::ostream& fout,
const std::string& name, const char* path, const std::string& name, const char* path,
cmTarget const& t); const cmGeneratorTarget *t);
virtual void WriteProjectDepends(std::ostream& fout, virtual void WriteProjectDepends(std::ostream& fout,
const std::string& name, const char* path, const std::string& name, const char* path,
cmTarget const&t); cmTarget const&t);