0

我正在开发一个依赖多个第三方库的CMake项目,这些库可能进一步依赖于其他第三方库。依赖项都构建为静态库。我ExternalProject用来下载和编译依赖项。

                  /=> lib4.a
       /=> lib2.a  => lib5.a
lib1.so 
       \=> lib3.a

与 链接lib1时,缺少和lib2的符号。我的替代方法是手动导入并链接到它们。但这将导致所有依赖项构建两次。当存在许多依赖项时,手动处理变得非常困难。lib4lib5lib4lib5lib1

我正在考虑是否有办法lib2创建一个lib2-ALL包含来自 和 的所有内容lib2lib4大型库 () lib5。所以lib1只需要链接到lib2-ALL. 但是,我不确定如何在 CMake 中正确执行此操作。

管理这种多级第三方库依赖项的正确方法是什么?

4

0 回答 0