【发布时间】:2021-12-25 13:41:11
【问题描述】:
我是 CMake 的新手,
我想在我的 CMake 项目中使用 C++ 库 A。 这个库 A 作为一个 git 子模块包含在我的 CMakeFile 中,使用
add_subdirectory("extern/A")
到目前为止有效。
但是,我的库 A 有两个其他依赖项 B 和 C。它们包含在库 A 的 CMakeFile 中,使用 find_package()。
现在,我希望 CMake 构建这些依赖项 B 和 C,以便库 A 可以使用它们。我也想将 B 和 C 作为 git 子模块。
简单连接
add_subdirectory("extern/B")
add_subdirectory("extern/C")
add_subdirectory("extern/A")
显然不起作用。我认为在这里使用 add_dependencies 可以有所帮助,但我还没有找到让它工作的方法......
甚至可以在这里做我想做的事吗?如果是,有人可以提示我可能需要使用哪些命令吗?
【问题讨论】:
-
为什么 add_subdirectory() 不起作用并不明显。这些依赖项没有 CMakeLists.txt
-
@drescherjm 这些依赖都有一个 CMakeLists.txt。我得到的错误是
CMake Error in extern/A/src/A/CMakeLists.txt: export called with target "A" which requires target "B" that is not in any export set.
标签: c++ cmake git-submodules