Я пытаюсь скомпилировать два компонента из Virtual Treeview (VirtualTreesR.bpl и VirtualTreesD.bpl), которые я объединил в группу проекта Delphi под названием VirtualTrees.groupproj. Они должны быть скомпилированы с использованием MSBuild, но этот вызов выполняется из Makefile (Embarcadero). Соответствующая часть в Makefile выглядит следующим образом:
msbuild.exe /nologo /v:m /t:build /p:Config=Release "$(VTVDIR)\Packages\Delphi 2010\VirtualTrees.groupproj"
К сожалению, это приводит к MSB4040, потому что переменная окружения BDS не установлена в cmd.exe, но находится в Makefile. Я пробовал SET BDS = $ (BDS) перед вызовом msbuild, но безрезультатно. Я также попытался установить BDS как свойство (/ p: BDS = ($ BDS); Config = Release), что вызвало другую ошибку (что-то вроде: Не удалось найти компилятор в% BDS% \ bin \ dcc32.exe).
Этот вызов из Makefile является частью подготовки к созданию нашего продукта на CI-сервере, и я не могу гарантировать, что там установлена переменная BDS. Итак, как я могу предоставить переменную BDS, которую я имею в Makefile для msbuild, чтобы она принимала ее?