如何一起使用 buildbot、cmake、ninja 和 Visual Studio C++ 编译器

How to use together buildbot, cmake, ninja and Visual Studio C++ compiler

我的项目是由 builbot 使用 cmake 和 Visual Studio C++ 编译器构建的。

使用 "Visual Studio 14 2015 Win64" 作为生成器它可以工作,但构建速度很慢,我很难找到错误的来源(这是另一个问题)。

所以我想试试 Ninja,但是当我将它设置为生成器时,它选择了 GNU C++ 编译器。我发现我应该在调用 Ninja 之前加载 vcvarsall.bat 但我不明白如何从 buildbot 中加载它。

解决方案是:

  1. 按照我在问题中写的和@valiano
  2. 的建议加载vcvarsall.bat
  3. 按照 this blog post
  4. 中的建议使用 buildbot
  5. 确保使用 CMAKE_IGNORE_PATH 找到 Visual C++ 编译器而不是 gcc,正如在由@Florian
  6. 链接的 中所建议的

第 2 点通过添加以下行来总结编辑工人的 buildbot.tac 文件:

from subprocess import check_output
    for v in check_output(['path\to\vcvarsall.bat', 
                       'x86', '&&', 'set']).strip().split('\r\n'):
        v = v.split('=', 1)
        os.environ[v[0]] = v[1]