diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index f84095c02..fc70d1652 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -4452,7 +4452,7 @@ const char *getTypedProperty(cmTarget *tgt, const char *prop, //---------------------------------------------------------------------------- template -bool consistentProperty(PropertyType lhs, PropertyType rhs); +PropertyType consistentProperty(PropertyType lhs, PropertyType rhs); //---------------------------------------------------------------------------- template<> @@ -4463,13 +4463,21 @@ bool consistentProperty(bool lhs, bool rhs) //---------------------------------------------------------------------------- template<> -bool consistentProperty(const char *lhs, const char *rhs) +const char* consistentProperty(const char *lhs, const char *rhs) { if (!lhs && !rhs) - return true; - if (!lhs || !rhs) - return false; - return strcmp(lhs, rhs) == 0; + { + return ""; + } + if (!lhs) + { + return rhs ? rhs : ""; + } + if (!rhs) + { + return lhs ? lhs : ""; + } + return strcmp(lhs, rhs) == 0 ? lhs : 0; } template