权,但事实上,你看不到的CMake在该托管代理托管生成代理能力的手段清单的目的不是要运行cmake构建。
当您添加的CMake构建步骤的构建定义时,发动机会自动添加的CMake作为诉求之一,因为the task definition要求:
"name": "CMake",
"friendlyName": "CMake",
...
"demands" : [
"cmake"
],
任务本身假定cmake.exe在PATH在构建代理上。看看this code:
try
{
$cmake = Get-Command cmake.exe
Write-Verbose ('Using {0}' -f $cmake.Path)
}
catch
{
throw (Get-LocalizedString -Key 'Unable to find {0}' -ArgumentList 'cmake.exe')
}
所以,尽管托管代理的工作原理是这样的设计,你无法控制这一点,这是你应该怎么做才能让另一个构建代理遵守的cmake:
- 在构建代理上安装cmake并确保cmake.exe位于路径中
- 将CMake添加为构建代理的功能。这可以通过在Web UI中添加自定义功能来显式完成,或者通过在构建代理上创建名为“cmake”的环境变量隐式完成,TFS将自动找到它。
希望这会有所帮助。
什么不起作用? –