[Cmake-commits] CMake branch, next, updated. v2.8.11-2465-gc231644

Stephen Kelly steveire at gmail.com
Mon Jun 3 18:32:29 EDT 2013


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  c231644e8848f5c8630acdebbfc8ad0c70562390 (commit)
       via  bfba1f2b9a4796bd5ecf70e19ab4d10effebacbe (commit)
      from  d86646d5a50bc1e3ecb2d134412041737bebadd7 (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=c231644e8848f5c8630acdebbfc8ad0c70562390
commit c231644e8848f5c8630acdebbfc8ad0c70562390
Merge: d86646d bfba1f2
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Mon Jun 3 18:32:26 2013 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon Jun 3 18:32:26 2013 -0400

    Merge topic 'fix-genex-HEAD-target' into next
    
    bfba1f2 Genex: Fix the HEAD target used for evaluated expressions.

diff --cc Source/cmGeneratorExpressionEvaluator.cxx
index 3b41362,c14ea12..a14bbec
--- a/Source/cmGeneratorExpressionEvaluator.cxx
+++ b/Source/cmGeneratorExpressionEvaluator.cxx
@@@ -723,14 -537,9 +723,16 @@@ static const struct TargetPropertyNode 
        {
        interfacePropertyName = "INTERFACE_COMPILE_DEFINITIONS";
        }
 +    else if (propertyName == "INTERFACE_COMPILE_OPTIONS"
 +        || propertyName == "COMPILE_OPTIONS")
 +      {
 +      interfacePropertyName = "INTERFACE_COMPILE_OPTIONS";
 +      }
 +
 +    cmTarget *headTarget = context->HeadTarget ? context->HeadTarget : target;
  
+     cmTarget *headTarget = context->HeadTarget ? context->HeadTarget : target;
+ 
      const char **transBegin = targetPropertyTransitiveWhitelist;
      const char **transEnd = targetPropertyTransitiveWhitelist
                + (sizeof(targetPropertyTransitiveWhitelist) /

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bfba1f2b9a4796bd5ecf70e19ab4d10effebacbe
commit bfba1f2b9a4796bd5ecf70e19ab4d10effebacbe
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Mon Jun 3 23:53:29 2013 +0200
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Tue Jun 4 00:30:53 2013 +0200

    Genex: Fix the HEAD target used for evaluated expressions.
    
    If the expression $<TARGET_PROPERTY:prop> appears in the content
    of a target property, the target that prop is read from is
    the 'head target' of the expression. In contexts such as evaluating
    the content of a target property during generation, such
    as INCLUDE_DIRECTORIES, the 'head target' is the one on which the
    initial request was made.
    
    If evaluating a generator expression which is not a target property
    content, the target must be explicitly specified. Such contexts
    include add_custom_command and file(GENERATE). The content might
    then look like
    
     $<TARGET_PROPERTY:tgt,prop>
    
    However, as there is no HeadTarget set, any generator expressions
    evaluated as part of reading prop from tgt which do not specify
    the tgt directly report an error.
    
    Modify the logic of the TARGET_PROPERTY generator expression so
    that in such contexts, the 'head target' is set to the appropriate
    target which was first encountered.

diff --git a/Source/cmGeneratorExpressionEvaluator.cxx b/Source/cmGeneratorExpressionEvaluator.cxx
index de6371a..c14ea12 100644
--- a/Source/cmGeneratorExpressionEvaluator.cxx
+++ b/Source/cmGeneratorExpressionEvaluator.cxx
@@ -538,6 +538,8 @@ static const struct TargetPropertyNode : public cmGeneratorExpressionNode
       interfacePropertyName = "INTERFACE_COMPILE_DEFINITIONS";
       }
 
+    cmTarget *headTarget = context->HeadTarget ? context->HeadTarget : target;
+
     const char **transBegin = targetPropertyTransitiveWhitelist;
     const char **transEnd = targetPropertyTransitiveWhitelist
               + (sizeof(targetPropertyTransitiveWhitelist) /
@@ -547,7 +549,7 @@ static const struct TargetPropertyNode : public cmGeneratorExpressionNode
       {
       const cmTarget::LinkInterface *iface = target->GetLinkInterface(
                                                     context->Config,
-                                                    context->HeadTarget);
+                                                    headTarget);
       if(iface)
         {
         linkedTargetsContent =
@@ -561,7 +563,7 @@ static const struct TargetPropertyNode : public cmGeneratorExpressionNode
       {
       const cmTarget::LinkImplementation *impl = target->GetLinkImplementation(
                                                     context->Config,
-                                                    context->HeadTarget);
+                                                    headTarget);
       if(impl)
         {
         linkedTargetsContent =
@@ -614,7 +616,7 @@ static const struct TargetPropertyNode : public cmGeneratorExpressionNode
         std::string result = cge->Evaluate(context->Makefile,
                             context->Config,
                             context->Quiet,
-                            context->HeadTarget,
+                            headTarget,
                             target,
                             &dagChecker);
 

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

Summary of changes:
 Source/cmGeneratorExpressionEvaluator.cxx |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list