Сгенерировать проект CMake на VSTS Windows Host не удается из-за присутствия sh.exe в пути - PullRequest
0 голосов
/ 18 октября 2018

У меня возникли некоторые проблемы при получении проекта Cmake на контейнере Windows.

Сбой при вызове команды cmake (в частности: cmake -G CodeBlocks - MinGW Makefiles -DCMAKE_SH=CMAKE_SH-NOTFOUND -DCMAKE_BUILD_TYPE=Release ../) в агенте сборки Hosted VS2017 из-за обнаружения sh.exeв PATH:

CMake Error at C:/Program Files/CMake/share/cmake-3.12/Modules/CMakeMinGWFindMake.cmake:12 (message):
sh.exe was found in your PATH, here: C:/Program Files/Git/bin/sh.exe

A другой ответ переполнение стека заставил меня поверить, что предоставление аргумента -DCMAKE_SH=CMAKE_SH-NOTFOUND подавит такое поведение, но мне не повезло.

Удаление его из PATH вручную с помощью:

setx /M PATH "%PATH:C:/Program Files/Git/bin/sh.exe;=%"

Кажется, что не дает никакого эффекта (или, возможно, команды cmake build и cmd совместно используют один и тот же сеанс cmd, поэтомуизменение PATH не распространяется).

Из этого ответа может показаться, что я могу сохранить изменение PATH, используя Write-Host "##vso[task.setvariable variable=PATH;]${env:PATH};$newPath";.Прежде чем я совершу этот маршрут, я что-то упустил?Конечно, сборка CMake на агентах Windows VSTS не может быть неудачной для всех.

...