如何将cmake生成的库链接到其他目录?

时间:2018-04-25 14:30:53

标签: c++ cmake

我有一个项目有自己的CMakeLists.txt

project/CMakeLists.txt

我需要将另一个Cmake项目编译成一个库,以便在我的项目中使用。这个其他项目已经有了自己的CMakeLists.txt非常复杂,我想使用它而不是指定如何在我自己的CMakeLists.txt中构建这个库。

这似乎是唯一的方法:

add_subdirectory(/path/to/my/other/project folder_in_my_project)

但它不会首先构建外部项目,所以我可以使用它生成的    在folder_in_my_project生成的库。

必须首先构建它,但由于行

,它不会被构建
add_library(libjrtp STATIC IMPORTED)
SET_PROPERTY(TARGET libjrtp PROPERTY IMPORTED_LOCATION jrtplib/src/libjrtp.a)

它需要libjrtp.a,但libjrtp.a只会在构建完所有内容后构建。

我知道我在这里问的太多了,但是在cmake docs上没有关于这种行为的文档

1 个答案:

答案 0 :(得分:1)

您需要将库添加为依赖项。

add_dependencies(libjrtp)