首页 > 解决方案 > Cmake问题:如何使用vcpkg自动安装依赖?

问题描述

我正在linux机器上开发c++项目,它使用了几个boost库。我已经使用 vcpkg 将它们安装在我的系统上,并使用 vcpkg 提供的工具链构建它。我的问题是:如果要构建依赖项,如何定义依赖项以便它们自动安装在不同的系统上?柯南有办法通过在 conanfile.txt 中定义依赖关系来做到这一点。我如何对 vcpkg 做同样的事情?

Edit1:我发现autovcpkg可以完成我想要做的工作,但同样可以在 cmakelists.txt 中本地完成还是由 vcpkg 本身完成?

标签: c++cmakevcpkg

解决方案


我发现 autovcpkg 可以完成我想要做的工作,但同样可以在 cmakelists.txt 中本地完成还是由 vcpkg 本身完成?

CONTROL您可以通过提供一个和文件来为您的库或可执行文件编写一个 vcpkg 端口portfile.cmake。在 CONTROL 文件中定义所有依赖项和可能的功能,而 portfile 包含构建指令。您可以使用可以根据您的需要自定义的模板vcpkg create <myport> <url> <filename>来创建CONTROL和创建模板。portfile.cmake与端口叠加一起,此端口也可以被其他人使用,而无需合并到 vcpkg/master


推荐阅读