使用CMake

时间:2015-10-29 10:50:15

标签: cmake install

一旦CMake成功构建了一个需要一些共享库的可执行文件,通过使用'ldd',我们可以轻松获取共享库依赖项列表以及我们可以在哪里找到它们。

例如,libstdc++在这里:/ usr / lib64 / libstdc ++。so.6

现在我们想要创建一个包(例如.tgz包),我们需要毫不怀疑地包含这些共享库。

我们可以这样做:

set(DEPENDENCIES /usr/lib64/libstdc++.so.6 /usr/lib64/[libname2] /usr/lib64/[libname3])
foreach(DEPENDENCY ${DEPENDENCIES})
   install(PROGRAMS "${DEPENDENCY}" DESTINATION lib)
endforeach()

是否有更聪明的方法来达到同样的目的?

我们可以将其设为自动流程,而不是手动指定所有库的路径吗?鉴于CMake已经知道链接阶段中的所有依赖关系和相应的库路径,它应该是直截了当的吗?

0 个答案:

没有答案