This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  72fe12691777484ffc9eb2c9ad75d78e62c0a273 (commit)
       via  77a0fd5135e3f9cdd0a365ab3ce41a9393f41037 (commit)
       via  146493363ebcb7618e5da175f89b69fcc4f9bb16 (commit)
      from  7077ee095168d67c67b5755fde999918fcfc7538 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=72fe12691777484ffc9eb2c9ad75d78e62c0a273
commit 72fe12691777484ffc9eb2c9ad75d78e62c0a273
Merge: 7077ee0 77a0fd5
Author:     Stephen Kelly <[email protected]>
AuthorDate: Sat Nov 9 14:32:39 2013 -0500
Commit:     CMake Topic Stage <[email protected]>
CommitDate: Sat Nov 9 14:32:39 2013 -0500

    Merge topic 'pp-transitive-property-handling' into next
    
    77a0fd5 Genex: Use a preprocessor foreach to follow transitive properties.
    1464933 Genex: Simplify the preprocessor looper for interface properties.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=77a0fd5135e3f9cdd0a365ab3ce41a9393f41037
commit 77a0fd5135e3f9cdd0a365ab3ce41a9393f41037
Author:     Stephen Kelly <[email protected]>
AuthorDate: Fri Oct 25 15:55:40 2013 +0200
Commit:     Stephen Kelly <[email protected]>
CommitDate: Sat Nov 9 20:31:35 2013 +0100

    Genex: Use a preprocessor foreach to follow transitive properties.

diff --git a/Source/cmGeneratorExpressionEvaluator.cxx 
b/Source/cmGeneratorExpressionEvaluator.cxx
index 2d26053..2ae5a22 100644
--- a/Source/cmGeneratorExpressionEvaluator.cxx
+++ b/Source/cmGeneratorExpressionEvaluator.cxx
@@ -893,26 +893,21 @@ static const struct TargetPropertyNode : public 
cmGeneratorExpressionNode
 
     std::string interfacePropertyName;
 
-    if (propertyName == "INTERFACE_INCLUDE_DIRECTORIES"
-        || propertyName == "INCLUDE_DIRECTORIES")
-      {
-      interfacePropertyName = "INTERFACE_INCLUDE_DIRECTORIES";
-      }
-    else if (propertyName == "INTERFACE_SYSTEM_INCLUDE_DIRECTORIES")
-      {
-      interfacePropertyName = "INTERFACE_SYSTEM_INCLUDE_DIRECTORIES";
-      }
-    else if (propertyName == "INTERFACE_COMPILE_DEFINITIONS"
-        || propertyName == "COMPILE_DEFINITIONS"
-        || strncmp(propertyName.c_str(), "COMPILE_DEFINITIONS_", 20) == 0)
+#define POPULATE_INTERFACE_PROPERTY_NAME(prop) \
+    if (propertyName == #prop || propertyName == "INTERFACE_" #prop) \
+      { \
+      interfacePropertyName = "INTERFACE_" #prop; \
+      } \
+    else
+
+    CM_FOR_EACH_TRANSITIVE_PROPERTY_NAME(POPULATE_INTERFACE_PROPERTY_NAME)
+      // Note that the above macro terminates with an else
+    /* else */ if (strncmp(propertyName.c_str(),
+                           "COMPILE_DEFINITIONS_", 20) == 0)
       {
       interfacePropertyName = "INTERFACE_COMPILE_DEFINITIONS";
       }
-    else if (propertyName == "INTERFACE_COMPILE_OPTIONS"
-        || propertyName == "COMPILE_OPTIONS")
-      {
-      interfacePropertyName = "INTERFACE_COMPILE_OPTIONS";
-      }
+#undef POPULATE_INTERFACE_PROPERTY_NAME
 
     cmTarget const* headTarget = context->HeadTarget
                                ? context->HeadTarget : target;

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=146493363ebcb7618e5da175f89b69fcc4f9bb16
commit 146493363ebcb7618e5da175f89b69fcc4f9bb16
Author:     Stephen Kelly <[email protected]>
AuthorDate: Tue Oct 29 09:22:32 2013 +0100
Commit:     Stephen Kelly <[email protected]>
CommitDate: Sat Nov 9 20:31:35 2013 +0100

    Genex: Simplify the preprocessor looper for interface properties.
    
    By removing the INTERFACE_ prefix, we can use this in more contexts.

diff --git a/Source/cmExportTryCompileFileGenerator.cxx 
b/Source/cmExportTryCompileFileGenerator.cxx
index b70fed6..d9bc04c 100644
--- a/Source/cmExportTryCompileFileGenerator.cxx
+++ b/Source/cmExportTryCompileFileGenerator.cxx
@@ -32,7 +32,7 @@ bool 
cmExportTryCompileFileGenerator::GenerateMainFile(std::ostream& os)
       ImportPropertyMap properties;
 
 #define FIND_TARGETS(PROPERTY) \
-      this->FindTargets(#PROPERTY, te, emittedDeps);
+      this->FindTargets("INTERFACE_" #PROPERTY, te, emittedDeps);
 
       CM_FOR_EACH_TRANSITIVE_PROPERTY_NAME(FIND_TARGETS)
 
diff --git a/Source/cmGeneratorExpressionDAGChecker.h 
b/Source/cmGeneratorExpressionDAGChecker.h
index 0b7ef02..c8594e7 100644
--- a/Source/cmGeneratorExpressionDAGChecker.h
+++ b/Source/cmGeneratorExpressionDAGChecker.h
@@ -23,10 +23,10 @@
   F(EvaluatingCompileOptions)
 
 #define CM_FOR_EACH_TRANSITIVE_PROPERTY_NAME(F) \
-  F(INTERFACE_INCLUDE_DIRECTORIES) \
-  F(INTERFACE_SYSTEM_INCLUDE_DIRECTORIES) \
-  F(INTERFACE_COMPILE_DEFINITIONS) \
-  F(INTERFACE_COMPILE_OPTIONS)
+  F(INCLUDE_DIRECTORIES) \
+  F(SYSTEM_INCLUDE_DIRECTORIES) \
+  F(COMPILE_DEFINITIONS) \
+  F(COMPILE_OPTIONS)
 
 //----------------------------------------------------------------------------
 struct cmGeneratorExpressionDAGChecker
diff --git a/Source/cmGeneratorExpressionEvaluator.cxx 
b/Source/cmGeneratorExpressionEvaluator.cxx
index 107ef73..2d26053 100644
--- a/Source/cmGeneratorExpressionEvaluator.cxx
+++ b/Source/cmGeneratorExpressionEvaluator.cxx
@@ -652,7 +652,7 @@ static const struct JoinNode : public 
cmGeneratorExpressionNode
 } joinNode;
 
 #define TRANSITIVE_PROPERTY_NAME(PROPERTY) \
-  , #PROPERTY
+  , "INTERFACE_" #PROPERTY
 
 //----------------------------------------------------------------------------
 static const char* targetPropertyTransitiveWhitelist[] = {

-----------------------------------------------------------------------

Summary of changes:
 Source/cmExportTryCompileFileGenerator.cxx |    2 +-
 Source/cmGeneratorExpressionDAGChecker.h   |    8 +++---
 Source/cmGeneratorExpressionEvaluator.cxx  |   31 +++++++++++----------------
 3 files changed, 18 insertions(+), 23 deletions(-)


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
[email protected]
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits

Reply via email to