src/foo で、-lwhatever にリンクされた lib foo を作成します
add_library(foo foo.cpp)
target_link_libraries(foo -lwhatever)
src/bar では foo を使用します
add_executable (bar bar.cpp)
target_link_libraries(bar foo)
LTO のおかげかもしれませんが、bar の target_link_libraries に -lwhatever を追加する必要があります。そうしないと、コンパイル時にシンボルが不足しています。
target_link_libraries(bar foo -lwhatever)
透明化できないの?