cmGeneratorTarget: Move GetFrameworkDirectory from cmTarget.

This commit is contained in:
Stephen Kelly
2015-08-04 19:19:48 +02:00
parent d6bb319b09
commit 6da99de323
5 changed files with 57 additions and 56 deletions
+45 -3
View File
@@ -903,6 +903,48 @@ cmGeneratorTarget::GetAppBundleDirectory(const std::string& config,
return fpath;
}
//----------------------------------------------------------------------------
std::string cmGeneratorTarget::GetCFBundleDirectory(const std::string& config,
bool contentOnly) const
{
std::string fpath;
fpath += this->Target->GetOutputName(config, false);
fpath += ".";
const char *ext = this->Target->GetProperty("BUNDLE_EXTENSION");
if (!ext)
{
if (this->Target->IsXCTestOnApple())
{
ext = "xctest";
}
else
{
ext = "bundle";
}
}
fpath += ext;
fpath += "/Contents";
if(!contentOnly)
fpath += "/MacOS";
return fpath;
}
//----------------------------------------------------------------------------
std::string
cmGeneratorTarget::GetFrameworkDirectory(const std::string& config,
bool rootDir) const
{
std::string fpath;
fpath += this->Target->GetOutputName(config, false);
fpath += ".framework";
if(!rootDir)
{
fpath += "/Versions/";
fpath += this->Target->GetFrameworkVersion();
}
return fpath;
}
//----------------------------------------------------------------------------
std::string
cmGeneratorTarget::GetFullName(const std::string& config, bool implib) const
@@ -1007,11 +1049,11 @@ cmGeneratorTarget::BuildMacContentDirectory(const std::string& base,
}
if(this->Target->IsFrameworkOnApple())
{
fpath += this->Target->GetFrameworkDirectory(config, contentOnly);
fpath += this->GetFrameworkDirectory(config, contentOnly);
}
if(this->Target->IsCFBundleOnApple())
{
fpath += this->Target->GetCFBundleDirectory(config, contentOnly);
fpath += this->GetCFBundleDirectory(config, contentOnly);
}
return fpath;
}
@@ -1982,7 +2024,7 @@ void cmGeneratorTarget::GetFullNameInternal(const std::string& config,
if(this->Target->IsCFBundleOnApple())
{
fw_prefix = this->Target->GetCFBundleDirectory(config, false);
fw_prefix = this->GetCFBundleDirectory(config, false);
fw_prefix += "/";
targetPrefix = fw_prefix.c_str();
targetSuffix = 0;