c++ - Cmake问题:如何使用vcpkg自动安装依赖?
问题描述
我正在linux机器上开发c++项目,它使用了几个boost库。我已经使用 vcpkg 将它们安装在我的系统上,并使用 vcpkg 提供的工具链构建它。我的问题是:如果要构建依赖项,如何定义依赖项以便它们自动安装在不同的系统上?柯南有办法通过在 conanfile.txt 中定义依赖关系来做到这一点。我如何对 vcpkg 做同样的事情?
Edit1:我发现autovcpkg可以完成我想要做的工作,但同样可以在 cmakelists.txt 中本地完成还是由 vcpkg 本身完成?
解决方案
我发现 autovcpkg 可以完成我想要做的工作,但同样可以在 cmakelists.txt 中本地完成还是由 vcpkg 本身完成?
CONTROL
您可以通过提供一个和文件来为您的库或可执行文件编写一个 vcpkg 端口portfile.cmake
。在 CONTROL 文件中定义所有依赖项和可能的功能,而 portfile 包含构建指令。您可以使用可以根据您的需要自定义的模板vcpkg create <myport> <url> <filename>
来创建CONTROL
和创建模板。portfile.cmake
与端口叠加一起,此端口也可以被其他人使用,而无需合并到 vcpkg/master
推荐阅读
- javascript - 在唯一 ID 上合并两个数组
- reactjs - 在 React 路由器中无需重新渲染的 URL 更改
- xcode - 错误:无法生成进程(参数列表太长)
- json - 错误 json.decoder.JSONDecodeError:预期值:第 1 行第 1 列(字符 0)
- linux - 根据新版本的 config.yaml 文件,Linux 环境中 Iotedge 的非活动状态
- docker - 如何限制 docker 容器只监听来自 localhost 的连接?
- sql - 如何根据 30 分钟的时间间隔检索时间戳列的最小和最大时间?
- ios - swift deinit方法没有调用
- azure - Powershell AzureADPreview cmdlet Set-AzureADApplication“PreAuthorizedApplications”参数的正确语法是什么?
- shell - 当 Shell 脚本实际失败时,Jenkins 总是 SUCCESS 状态