Genex: List transitive properties and methods as a table, not two lists.

Introduce a new set of macros to select the column.
This commit is contained in:
Stephen Kelly 2014-01-05 05:13:39 +01:00
parent 802a28fc5e
commit 711fb38f72
1 changed files with 12 additions and 10 deletions

View File

@ -16,19 +16,21 @@
#include "cmGeneratorExpressionEvaluator.h" #include "cmGeneratorExpressionEvaluator.h"
#define CM_SELECT_FIRST(F, A1, A2) F(A1)
#define CM_SELECT_SECOND(F, A1, A2) F(A2)
#define CM_FOR_EACH_TRANSITIVE_PROPERTY_IMPL(F, SELECT) \
SELECT(F, EvaluatingIncludeDirectories, INCLUDE_DIRECTORIES) \
SELECT(F, EvaluatingSystemIncludeDirectories, SYSTEM_INCLUDE_DIRECTORIES) \
SELECT(F, EvaluatingCompileDefinitions, COMPILE_DEFINITIONS) \
SELECT(F, EvaluatingCompileOptions, COMPILE_OPTIONS) \
SELECT(F, EvaluatingAutoUicOptions, AUTOUIC_OPTIONS)
#define CM_FOR_EACH_TRANSITIVE_PROPERTY_METHOD(F) \ #define CM_FOR_EACH_TRANSITIVE_PROPERTY_METHOD(F) \
F(EvaluatingIncludeDirectories) \ CM_FOR_EACH_TRANSITIVE_PROPERTY_IMPL(F, CM_SELECT_FIRST)
F(EvaluatingSystemIncludeDirectories) \
F(EvaluatingCompileDefinitions) \
F(EvaluatingCompileOptions) \
F(EvaluatingAutoUicOptions)
#define CM_FOR_EACH_TRANSITIVE_PROPERTY_NAME(F) \ #define CM_FOR_EACH_TRANSITIVE_PROPERTY_NAME(F) \
F(INCLUDE_DIRECTORIES) \ CM_FOR_EACH_TRANSITIVE_PROPERTY_IMPL(F, CM_SELECT_SECOND)
F(SYSTEM_INCLUDE_DIRECTORIES) \
F(COMPILE_DEFINITIONS) \
F(COMPILE_OPTIONS) \
F(AUTOUIC_OPTIONS)
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
struct cmGeneratorExpressionDAGChecker struct cmGeneratorExpressionDAGChecker