如何一起使用 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 中加载它。
解决方案是:
- 按照我在问题中写的和@valiano
的建议加载vcvarsall.bat
- 按照 this blog post
中的建议使用 buildbot
- 确保使用
CMAKE_IGNORE_PATH
找到 Visual C++ 编译器而不是 gcc,正如在由@Florian 链接的 中所建议的
第 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]
我的项目是由 builbot 使用 cmake 和 Visual Studio C++ 编译器构建的。
使用 "Visual Studio 14 2015 Win64" 作为生成器它可以工作,但构建速度很慢,我很难找到错误的来源(这是另一个问题)。
所以我想试试 Ninja,但是当我将它设置为生成器时,它选择了 GNU C++ 编译器。我发现我应该在调用 Ninja 之前加载 vcvarsall.bat 但我不明白如何从 buildbot 中加载它。
解决方案是:
- 按照我在问题中写的和@valiano 的建议加载
- 按照 this blog post 中的建议使用 buildbot
- 确保使用
CMAKE_IGNORE_PATH
找到 Visual C++ 编译器而不是 gcc,正如在由@Florian 链接的
vcvarsall.bat
第 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]