[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