我的目标使用TARGET_LINK_LIBRARIES
withPUBLIC
关键字与多个库链接,INSTALL
命令看起来像INSTALL(TARGETS foo DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
. 我想以某种方式强制 cmake 包含我链接的所有(最好不包括系统库)库(仅限 SO),以包含在安装过程中。我已经尝试过 EXPORT 关键字,但看起来它只影响我在项目中构建并标记为与库相同EXPORT
的foo
库。
可能吗?
EDIT001:可能影响答案的附加信息。我正在使用vcpkg来管理第三方。所以TARGET_LINK_LIBRARIES
看起来像
TARGET_LINK_LIBRARIES(foo PUBLIC
GTest::GTest
GTest::Main
${GOOGLE_MOCK}
event
${THRIFT_LIBRARIES}
${Boost_LIBRARIES}
lzo2
sqlite3
${ZeroMQ_LIBRARY}
gRPC::grpc
gRPC::grpc++
xml2
stdc++fs
bfd
-l:libisal.so.2
sgutils2
pthread
uuid
rt
)
所以,基本上我想要实现的是获取所有这些由vcpkg
, like 等${THRIFT_LIBRARIES}, ${Boost_LIBRARIES} and gRPC::grpc
宏化的库