summaryrefslogtreecommitdiffstats
path: root/Source/cmGeneratorExpressionDAGChecker.h
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2014-01-05 11:40:38 (GMT)
committerStephen Kelly <steveire@gmail.com>2014-01-06 17:46:45 (GMT)
commit646c6ec2f975238c11e2be02912fae0872843772 (patch)
treec0f1387d00ee83f841a197cc226b760e75c520cb /Source/cmGeneratorExpressionDAGChecker.h
parent711fb38f726fe3ef1209c81ae7b3220c5ca1512b (diff)
downloadCMake-646c6ec2f975238c11e2be02912fae0872843772.zip
CMake-646c6ec2f975238c11e2be02912fae0872843772.tar.gz
CMake-646c6ec2f975238c11e2be02912fae0872843772.tar.bz2
Genex: Use a preprocessor loop to implement transitive DAG check.
The other infrastructure for transitive property handling is already using a preprocessor loop. Implement special backward-compatibility handling of COMPILE_DEFINITIONS_<CONFIG> using a template switch for the extra check.
Diffstat (limited to 'Source/cmGeneratorExpressionDAGChecker.h')
-rw-r--r--Source/cmGeneratorExpressionDAGChecker.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/Source/cmGeneratorExpressionDAGChecker.h b/Source/cmGeneratorExpressionDAGChecker.h
index 812e985..1636492 100644
--- a/Source/cmGeneratorExpressionDAGChecker.h
+++ b/Source/cmGeneratorExpressionDAGChecker.h
@@ -16,6 +16,7 @@
#include "cmGeneratorExpressionEvaluator.h"
+#define CM_SELECT_BOTH(F, A1, A2) F(A1, A2)
#define CM_SELECT_FIRST(F, A1, A2) F(A1)
#define CM_SELECT_SECOND(F, A1, A2) F(A2)
@@ -26,6 +27,9 @@
SELECT(F, EvaluatingCompileOptions, COMPILE_OPTIONS) \
SELECT(F, EvaluatingAutoUicOptions, AUTOUIC_OPTIONS)
+#define CM_FOR_EACH_TRANSITIVE_PROPERTY(F) \
+ CM_FOR_EACH_TRANSITIVE_PROPERTY_IMPL(F, CM_SELECT_BOTH)
+
#define CM_FOR_EACH_TRANSITIVE_PROPERTY_METHOD(F) \
CM_FOR_EACH_TRANSITIVE_PROPERTY_IMPL(F, CM_SELECT_FIRST)