cmTarget: Make consistentProperty return consistent content.

Upcoming features will make use of that.
This commit is contained in:
Stephen Kelly 2013-10-22 18:51:51 +02:00
parent 030800a78a
commit 816b4a8a18
1 changed files with 14 additions and 6 deletions

View File

@ -4452,7 +4452,7 @@ const char *getTypedProperty<const char *>(cmTarget *tgt, const char *prop,
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
template<typename PropertyType> template<typename PropertyType>
bool consistentProperty(PropertyType lhs, PropertyType rhs); PropertyType consistentProperty(PropertyType lhs, PropertyType rhs);
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
template<> template<>
@ -4463,13 +4463,21 @@ bool consistentProperty(bool lhs, bool rhs)
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
template<> template<>
bool consistentProperty(const char *lhs, const char *rhs) const char* consistentProperty(const char *lhs, const char *rhs)
{ {
if (!lhs && !rhs) if (!lhs && !rhs)
return true; {
if (!lhs || !rhs) return "";
return false; }
return strcmp(lhs, rhs) == 0; if (!lhs)
{
return rhs ? rhs : "";
}
if (!rhs)
{
return lhs ? lhs : "";
}
return strcmp(lhs, rhs) == 0 ? lhs : 0;
} }
template<typename PropertyType> template<typename PropertyType>