如何在 cmake 库中包含 libcurl
How to include libcurl in cmake library
我正在创建一个将 libcurl 作为依赖项的 cpp 库。我希望用户在他们的计算机上提供 libcurl 的路径。执行此操作的最佳方法是什么?
编辑:澄清一下,我正在 windows 上制作库,但我希望它是跨平台的
根据您的描述,您必须将搜索路径添加到 cmake 通过调用 [find_package]
尝试查找包时检查的路径列表中
如果你想支持链接libcurl
共享对象(libcurl.so
)的用户定义路径,你可以通过CMAKE_PREFIX_PATH
从cmake
命令
用法示例
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>)
我正在创建一个将 libcurl 作为依赖项的 cpp 库。我希望用户在他们的计算机上提供 libcurl 的路径。执行此操作的最佳方法是什么?
编辑:澄清一下,我正在 windows 上制作库,但我希望它是跨平台的
根据您的描述,您必须将搜索路径添加到 cmake 通过调用 [find_package]
如果你想支持链接libcurl
共享对象(libcurl.so
)的用户定义路径,你可以通过CMAKE_PREFIX_PATH
从cmake
命令
用法示例
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>)