CMake库依赖关系和构建顺序

时间:2018-03-13 14:44:32

标签: cmake

这是问题所在。 我有两个库(A和B)和一个可执行文件-C,它们都使用它们。 我可以用两种方式描述项目

方法1:

add_library(A ...)

add_library(B ...) target_link_libraries(B A)

add_executable(C ...) target_link_libraries(C B)

方法2:

add_library(A ...)

add_library(B ...)

add_executable(C ...) target_link_libraries(C A B)

在第一种情况下,在Visual Studio中构建项目C时,它按顺序构建它们:A,然后是B,然后是C. 在第二种情况下,Visual Studio并行构建A和B,然后构建C。

当然,我喜欢第二种方式 - 构建速度更快。 当然,我想使用第一种方式 - 因为我不必列出项目C中的所有库依赖项。

也就是说,我希望CMake理解在链接C时,它应该添加库A,即使我没有在target_link_libraries(C B)命令中指定它。而且,我希望Visual Studio并行构建A和B,因为它们是静态库,不需要按顺序构建它们。

是否可能?

0 个答案:

没有答案