У меня возникли некоторые проблемы при получении проекта 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 не может быть неудачной для всех.