让我有两个项目A& B. A有一个结构:src,tests,vendor(3d party libs)。我想将具有相同结构的项目B放入A的src中。 A和B是相关的(A使用来自B的文件; B使用来自A和来自A&#39供应商的文件)。我希望能够分别运行A和B的测试。有没有办法用CMake做到这一点?
答案 0 :(得分:1)
正如ComicSansMS在评论中所提到的,你想把它分成三个项目:A,B和C.新的项目C包含A和B都使用的东西。在不知道更多细节的情况下,它是&#39很难建议你应该采取什么行动来分割项目。
至于CMake构建由此产生的三部分项目,是的,它非常简单:
add_library(C c.cpp c2.cpp)
add_library(A a.cpp a1.cpp)
target_link_libraries(A C)
add_library(B b.cpp b2.cpp)
target_link_libraries(B C)
add_executable(test test.cpp)
target_link_libraries(test A B)