Declaring private dependencies between imported targets is not intuitive
The only way to declare a "private" dependency between imported targets is with the $<LINK_ONLY>
genex:
add_library(lib1 STATIC IMPORTED)
add_library(lib2 STATIC IMPORTED)
target_link_libraries(lib1 INTERFACE $<LINK_ONLY:lib2>)
This is not very intuitive. We should consider coming up with a more intuitive way to express this.