target_link_libraries: Add FIXME comment for out-of-dir genex list

Issue: #20204
This commit is contained in:
Brad King
2020-01-10 10:44:59 -05:00
parent 3795dea6f1
commit c40229968c
2 changed files with 7 additions and 0 deletions

View File

@@ -406,6 +406,10 @@ static bool HandleLibrary(cmMakefile& mf, cmTarget* target,
// the name to tell ResolveLinkItem to look up the name in the
// caller's directory.
cmDirectoryId const dirId = mf.GetDirectoryId();
// FIXME: The "lib" may be a genex with a list inside it.
// After expansion this id will only attach to the last entry,
// or may attach to an empty string! We will need another way
// to encode this that can apply to a whole list. See issue #20204.
libRef = lib + CMAKE_DIRECTORY_ID_SEP + dirId.String;
} else {
// This is an absolute path or a library name added by a caller

View File

@@ -4,6 +4,9 @@ add_executable(SubDirB SubDirB.c)
# be visible to the directory in which TopDir is defined.
target_link_libraries(TopDir PUBLIC SameNameImported)
#FIXME: Demonstrate known issue #20204.
#target_link_libraries(TopDir PUBLIC "$<1:SameNameImported;SameNameImported>")
# Link SubDirA to a target imported in this directory that has the same
# name as a target imported in SubDirA's directory. We verify when
# compiling SubDirA that it sees our target and its own.