Visual Studio中支持的CMake—在2017 15.3 update版本中有哪些更新

[原文发表地址] CMake support in Visual Studio – what’s new in 2017 15.3 update

[原文发表时间] 2017/05/10

我们很激动地宣布Visual Studio 2017 15.3 update 的第一个预览版和我们的 Build 2017 大会同一时间发布了。这次的预览版包括两个新功能,使用CMake的开发者都会对这两个功能感兴趣的。。包括开始支持CMake Ninja 生成器和在IDE中CMake CTest的集成。

请下载预览版本并试用最新的CMake功能。如果你刚刚开始使用CMake,可以通过博客 在Visual Studio中学习更多CMake支持功能 进行学习。我们期待你的反馈。

使用Ninja 生成器生成

你们反馈说希望可以支持更多的CMake build 生成器,我们采纳了。Visual Studio最新的预览版本中的CMake tools支持Ninja生成系统。请注意,这是一个预览版本所以还存在一些限制。Visual Studio中的CMake 工具当前只支持x86的生成并且和CTest是不兼容的。另外,Ninja 生成器现在只支持64位的OS。不过不用担心,这些限制都将会在15.3正式发布版本中被解决。

在使用Ninja 生成器之前,你需要编辑CMakeSettings.json 文件。如果你的文件夹中没有CMakeSettings.json文件,你可以右击CMakeLists.txt文件然后选择“更改CMake设置”打开或者创建CMakeSettings.json文件: Edit CMake Settings

如果你的文件夹中还没有添加一个CMakeSettings.json文件,你将看到下面的情形:CMake Settings JSON

如果你想使用Ninja 生成器,你可以在每一个配置里的“generator”设置中选择Ninja 生成器。如果你的文件夹中已经存在CMakeSettings.json文件,你需要将生成器从 "Visual Studio 15 2017”更新到 "Ninja"。注意,这里也仍然不支持x64配置。

在15.3预览版本中,x86的生成是默认选择Ninja 生成器,但是一旦在公开路径发布后这个也将被改变。

CTest集成

新的生成器是很强大的,但是要让开发者确信他们代码的质量也是很重要的。对于CMake 项目,解决这个问题比较推荐的方法来是使用CTest。有一个好消息,如果你已经使用了CTest,你将不需要做其他任何事。Visual Studio最新的预览版本应该检测到测试而不需要你做任何事情。 CTest Run Tests

如果你在CMake主菜单下没有看见 Run Tests” , 请先确保你的CMakeSettings.json文件正在使用Visual Studio CMake生成器 。这个限制也将会在后面的发布版本中被解决。

 一旦你从CMake主菜单下选择“Run Tests" 或者在CMakeLists.txt文件上右击选择“Run Tests",你的项目将会自动生成,测试将会运行。输出将会在CMake 输出窗口显示—Ctest还没有和Test Explorer整合。

给我们发送反馈

请试用最新的最强大的CMake功能,并且及时给我们发送反馈,请下载并安装最新的Visual Studio 2017 Preview。一如往常地,我们欢迎你的反馈。你可以通过邮箱visualcpp@microsoft.comTwitter @visualc或是Facebook Microsoft Visual Cpp发送任何评价。

如果你在使用Visual Studio 2017的过程中遇到了任何问题,无论是安装问题或是IDE本身问题,都可以通过Report a Problem让我们知道,如果有任何建议,可以通过UserVoice让我们知道。我们期待你的反馈!