我有一个使用
cmake
的 vcpkg
项目(我在我的存储库下添加了 vcpkg
作为 submodule
,并将 CMAKE_TOOLCHAIN_FILE
配置为指向 vcpkg.cmake
)。
现在我将 CLion 配置为通过
ssh
连接并在另一台计算机上构建 远程,但我不确定如何告诉它同步我的 vcpkg 文件夹,该文件夹位于 CMAKE_SOURCE_DIR
之外。
我还尝试将
vcpkg
submodule
放入 CMAKE_SOURCE_DIR
(即使我想将其分开),这有效,它会同步。
我也在想是否有某种方法可以控制 CLion 在远程计算机上执行
sync
的位置,我可以自己将 vcpkg
放在那里(相对于同步路径)并安装所需的软件包,但我没有也可以找到这个选项。
好的,我找到了如何为我的 ssh 连接路径设置远程:
File | Settings | Build, Execution, Deployment | Deployment
因此我可以自己在远程计算机上,相对于
vcpkg
路径克隆 Deployment
并安装所有软件包。
这工作得很好,我只需要记住在这两个地方安装任何新的软件包。
编辑:
我还发现了一个完全自动化的解决方案:
从相同的 CLion
Deployment
设置中,我实际上可以添加多个 mappings
,这样我就可以为我的源外 vcpkg
添加额外的文件夹同步。
最后,我认为 CLion 自动保持整个
vcpkg
与所有已安装的软件包同步是一种浪费,因为当我安装新软件包时我可以自己同步一次。 您需要向 CMAKE 参数添加一个路径,以告诉它 vcpkg 安装在远程主机上的位置,如下所示:
-DCMAKE_TOOLCHAIN_FILE=$HOME/.vcpkg-clion/vcpkg/scripts/buildsystems/vcpkg.cmake