这是问题所在。 我有两个库(A和B)和一个可执行文件-C,它们都使用它们。 我可以用两种方式描述项目
add_library(A ...)
add_library(B ...) target_link_libraries(B A)
add_executable(C ...) target_link_libraries(C B)
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,因为它们是静态库,不需要按顺序构建它们。
是否可能?