ENH: Pass config to cmTarget::GetDirectory()

This teaches the makefile generators to always pass the configuration
name to the cmTarget::GetDirectory method.  Later this will allow
per-configuration target output directories, and it cleans up use of the
current API.
This commit is contained in:
Brad King 2009-07-03 10:34:10 -04:00
parent 275c21d351
commit bde145a212
3 changed files with 8 additions and 8 deletions

View File

@ -36,7 +36,7 @@ cmMakefileExecutableTargetGenerator
if(this->Target->IsAppBundleOnApple()) if(this->Target->IsAppBundleOnApple())
{ {
this->MacContentDirectory = this->Target->GetDirectory(); this->MacContentDirectory = this->Target->GetDirectory(this->ConfigName);
this->MacContentDirectory += "/"; this->MacContentDirectory += "/";
this->MacContentDirectory += this->TargetNameOut; this->MacContentDirectory += this->TargetNameOut;
this->MacContentDirectory += ".app/Contents/"; this->MacContentDirectory += ".app/Contents/";
@ -126,7 +126,7 @@ void cmMakefileExecutableTargetGenerator::WriteExecutableRule(bool relink)
this->ConfigName); this->ConfigName);
// Construct the full path version of the names. // Construct the full path version of the names.
std::string outpath = this->Target->GetDirectory(); std::string outpath = this->Target->GetDirectory(this->ConfigName);
outpath += "/"; outpath += "/";
if(this->Target->IsAppBundleOnApple()) if(this->Target->IsAppBundleOnApple())
{ {
@ -150,7 +150,7 @@ void cmMakefileExecutableTargetGenerator::WriteExecutableRule(bool relink)
cmSystemTools::MakeDirectory(outpath.c_str()); cmSystemTools::MakeDirectory(outpath.c_str());
if(!targetNameImport.empty()) if(!targetNameImport.empty())
{ {
outpathImp = this->Target->GetDirectory(0, true); outpathImp = this->Target->GetDirectory(this->ConfigName, true);
cmSystemTools::MakeDirectory(outpathImp.c_str()); cmSystemTools::MakeDirectory(outpathImp.c_str());
outpathImp += "/"; outpathImp += "/";
} }

View File

@ -39,7 +39,7 @@ cmMakefileLibraryTargetGenerator
if(this->Target->IsFrameworkOnApple()) if(this->Target->IsFrameworkOnApple())
{ {
this->FrameworkVersion = this->Target->GetFrameworkVersion(); this->FrameworkVersion = this->Target->GetFrameworkVersion();
this->MacContentDirectory = this->Target->GetDirectory(); this->MacContentDirectory = this->Target->GetDirectory(this->ConfigName);
this->MacContentDirectory += "/"; this->MacContentDirectory += "/";
this->MacContentDirectory += this->TargetNameOut; this->MacContentDirectory += this->TargetNameOut;
this->MacContentDirectory += ".framework/Versions/"; this->MacContentDirectory += ".framework/Versions/";
@ -245,7 +245,7 @@ cmMakefileLibraryTargetGenerator
std::string newName; std::string newName;
// Compute the location of the top-level foo.framework directory. // Compute the location of the top-level foo.framework directory.
std::string top = this->Target->GetDirectory(); std::string top = this->Target->GetDirectory(this->ConfigName);
top += "/"; top += "/";
top += this->TargetNameOut; top += this->TargetNameOut;
top += ".framework/"; top += ".framework/";
@ -406,12 +406,12 @@ void cmMakefileLibraryTargetGenerator::WriteLibraryRules
} }
else else
{ {
outpath = this->Target->GetDirectory(); outpath = this->Target->GetDirectory(this->ConfigName);
cmSystemTools::MakeDirectory(outpath.c_str()); cmSystemTools::MakeDirectory(outpath.c_str());
outpath += "/"; outpath += "/";
if(!targetNameImport.empty()) if(!targetNameImport.empty())
{ {
outpathImp = this->Target->GetDirectory(0, true); outpathImp = this->Target->GetDirectory(this->ConfigName, true);
cmSystemTools::MakeDirectory(outpathImp.c_str()); cmSystemTools::MakeDirectory(outpathImp.c_str());
outpathImp += "/"; outpathImp += "/";
} }

View File

@ -608,7 +608,7 @@ cmMakefileTargetGenerator
this->Target->GetType() == cmTarget::SHARED_LIBRARY || this->Target->GetType() == cmTarget::SHARED_LIBRARY ||
this->Target->GetType() == cmTarget::MODULE_LIBRARY) this->Target->GetType() == cmTarget::MODULE_LIBRARY)
{ {
targetFullPathPDB = this->Target->GetDirectory(); targetFullPathPDB = this->Target->GetDirectory(this->ConfigName);
targetFullPathPDB += "/"; targetFullPathPDB += "/";
targetFullPathPDB += this->Target->GetPDBName(this->ConfigName); targetFullPathPDB += this->Target->GetPDBName(this->ConfigName);
} }