TFS 如何构建基于 Visual Studio 的“打开文件夹”CMake 项目

BTo*_*TKD 5 tfs arm cmake visual-studio-2017

我有一个 ARM-GCC 项目,它是使用 Visual Studio 的本机“打开文件夹...”CMake 项目支持(在 VS2017 中引入)配置和构建的。我们所有需要的构建设置都存储在 CMakeSettings.json 中。

我想使用我们的 TFS 持续集成服务器构建这个项目。

我已经确认我们的构建服务器包含 Visual Studio 2017 安装程序“开箱即用”提供的所有先决条件 - CMake、Ninja 和 ARM-GCC 编译器。这些工具都安装到“标准”Visual Studio 工具位置:

  • C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake
  • C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Linux\gcc_arm
  • 等等。

当我们使用 Visual Studio 的"File" -> "Open Folder..."方法打开项目时,这些工具“开箱即用” 。然而,在 TFS 中,我们似乎无法构建解决方案。我在构建定义中尝试了几种不同的方法......

选项 1:“Visual Studio”任务

这种方法抱怨缺少 sln/proj 文件:

指定项目或解决方案文件。当前工作目录不包含项目或解决方案文件。

这里没有项目或解决方案文件,因为它是一个“打开文件夹”项目,以CMakeSettings.json文件,而不是...

选项 2:“MSBuild”任务

我还没有找到一组能够使用 MSBuild 构建 CMake 项目文件夹的命令行选项。

选项 3:“CMake”任务

将 CMake 任务添加到构建定义时,构建服务器抱怨它不满足自动生成的“cmake”能力先决条件,尽管 Visual Studio 已安装 cmake 工具。

有没有人成功完成了 Visual Studio 托管的“打开文件夹...”CMake 项目的 TFS 自动构建?