相关疑难解决方法(0)

用于目标及其 SO 依赖项的 CMake `INSTALL`

我的目标与几个使用TARGET_LINK_LIBRARIESwithPUBLIC关键字的库链接,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
                      )
Run Code Online (Sandbox Code Playgroud)

所以,本质上我想要实现的是获取所有这些被宏化的库vcpkg,像${THRIFT_LIBRARIES}, ${Boost_LIBRARIES} and gRPC::grpc等等

c++ cmake vcpkg

5
推荐指数
2
解决办法
3850
查看次数

标签 统计

c++ ×1

cmake ×1

vcpkg ×1