[Cmake-commits] CMake branch, next, updated. v2.8.10.2-2830-g6ceeff2

Brad King brad.king at kitware.com
Thu Apr 25 10:33:24 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  6ceeff297bd1b06a6b4141fdccdd76447de82a0f (commit)
       via  de9d4a63ca9af8f2a06c79e02d3e6ffb5320e01c (commit)
       via  78185f598c152b1dbce632e953874ce8132c5fe9 (commit)
      from  0492593faa913c4aa36b6cce39c40d7c46104c0c (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=6ceeff297bd1b06a6b4141fdccdd76447de82a0f
commit 6ceeff297bd1b06a6b4141fdccdd76447de82a0f
Merge: 0492593 de9d4a6
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Apr 25 10:33:21 2013 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Thu Apr 25 10:33:21 2013 -0400

    Merge topic 'fix-per-config-tll-include-dirs' into next
    
    de9d4a6 Fix include dir propagation from conditionally linked targets
    78185f5 CMake Nightly Date Stamp


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=de9d4a63ca9af8f2a06c79e02d3e6ffb5320e01c
commit de9d4a63ca9af8f2a06c79e02d3e6ffb5320e01c
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Thu Apr 25 09:43:42 2013 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Thu Apr 25 09:58:15 2013 -0400

    Fix include dir propagation from conditionally linked targets
    
    Code like
    
     target_link_libraries(B debug A)
    
    generates usage requirement references such as "$<$<CONFIG:DEBUG>:A>".
    When cmTarget::GetIncludeDirectories uses such references it generates
    expressions like:
    
     $<TARGET_PROPERTY:$<$<CONFIG:DEBUG>:A>,INTERFACE_INCLUDE_DIRECTORIES>
    
    When the conditions are false such references evaluate as an empty
    string and the expression fails with an error such as:
    
     $<TARGET_PROPERTY:tgt,prop> expression requires a non-empty target name.
    
    Fix this by teaching cmTarget::GetIncludeDirectories to wrap the above
    expression inside a conditional:
    
     $<$<BOOL:$<$<CONFIG:DEBUG>:A>>:...>
    
    so that $<TARGET_PROPERTY:...> will not be evaluated with an empty
    target.

diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 66c22b1..3d0d019 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -2947,8 +2947,8 @@ std::vector<std::string> cmTarget::GetIncludeDirectories(const char *config)
       }
       cmGeneratorExpression ge(it->Backtrace);
       cmsys::auto_ptr<cmCompiledGeneratorExpression> cge = ge.Parse(
-          "$<TARGET_PROPERTY:" +
-                              it->Value + ",INTERFACE_INCLUDE_DIRECTORIES>");
+        "$<$<BOOL:"+it->Value+">:"
+          "$<TARGET_PROPERTY:"+it->Value+",INTERFACE_INCLUDE_DIRECTORIES>>");
 
       this->Internal->CachedLinkInterfaceIncludeDirectoriesEntries.push_back(
                         new cmTargetInternals::IncludeDirectoriesEntry(cge,

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

Summary of changes:
 Source/CMakeVersion.cmake |    2 +-
 Source/cmTarget.cxx       |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list