假设我有一个带有自己的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)