Visual Studio CMake支持—Clang/LLVM、CMake 3.14、Vcpkg和性能改进

我们引入了一系列的改进来支持CMake Visual Studio 2019 Update 1的最新预览 . 最新版本包括Clang/LLVM支持,cmake3.14,更好 vcpkg公司 集成,以及更多增强功能。如果您不熟悉Visual Studio的CMake支持, 查看如何开始 .

null

Clang/LLVM支持

visualstudio现在为CMake项目支持Clang/LLVM,您现在可以使用Clang以Windows和远程Linux机器为目标。完整的IntelliSense与VisualStudio的全面调试支持一起受到支持。退房 我们的铿锵/LLVM岗位 更多信息。

Install the “Clang compiler for Windows” optional component as part of the “Desktop development with C++” workload.

具有性能改进和VisualStudio2019生成器的CMake 3.14

我们已将VisualStudio附带的CMake版本更新为3.14。此版本包括支持Visual Studio 2019的最新MSBuild生成器。您可以了解有关 CMake 3.14的新增功能 在CMake的发行说明中。

微软还与CMake社区合作,在3.14版本中推出了一种将ide与CMake接口的新方法,取代了CMake服务器模式。这对您意味着,许多CMake操作(尤其是配置)从现在开始会更快。如果你有兴趣了解更多这方面的知识,我们很快就会写一篇关于这方面的文章。

更好的Vcpkg集成

在visualstudio2019的第一个版本中,我们引入了basic 与vcpkg集成 . 在最新的预览中,我们与IntelliSense进行了更好的集成。现在,当您为丢失的库添加头文件时,如果vcpkg可用,我们将推荐如何使用vcpkg安装它。现在还有用于CMake的“findu package”指令的IntelliSense:

Install the “Clang compiler for Windows” optional component as part of the “Desktop development with C++” workload.

更简单的CMake构建和安装根

通过VisualStudio2019版本16.1预览版2,我们更新了本地和远程CMake项目的默认生成和安装根目录,使其更符合开源CMake项目设置的标准。当您在visualstudio中使用“CMake project”模板创建新的CMake项目时,或向现有项目添加新配置时,将使用以下生成和安装根目录。您可以随时通过修改的“Build root”和“Install root”(或“Remote Build root”和“Remote Install root”)属性来更改这些属性 CMake设置编辑器 .

当地CMake项目:

生成根目录:${projectDir}outBuild${name}安装根目录:${projectDir}outInstall${name}

远程CMake项目:

远程生成根目录:$HOME/.vs/${projectDirName}/${workspaceHash}/out/build/${name}远程安装根目录:$HOME/.vs/${projectDirName}/${workspaceHash}/out/install/${name}

所有的 CMakeSettings.json中使用的宏 可在此引用。在这些文件路径中:

  • ${projectDir}是根CMakeLists.txt文件的文件夹的完整路径
  • ${name}是配置的名称
  • ${projectDirName}是根目录的名称(与${projectDir}类似,但省略了路径的其余部分)
  • ${workspaceHash}是工作区位置的哈希。之所以使用它,是因为不能保证项目名称在目录中是唯一的。

这些更改还解决了Linux项目中旧的默认生成/安装根目录的问题 如果没有对文件夹(/var/tmp/…)的写入权限,则mkdir失败。

对默认CMake配置的更改

以前,VisualStudio中的新CMake项目将创建一个从未保存到光盘的默认配置。现在visualstudio将创建一个默认的“x64debug”或“x86debug”配置,该配置与您的机器的位匹配,并像普通配置一样保持不变。

增强了导入现有缓存的可定制性

我们添加了一种新方法来自定义如何将现有缓存导入VisualStudio。以前,如果您对CMake项目进行了更改,IDE将使用其初始设置重新运行CMake以刷新缓存并生成树。现在可以用任何驱动CMake缓存重新创建的自定义脚本或可执行文件替换该行为。如果您的项目使用外部脚本或自定义工具驱动CMake,那么现在可以将其与IDE完全集成。编辑、构建和调试复杂的代码库,而无需离开IDE并返回命令行。

要使用此功能,只需将“cacheGenerationCommand”设置为CMakeSettings.json文件中脚本或工具的命令行:

Cache generation command in CMakeSettings.json using a Python script to invoke CMake.

的日志记录 远程 Visual Studio中的连接

使用Visual Studio 2019,您可以 Linux和Windows的C++开发 从一个IDE的舒适。在VisualStudio2019版本16.1预览版2中,我们添加了 SSH连接 到远程系统。 这个 制造 更容易 诊断问题的步骤 远程连接 并提供在远程计算机上执行的命令的完全透明性。 日志包括连接, 发送到远程机器的所有命令(它们的文本、退出代码和执行时间),以及 从visualstudio写入shell。

登录中 适用于任何跨平台 CMake项目 MSBuild公司 基于Linux的项目 在Visual Studio中。  要启用日志记录,请导航到“工具” > 选项>跨平台> 登录中, 或搜索 “搜索中的“SSH日志记录” 在你的屏幕顶部的栏。

Remote connection logging settings under Tools > Options > Cross Platform.

你可以 配置 记录到文件或“跨平台记录”窗格 在里面 这个 输出窗口。 注意,对于 MSBuild公司 基于Linux项目,由 MSBuild公司 不会路由到输出窗口,因为它们是在进程外发出的。 但是,它们被记录到前缀为“msbuild”的文件中。

向我们发送反馈

您的反馈是确保我们提供最佳CMake体验的关键部分。  我们很想知道怎么做 Visual Studio 2019版本16.1预览版 2 为你工作。 如果您对CMake工具有任何疑问,请联系 cmake@microsoft.com 或者留下评论。 如果您发现任何问题或有任何建议,联系我们的最佳方式是 报告问题 .

© 版权声明
THE END
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞0 分享