diff options
author | Brad King <brad.king@kitware.com> | 2014-06-16 14:10:18 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2014-06-23 13:17:07 (GMT) |
commit | a272344228174958a8b2346793d3272eb432dad8 (patch) | |
tree | f780c36052e86269948024d64f3d368a3570ad2d /Tests/InterfaceLibrary/ifacedir | |
parent | 069d60fe039ae1d797a26786f3cd4c23afc27b07 (diff) | |
download | CMake-a272344228174958a8b2346793d3272eb432dad8.zip CMake-a272344228174958a8b2346793d3272eb432dad8.tar.gz CMake-a272344228174958a8b2346793d3272eb432dad8.tar.bz2 |
Fix scope of transitive target name lookups
In cmTarget, cmGeneratorTarget, and cmGeneratorExpressionEvaluator, fix
target name lookups to occur in the cmMakefile context of the target
that referenced the name, not the current 'head' target. The context
matters for imported targets because they are directory-scoped instead
of globally unique. We already do this in cmComputeLinkDepends and
cmComputeTargetDepends.
Extend the InterfaceLibrary test with an example covering this behavior.
Diffstat (limited to 'Tests/InterfaceLibrary/ifacedir')
-rw-r--r-- | Tests/InterfaceLibrary/ifacedir/CMakeLists.txt | 8 | ||||
-rw-r--r-- | Tests/InterfaceLibrary/ifacedir/sub.cpp | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/Tests/InterfaceLibrary/ifacedir/CMakeLists.txt b/Tests/InterfaceLibrary/ifacedir/CMakeLists.txt new file mode 100644 index 0000000..228715e --- /dev/null +++ b/Tests/InterfaceLibrary/ifacedir/CMakeLists.txt @@ -0,0 +1,8 @@ +add_library(imp::iface INTERFACE IMPORTED) +set_property(TARGET imp::iface APPEND PROPERTY COMPATIBLE_INTERFACE_BOOL SOMEPROP) +set_property(TARGET imp::iface PROPERTY INTERFACE_SOMEPROP ON) +set_property(TARGET imp::iface PROPERTY INTERFACE_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/sub.cpp) + +add_library(subiface INTERFACE) +target_link_libraries(subiface INTERFACE imp::iface) +set_property(TARGET subiface PROPERTY INTERFACE_SOMEPROP ON) diff --git a/Tests/InterfaceLibrary/ifacedir/sub.cpp b/Tests/InterfaceLibrary/ifacedir/sub.cpp new file mode 100644 index 0000000..165a66a --- /dev/null +++ b/Tests/InterfaceLibrary/ifacedir/sub.cpp @@ -0,0 +1 @@ +int sub() { return 0; } |