summaryrefslogtreecommitdiffstats
path: root/Source/cmGeneratorExpressionDAGChecker.cxx
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2013-06-10 14:01:59 (GMT)
committerStephen Kelly <steveire@gmail.com>2013-06-10 14:13:21 (GMT)
commit0d8db250ceedf908a32c96c0a7e532f3fe9e61d9 (patch)
tree6fca18a5bcd3a77c1fd08e94e07e47bf4e0aa693 /Source/cmGeneratorExpressionDAGChecker.cxx
parent8a3b5bede8c8fc16b7b7b25d7e665e8936de04ee (diff)
downloadCMake-0d8db250ceedf908a32c96c0a7e532f3fe9e61d9.zip
CMake-0d8db250ceedf908a32c96c0a7e532f3fe9e61d9.tar.gz
CMake-0d8db250ceedf908a32c96c0a7e532f3fe9e61d9.tar.bz2
Use a preprocessor loop to manage the valid transitive properties.
Hopefully this will prevent regressions when adding further transitive properties in the future.
Diffstat (limited to 'Source/cmGeneratorExpressionDAGChecker.cxx')
-rw-r--r--Source/cmGeneratorExpressionDAGChecker.cxx10
1 files changed, 7 insertions, 3 deletions
diff --git a/Source/cmGeneratorExpressionDAGChecker.cxx b/Source/cmGeneratorExpressionDAGChecker.cxx
index 6c6a7d4..3e03c09 100644
--- a/Source/cmGeneratorExpressionDAGChecker.cxx
+++ b/Source/cmGeneratorExpressionDAGChecker.cxx
@@ -33,9 +33,13 @@ cmGeneratorExpressionDAGChecker::cmGeneratorExpressionDAGChecker(
}
this->CheckResult = this->checkGraph();
- if (CheckResult == DAG && (top->EvaluatingIncludeDirectories()
- || top->EvaluatingCompileDefinitions()
- || top->EvaluatingCompileOptions()))
+#define TEST_TRANSITIVE_PROPERTY_METHOD(METHOD) \
+ top->METHOD () ||
+
+ if (CheckResult == DAG && (
+ CM_FOR_EACH_TRANSITIVE_PROPERTY_METHOD(TEST_TRANSITIVE_PROPERTY_METHOD)
+ false)
+ )
{
std::map<cmStdString, std::set<cmStdString> >::const_iterator it
= top->Seen.find(target);