|
|
@@ -88,9 +88,8 @@ bool cmTargetPropCommandBase
|
|
|
|
|
|
++argIndex;
|
|
|
|
|
|
- std::string content;
|
|
|
+ std::vector<std::string> content;
|
|
|
|
|
|
- std::string sep;
|
|
|
for(unsigned int i=argIndex; i < args.size(); ++i, ++argIndex)
|
|
|
{
|
|
|
if(args[i] == "PUBLIC"
|
|
|
@@ -100,8 +99,7 @@ bool cmTargetPropCommandBase
|
|
|
this->PopulateTargetProperies(scope, content, prepend);
|
|
|
return true;
|
|
|
}
|
|
|
- content += sep + args[i];
|
|
|
- sep = ";";
|
|
|
+ content.push_back(args[i]);
|
|
|
}
|
|
|
this->PopulateTargetProperies(scope, content, prepend);
|
|
|
return true;
|
|
|
@@ -110,7 +108,8 @@ bool cmTargetPropCommandBase
|
|
|
//----------------------------------------------------------------------------
|
|
|
void cmTargetPropCommandBase
|
|
|
::PopulateTargetProperies(const std::string &scope,
|
|
|
- const std::string &content, bool prepend)
|
|
|
+ const std::vector<std::string> &content,
|
|
|
+ bool prepend)
|
|
|
{
|
|
|
if (scope == "PRIVATE" || scope == "PUBLIC")
|
|
|
{
|
|
|
@@ -122,7 +121,7 @@ void cmTargetPropCommandBase
|
|
|
{
|
|
|
const std::string propName = std::string("INTERFACE_") + this->Property;
|
|
|
const char *propValue = this->Target->GetProperty(propName.c_str());
|
|
|
- const std::string totalContent = content + (propValue
|
|
|
+ const std::string totalContent = this->Join(content) + (propValue
|
|
|
? std::string(";") + propValue
|
|
|
: std::string());
|
|
|
this->Target->SetProperty(propName.c_str(), totalContent.c_str());
|
|
|
@@ -130,7 +129,7 @@ void cmTargetPropCommandBase
|
|
|
else
|
|
|
{
|
|
|
this->Target->AppendProperty(("INTERFACE_" + this->Property).c_str(),
|
|
|
- content.c_str());
|
|
|
+ this->Join(content).c_str());
|
|
|
}
|
|
|
}
|
|
|
}
|