这是问题所在 . 我有两个库(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,因为它们是静态库,并且不需要按顺序构建它们 .
它可能吗?