Return std::string from cmGeneratorTarget::ImportedGetLocation

This commit is contained in:
Sebastian Holtermann
2018-07-11 16:58:48 +02:00
parent 189f723509
commit 86b332c25d
3 changed files with 6 additions and 13 deletions

View File

@@ -3358,14 +3358,12 @@ std::string cmGeneratorTarget::GetFullNameInternal(
return prefix + base + suffix;
}
const char* cmGeneratorTarget::ImportedGetLocation(
std::string cmGeneratorTarget::ImportedGetLocation(
const std::string& config) const
{
static std::string location;
assert(this->IsImported());
location = this->Target->ImportedGetFullPath(
return this->Target->ImportedGetFullPath(
config, cmStateEnums::RuntimeBinaryArtifact);
return location.c_str();
}
std::string cmGeneratorTarget::GetFullNameImported(

View File

@@ -658,7 +658,7 @@ public:
no soname at all. */
bool IsImportedSharedLibWithoutSOName(const std::string& config) const;
const char* ImportedGetLocation(const std::string& config) const;
std::string ImportedGetLocation(const std::string& config) const;
/** Get the target major and minor version numbers interpreted from
the VERSION property. Version 0 is returned if the property is

View File

@@ -37,11 +37,6 @@
#include <utility>
#include <vector>
inline static const char* SafeString(const char* value)
{
return (value != nullptr) ? value : "";
}
static std::size_t GetParallelCPUCount()
{
static std::size_t count = 0;
@@ -1268,7 +1263,7 @@ bool cmQtAutoGenInitializer::GetMocExecutable()
cmLocalGenerator* localGen = this->Target->GetLocalGenerator();
cmGeneratorTarget* tgt = localGen->FindGeneratorTargetToUse(targetName);
if (tgt != nullptr) {
this->Moc.Executable = SafeString(tgt->ImportedGetLocation(""));
this->Moc.Executable = tgt->ImportedGetLocation("");
} else {
err = "Could not find target " + targetName;
}
@@ -1329,7 +1324,7 @@ bool cmQtAutoGenInitializer::GetUicExecutable()
cmLocalGenerator* localGen = this->Target->GetLocalGenerator();
cmGeneratorTarget* tgt = localGen->FindGeneratorTargetToUse(targetName);
if (tgt != nullptr) {
this->Uic.Executable = SafeString(tgt->ImportedGetLocation(""));
this->Uic.Executable = tgt->ImportedGetLocation("");
} else {
if (this->QtVersionMajor == "5") {
// Project does not use Qt5Widgets, but has AUTOUIC ON anyway
@@ -1394,7 +1389,7 @@ bool cmQtAutoGenInitializer::GetRccExecutable()
cmLocalGenerator* localGen = this->Target->GetLocalGenerator();
cmGeneratorTarget* tgt = localGen->FindGeneratorTargetToUse(targetName);
if (tgt != nullptr) {
this->Rcc.Executable = SafeString(tgt->ImportedGetLocation(""));
this->Rcc.Executable = tgt->ImportedGetLocation("");
} else {
err = "Could not find target " + targetName;
}