是否可以使用MSBuildTools直接构建cmake项目

时间:2018-04-25 17:56:45

标签: cmake msbuild visual-studio-2017

目前我们计划将VS2017与cmake项目一起使用。在Visual Studio中,这非常像魅力。

现在想要在运行MSBuildTools的专用构建主机上运行构建作为CI的一部分。

是否可以使用msbuild命令直接运行构建,而无需使用cmake创建解决方案文件?最理想的是,我甚至会使用VS2017中使用的CMakeSettings.json。

2 个答案:

答案 0 :(得分:1)

使用CMake的{​​{3}}进行此操作。它使用基础默认构建工具MSBuild用于Visual Studio生成器。 从构建目录调用:

cmake --build . --target ALL_BUILD --config Release -- /nologo /verbosity:minimal /maxcpucount 

你得到一个快速,近乎安静的构建。要安装使用INSTALL目标,要在运行测试时使用RUN_TESTS目标。

答案 1 :(得分:0)

  

是否可以使用msbuild命令直接运行构建,而无需使用cmake创建解决方案文件?

     

是否可以使用msbuild命令直接运行构建,而无需使用cmake创建解决方案文件?

据我所知,CMake无缝地生成Visual Studio项目和解决方案。所以你可以制作项目/解决方案。

唯一棘手的部分是要记住在cmake文件中进行任何更改,而不是在Visual Studio中进行。

特别是,每个CMake项目都将创建一个Visual Studio解决方案(.sln文件),而属于该CMake项目的所有CMake目标将在相应的解决方案中显示为Visual Studio项目。

CMake       Visual Studio

project <-> Solution (.sln)
Target  <-> Project (.vcxproj)

您可以查看cmake-and-visual-studio了解详情。

由于MSbuild可以构建解决方案文件和项目文件,因此您也可以调用msbuild INSTALL.vcxproj

  

甚至可以使用VS2017中使用的CMakeSettings.json吗?

答案是肯定的,请查看the blog了解详细信息。

  

如果您的CMake项目需要其他设置来配置   正确CMake缓存,您可以通过创建一个来自定义这些设置   CMakeSettings.json文件与根目录在同一个文件夹中   的CMakeLists.txt。在此文件中,您可以指定尽可能多的CMake   您可以根据需要进行配置 - 您可以在它们之间切换   在任何时候。

     

您可以通过选择Project&gt;创建CMakeSettings.json文件。   修改设置&gt; path-to-CMakeLists(配置名称)菜单项。