cmake - 使用 CMake 链接两个依赖项目

标签 cmake

让我有两个项目 A 和 B。A 有一个结构:src、tests、vendor(3d 方库)。我想把同样结构的项目B放到A的src中。 A 和 B 是相关的(A 使用来自 B 的文件;B 使用来自 A 和 A 的供应商的文件)。我希望能够分别为 A 和 B 运行测试。有没有办法用 CMake 做到这一点?

最佳答案

正如 ComicSansMS 在评论中提到的,您想将其拆分为三个项目:A、B 和 C。新项目 C 包含 A 和 B 都使用的东西。不知道更多细节,很难建议您应该采取哪些具体行动来拆分项目。

就 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)

关于cmake - 使用 CMake 链接两个依赖项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22399034/

相关文章:

cmake - 在宏范围内设置 CMake 宏参数

c++ - CMakelist.txt 将外部标题和文件包含在文件夹中(boost 中的 odeint)

c++ - cmake -g 标志不生成 'DWARF with dSym file' 调试信息

c++ - 决定在 CMakeLists.txt 中写入什么——主要是在子文件夹中

c++ - 在 CMake 中,将属性(查找包含的目录)注入(inject)到依赖于给定 header 的文件

c++ - 如何只链接到 Conan 包中的某些库?

visual-studio - 如何在项目上同时支持 vcxproj 和 cmake?

c++ - 无法将库与 cmake 和 Visual Studio 2017 链接

cmake - 在 CMake 中对数字列表进行数字排序

c++ - 如何最好地为 Visual Studio 2017 构建的 CMake C++ 项目设置输出目录?