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:
parent
275c21d351
commit
bde145a212
|
@ -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 += "/";
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 += "/";
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue