假设我有一个带有自己的CMakeLists.txt的项目:

project/CMakeLists.txt


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

这似乎是唯一的方法:

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上没有关于此行为的文档

最佳答案

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

add_dependencies(libjrtp)

09-30 11:48