Visual Studio与CMake

j7dteeu8  于 2023-08-05  发布在  其他
关注(0)|答案(2)|浏览(145)

在visual studio中有没有什么方法可以让你的项目CMakeLists.txt文件控制所有的东西,而不需要VS覆盖值?
这意味着如果我在CMakeLists.txt文件中设置CMAKE_INSTALL_PREFIX,visual studio将覆盖此值。我知道我可以在visual studio中将CMakeSettings.json设置到我想要的位置,但我想在cmake中控制我的整个构建系统,而不必维护cmake和visual studio。
注意:我使用的是VS 17。

gjmwrych

gjmwrych1#

在VS 2017之前,您将使用cmakeCMakeLists.txt生成Visual Studio解决方案。请参阅Using CMake to generate Visual Studio C++ project files
在这个工作流中,VS不会覆盖任何内容,因为它是CMake和VS之间的松散耦合。您仍然可以使用较新版本的VS进行相同的操作,并获得CMake和VS的全部优点。

rqenqsqc

rqenqsqc2#

此功能仅在Visual Studio 2019中可用,在VS 2022中不可用。

您可以在CMakeSettings.json中创建一个"Open Existing Cache"配置。Visual Studio只允许您建置或安装,但不会以任何方式产生或变更CMake快取。
要利用此功能,您可以:

  • 使用菜单项File -> Open -> CMake,并选择要处理的构建目录的CMakeCache.txt文件。请记住,Visual Studio会自动开启CMakeCache.txt档中指定的原始程式目录。
  • 在编辑CMakeSettings.json时右键单击JSON文本编辑器,或在CMake设置UI编辑器中添加新配置,创建新的“现有缓存”配置。有两种配置模板:
  • 打开现有缓存:当您在Windows机器上构建/调试时,请使用此模板;
  • 远程打开现有缓存:在远程Unix计算机上构建/调试时使用此命令;

相关问题