Skip to content

target_link_libraries: Restore LINK_ONLY for multiple static lib dependencies

Brad King requested to merge brad.king/cmake:tll-genex-concat into master

Since !6989 (merged) we accumulate consecutive non-keyword arguments to recover an unquoted generator expression as a single entry. When given multiple consecutive non-genex library names, the grouping breaks our logic that expects each entry is either a raw target name or a genex. Revise the logic to only accumulate multiple arguments when they end inside a partial genex.

This bug caused target_link_libraries to stop wrapping static library private dependencies in $<LINK_ONLY:...> for INTERFACE_LINK_LIBRARIES when multiple consecutive library names are given. Add a test case covering that behavior.

Fixes: #23302 (closed)
Backport: release

Merge request reports