diff options
-rw-r--r-- | Source/cmTarget.cxx | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index ad4ae0c..f84095c 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -4472,6 +4472,19 @@ bool consistentProperty(const char *lhs, const char *rhs) return strcmp(lhs, rhs) == 0; } +template<typename PropertyType> +PropertyType impliedValue(PropertyType); +template<> +bool impliedValue<bool>(bool) +{ + return false; +} +template<> +const char* impliedValue<const char*>(const char*) +{ + return ""; +} + //---------------------------------------------------------------------------- template<typename PropertyType> PropertyType checkInterfacePropertyCompatibility(cmTarget *tgt, @@ -4547,6 +4560,7 @@ PropertyType checkInterfacePropertyCompatibility(cmTarget *tgt, } else if (impliedByUse) { + propContent = impliedValue<PropertyType>(propContent); if (ifaceIsSet) { if (!consistentProperty(propContent, ifacePropContent)) |