#include "somelib/some.h"
int main(){}
我有一个 3rd 方库,其结构相当困惑,但它使用 CMake。我如何将该库添加到我的项目中,以便我可以像上面所写的那样使用它?
我必须自己手动构建和移动每个文件还是有快捷方式?
类似的东西
mkdir lib
mv path/somelib lib
在我的 CMakeLists.txt 中我可以添加类似的内容
ADD_CMAKE_LIB(${CMAKE_BINARY_DIR}/lib/somelib)
一切都会神奇地发挥作用吗?
最佳答案
您可以使用以下选项之一:
- 从您的项目中构建第 3 方库,将其安装在任何位置并编写您自己的库,例如,在项目中使用 FindMessyLib.cmake 来搜索特定 header 和库
- 在源代码管理下添加
/ext/yourmessylib 并使用 add_subdirectory (ext/yourmessylib) 位于顶级 CMakeLists.txt 项目文件中 - 使用ExternalProject_Add 。示例可见here .
就我个人而言,我更喜欢第二种方法与git子模块相结合。如果不使用 git - 我会投票给第三。
关于添加使用 CMake 的库的 CMake 工作流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25382890/