我正在Linux机器上进行c ++项目,它使用了几个Boost库。我已使用vcpkg将它们安装在系统上,并使用vcpkg提供的工具链进行构建。我的问题是: 我如何定义依赖项,以便在构建依赖项时将它们自动安装在其他系统上? 通过在conanfile.txt中定义依赖项,柯南可以做到这一点。如何使用vcpkg进行相同操作?
Edit1:我发现autovcpkg可以完成我想做的工作,但是可以在cmakelists.txt内部还是由vcpkg本身完成相同的工作?
答案 0 :(得分:1)
我已经找到了autovcpkg,它可以做我想做的工作,但是可以在cmakelists.txt内部还是由vcpkg本身完成相同的工作?
您可以通过提供CONTROL
和portfile.cmake
文件来为您的库或可执行文件编写vcpkg端口。在CONTROL文件中,您定义所有依赖项和可能的功能,而portfile包含构建指令。您可以使用vcpkg create <myport> <url> <filename>
从可以根据需要定制的模板创建CONTROL
和portfile.cmake
。
连同端口覆盖层,该端口也可以供其他人使用,而无需合并到vcpkg / master
答案 1 :(得分:0)
如果您将 vcpkg 作为项目的子模块,define a manifest 用于您希望 vcpkg 构建的库,并且正在使用 vcpkg CMake 工具链 - 那么您将获得所需的一切。
$ git clone .../my_project
$ cd ./my_project
$ git submodule update --init
$ mkdir ../build
$ cd ../build
$ cmake ../my_project
-- Running vcpkg install
-- Running vcpkg install - done
...