Commit 638843af authored by Stephen Kelly's avatar Stephen Kelly
Browse files

Remove the Location member from cmTarget.

It is never used. Presumably it only exists so that a const char * can
be returned from GetLocation. However, that is getting in the way
now, so use a static std::string instead, which is already a common
pattern in cmake.
parent 90ef1cfe
......@@ -2721,27 +2721,34 @@ const char* cmTarget::GetLocation(const char* config)
//----------------------------------------------------------------------------
const char* cmTarget::ImportedGetLocation(const char* config)
{
this->Location = this->ImportedGetFullPath(config, false);
return this->Location.c_str();
static std::string location;
location = this->ImportedGetFullPath(config, false);
return location.c_str();
}
//----------------------------------------------------------------------------
const char* cmTarget::NormalGetLocation(const char* config)
{
static std::string location;
// Handle the configuration-specific case first.
if(config)
{
this->Location = this->GetFullPath(config, false);
return this->Location.c_str();
location = this->GetFullPath(config, false);
return location.c_str();
}
// Now handle the deprecated build-time configuration location.
this->Location = this->GetDirectory();
location = this->GetDirectory();
if(!location.empty())
{
location += "/";
}
const char* cfgid = this->Makefile->GetDefinition("CMAKE_CFG_INTDIR");
if(cfgid && strcmp(cfgid, ".") != 0)
{
this->Location += "/";
this->Location += cfgid;
location += "/";
location += cfgid;
location += "/";
}
if(this->IsAppBundleOnApple())
......@@ -2749,13 +2756,13 @@ const char* cmTarget::NormalGetLocation(const char* config)
std::string macdir = this->BuildMacContentDirectory("", config, false);
if(!macdir.empty())
{
this->Location += "/";
this->Location += macdir;
location += "/";
location += macdir;
}
}
this->Location += "/";
this->Location += this->GetFullName(config, false);
return this->Location.c_str();
location += "/";
location += this->GetFullName(config, false);
return location.c_str();
}
//----------------------------------------------------------------------------
......
......@@ -674,7 +674,6 @@ private:
bool HaveInstallRule;
std::string InstallPath;
std::string RuntimeInstallPath;
std::string Location;
std::string ExportMacro;
std::set<cmStdString> Utilities;
bool RecordDependencies;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment