库上的CMake和target_link_libraries取决于另一个库

时间:2014-08-07 15:44:49

标签: c++ cmake

我正在使用CMake构建不同的C ++库,整个事情可以总结如下:

  • lib a:什么都不依赖
  • lib b:取决于

我现在需要创建一个依赖于b的lib c。我是否只需要在b上链接c?或者在b和a上因为b取决于?

target_link_libraries(c b)或target_link_libraries(c b a)?

由于

1 个答案:

答案 0 :(得分:8)

在你的代码构建库b中,你应该告诉CMake b依赖于:

target_link_libraries(b a)

然后,您的库/应用程序c只能链接到它使用的内容,而不必担心依赖项的依赖性:

target_link_libraries(c b)

图书馆a将为您提供。