cmGeneratorTarget: Move GetOutputName from cmTarget.
This commit is contained in:
parent
4329a71c12
commit
34c437411d
|
@ -266,6 +266,54 @@ const char *cmGeneratorTarget::GetProperty(const std::string& prop) const
|
|||
return this->Target->GetProperty(prop);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
std::string cmGeneratorTarget::GetOutputName(const std::string& config,
|
||||
bool implib) const
|
||||
{
|
||||
std::vector<std::string> props;
|
||||
std::string type = this->Target->GetOutputTargetType(implib);
|
||||
std::string configUpper = cmSystemTools::UpperCase(config);
|
||||
if(!type.empty() && !configUpper.empty())
|
||||
{
|
||||
// <ARCHIVE|LIBRARY|RUNTIME>_OUTPUT_NAME_<CONFIG>
|
||||
props.push_back(type + "_OUTPUT_NAME_" + configUpper);
|
||||
}
|
||||
if(!type.empty())
|
||||
{
|
||||
// <ARCHIVE|LIBRARY|RUNTIME>_OUTPUT_NAME
|
||||
props.push_back(type + "_OUTPUT_NAME");
|
||||
}
|
||||
if(!configUpper.empty())
|
||||
{
|
||||
// OUTPUT_NAME_<CONFIG>
|
||||
props.push_back("OUTPUT_NAME_" + configUpper);
|
||||
// <CONFIG>_OUTPUT_NAME
|
||||
props.push_back(configUpper + "_OUTPUT_NAME");
|
||||
}
|
||||
// OUTPUT_NAME
|
||||
props.push_back("OUTPUT_NAME");
|
||||
|
||||
std::string outName;
|
||||
for(std::vector<std::string>::const_iterator i = props.begin();
|
||||
i != props.end(); ++i)
|
||||
{
|
||||
if (const char* outNameProp = this->Target->GetProperty(*i))
|
||||
{
|
||||
outName = outNameProp;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (outName.empty())
|
||||
{
|
||||
outName = this->GetName();
|
||||
}
|
||||
|
||||
cmGeneratorExpression ge;
|
||||
cmsys::auto_ptr<cmCompiledGeneratorExpression> cge = ge.Parse(outName);
|
||||
return cge->Evaluate(this->Makefile, config);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
std::vector<cmSourceFile*> const*
|
||||
cmGeneratorTarget::GetSourceDepends(cmSourceFile const* sf) const
|
||||
|
@ -922,7 +970,7 @@ std::string cmGeneratorTarget::GetCFBundleDirectory(const std::string& config,
|
|||
bool contentOnly) const
|
||||
{
|
||||
std::string fpath;
|
||||
fpath += this->Target->GetOutputName(config, false);
|
||||
fpath += this->GetOutputName(config, false);
|
||||
fpath += ".";
|
||||
const char *ext = this->Target->GetProperty("BUNDLE_EXTENSION");
|
||||
if (!ext)
|
||||
|
@ -949,7 +997,7 @@ cmGeneratorTarget::GetFrameworkDirectory(const std::string& config,
|
|||
bool rootDir) const
|
||||
{
|
||||
std::string fpath;
|
||||
fpath += this->Target->GetOutputName(config, false);
|
||||
fpath += this->GetOutputName(config, false);
|
||||
fpath += ".framework";
|
||||
if(!rootDir)
|
||||
{
|
||||
|
@ -2247,7 +2295,7 @@ void cmGeneratorTarget::GetFullNameInternal(const std::string& config,
|
|||
std::string fw_prefix;
|
||||
if(this->Target->IsFrameworkOnApple())
|
||||
{
|
||||
fw_prefix = this->Target->GetOutputName(config, false);
|
||||
fw_prefix = this->GetOutputName(config, false);
|
||||
fw_prefix += ".framework/";
|
||||
targetPrefix = fw_prefix.c_str();
|
||||
targetSuffix = 0;
|
||||
|
@ -2265,7 +2313,7 @@ void cmGeneratorTarget::GetFullNameInternal(const std::string& config,
|
|||
outPrefix = targetPrefix?targetPrefix:"";
|
||||
|
||||
// Append the target name or property-specified name.
|
||||
outBase += this->Target->GetOutputName(config, implib);
|
||||
outBase += this->GetOutputName(config, implib);
|
||||
|
||||
// Append the per-configuration postfix.
|
||||
outBase += configPostfix?configPostfix:"";
|
||||
|
|
|
@ -230,6 +230,9 @@ public:
|
|||
/** Get the path for the MSVC /Fd option for this target. */
|
||||
std::string GetCompilePDBPath(const std::string& config="") const;
|
||||
|
||||
// Get the target base name.
|
||||
std::string GetOutputName(const std::string& config, bool implib) const;
|
||||
|
||||
/**
|
||||
* Flags for a given source file as used in this target. Typically assigned
|
||||
* via SET_TARGET_PROPERTIES when the property is a list of source files.
|
||||
|
|
|
@ -3662,54 +3662,6 @@ bool cmTarget::UsesDefaultOutputDir(const std::string& config,
|
|||
return this->ComputeOutputDir(config, implib, dir);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
std::string cmTarget::GetOutputName(const std::string& config,
|
||||
bool implib) const
|
||||
{
|
||||
std::vector<std::string> props;
|
||||
std::string type = this->GetOutputTargetType(implib);
|
||||
std::string configUpper = cmSystemTools::UpperCase(config);
|
||||
if(!type.empty() && !configUpper.empty())
|
||||
{
|
||||
// <ARCHIVE|LIBRARY|RUNTIME>_OUTPUT_NAME_<CONFIG>
|
||||
props.push_back(type + "_OUTPUT_NAME_" + configUpper);
|
||||
}
|
||||
if(!type.empty())
|
||||
{
|
||||
// <ARCHIVE|LIBRARY|RUNTIME>_OUTPUT_NAME
|
||||
props.push_back(type + "_OUTPUT_NAME");
|
||||
}
|
||||
if(!configUpper.empty())
|
||||
{
|
||||
// OUTPUT_NAME_<CONFIG>
|
||||
props.push_back("OUTPUT_NAME_" + configUpper);
|
||||
// <CONFIG>_OUTPUT_NAME
|
||||
props.push_back(configUpper + "_OUTPUT_NAME");
|
||||
}
|
||||
// OUTPUT_NAME
|
||||
props.push_back("OUTPUT_NAME");
|
||||
|
||||
std::string outName;
|
||||
for(std::vector<std::string>::const_iterator i = props.begin();
|
||||
i != props.end(); ++i)
|
||||
{
|
||||
if (const char* outNameProp = this->GetProperty(*i))
|
||||
{
|
||||
outName = outNameProp;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (outName.empty())
|
||||
{
|
||||
outName = this->GetName();
|
||||
}
|
||||
|
||||
cmGeneratorExpression ge;
|
||||
cmsys::auto_ptr<cmCompiledGeneratorExpression> cge = ge.Parse(outName);
|
||||
return cge->Evaluate(this->Makefile, config);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
std::string cmTarget::GetFrameworkVersion() const
|
||||
{
|
||||
|
|
|
@ -552,9 +552,6 @@ private:
|
|||
// Returns ARCHIVE, LIBRARY, or RUNTIME based on platform and type.
|
||||
const char* GetOutputTargetType(bool implib) const;
|
||||
|
||||
// Get the target base name.
|
||||
std::string GetOutputName(const std::string& config, bool implib) const;
|
||||
|
||||
std::string GetFullNameImported(const std::string& config,
|
||||
bool implib) const;
|
||||
|
||||
|
|
Loading…
Reference in New Issue