Как скомпилировать проектную группу Delphi, используя MSBuild, вызываемый из Makefile Embarcadero - PullRequest
4 голосов
/ 12 апреля 2011

Я пытаюсь скомпилировать два компонента из 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, чтобы она принимала ее?

1 Ответ

7 голосов
/ 12 апреля 2011

В своих пакетных файлах я использую rsvars.bat:

call "C:\Program Files (x86)\CodeGear\RAD Studio\5.0\bin\rsvars.bat"
MSBuild SomeProject.dproj ...

(вам, очевидно, придется скорректировать путь.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...