summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2013-10-22 17:12:51 (GMT)
committerStephen Kelly <steveire@gmail.com>2013-10-24 06:42:04 (GMT)
commit98777694b99868bdad2ab6eb7e3d6b5113bfa204 (patch)
treed33c3aef0bd9abf4cd338620cabba8f3dacc7f8e
parent816b4a8a18b85c52529fc9cef4b20ad6af654734 (diff)
downloadCMake-98777694b99868bdad2ab6eb7e3d6b5113bfa204.zip
CMake-98777694b99868bdad2ab6eb7e3d6b5113bfa204.tar.gz
CMake-98777694b99868bdad2ab6eb7e3d6b5113bfa204.tar.bz2
cmTarget: Assign consistent content back to the property being evaluated.
Currently, 'consistent' means the same or not set. Soon though, it will be possible to choose a minimum number from an interface for example.
-rw-r--r--Source/cmTarget.cxx15
1 files changed, 12 insertions, 3 deletions
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index fc70d16..b086f16 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -4544,7 +4544,9 @@ PropertyType checkInterfacePropertyCompatibility(cmTarget *tgt,
{
if (ifaceIsSet)
{
- if (!consistentProperty(propContent, ifacePropContent))
+ PropertyType consistent = consistentProperty(propContent,
+ ifacePropContent);
+ if (!consistent)
{
cmOStringStream e;
e << "Property " << p << " on target \""
@@ -4557,6 +4559,7 @@ PropertyType checkInterfacePropertyCompatibility(cmTarget *tgt,
else
{
// Agree
+ propContent = consistent;
continue;
}
}
@@ -4571,7 +4574,9 @@ PropertyType checkInterfacePropertyCompatibility(cmTarget *tgt,
propContent = impliedValue<PropertyType>(propContent);
if (ifaceIsSet)
{
- if (!consistentProperty(propContent, ifacePropContent))
+ PropertyType consistent = consistentProperty(propContent,
+ ifacePropContent);
+ if (!consistent)
{
cmOStringStream e;
e << "Property " << p << " on target \""
@@ -4585,6 +4590,7 @@ PropertyType checkInterfacePropertyCompatibility(cmTarget *tgt,
else
{
// Agree
+ propContent = consistent;
continue;
}
}
@@ -4600,7 +4606,9 @@ PropertyType checkInterfacePropertyCompatibility(cmTarget *tgt,
{
if (propInitialized)
{
- if (!consistentProperty(propContent, ifacePropContent))
+ PropertyType consistent = consistentProperty(propContent,
+ ifacePropContent);
+ if (!consistent)
{
cmOStringStream e;
e << "The INTERFACE_" << p << " property of \""
@@ -4613,6 +4621,7 @@ PropertyType checkInterfacePropertyCompatibility(cmTarget *tgt,
else
{
// Agree.
+ propContent = consistent;
continue;
}
}