如何在 cmake 库中包含 libcurl

How to include libcurl in cmake library

我正在创建一个将 libcurl 作为依赖项的 cpp 库。我希望用户在他们的计算机上提供 libcurl 的路径。执行此操作的最佳方法是什么?

编辑:澄清一下,我正在 windows 上制作库,但我希望它是跨平台的

根据您的描述,您必须将搜索路径添加到 cmake 通过调用 [find_package]

尝试查找包时检查的路径列表中

如果你想支持链接libcurl共享对象(libcurl.so)的用户定义路径,你可以通过CMAKE_PREFIX_PATHcmake命令

用法示例

cmake -DCMAKE_PREFIX_PATH=<full_path_where_curl_is_installed> -B build -S .

假设构建工件将位于主项目的 build 子目录中(顶级 CMakeLists.txt 存在)并且使用的 cmake 版本是 3.16+

如果你想自己嵌入信息CMakeLists.txt,你可以启用curl的路径作为搜索路径

用法示例

在您的 CMakeLists.txt 中,在为 CURL

调用 find_package 之前添加以下行

list(APPEND CMAKE_PREFIX_PATH <full_path_where_curl_is_installed>)