如何在TeamCity中构建Delphi项目

时间:2015-11-06 10:11:37

标签: delphi compiler-errors msbuild teamcity

我正在尝试在TeamCity中构建一个delphi项目,但我无法让它工作。

我正在使用MSBuild构建项目,并且还在构建中添加了BDS参数,但我一直收到错误:MSB4040项目中没有目标。

2 个答案:

答案 0 :(得分:3)

您需要注意几件事情。首先,需要设置Delphi所需的各种环境变量和路径。其中大部分是由rsvars.bat批处理文件完成的,但您可以设置自己的批处理文件。其次,需要正确设置EnvOptions.proj文件以匹配构建计算机上的环境。此文件位于%APPDATA%\ Embarcadero \ xx,x \中,其中xx.x是您的Delphi版本。

以下评论的CMD文件是我用来在TFS环境中构建Delphi XE7应用程序的文件,应该与TeamCity和其他构建工具一起使用: -


@echo off
:::
::: Example for Build Delphi Project with MSBuild
:::

echo.
echo using MSBuild from VStudio 2013
echo.
SET MSBUILD_EXE=C:\Program Files (x86)\MSBuild\12.0\bin\MSBuild.exe

echo.
echo A copy of a Delphi installation from a developers machine is ok. MSBuild calls dcc32/dcc64, not the IDE.
echo The build targets are included in "$(DelphiInstallDir)\bin\CodeGear.Delphi.Targets".
echo DefaultTarget is "Make"
echo.

echo.
echo Set Delphi XE7 Vars
echo.

SET BDS=C:\DelphiXE7
SET BDSBIN=%BDS%\bin
SET BDSLIB=%BDS%\lib
SET BDSTMP=%BDS%\Temp

echo.
echo On a local Delphi developer machine the actual used Delphi settings are located here: 
echo "%APPDATA%\Embarcadero\BDS\15.0\EnvOptions.proj"
echo.
echo The directories and files included in "EnvOptions.proj" must exist on the build machine!!!
echo.
echo Copy the (maybe modified) Delphi settings on your build machine to %APPDATA%\Embarcadero\BDS\15.0
echo.
MKDIR "%APPDATA%\Embarcadero\BDS\15.0"
COPY /Y /B /V "%BDSTMP%\EnvOptions.proj" "%APPDATA%\Embarcadero\BDS\15.0\EnvOptions.proj"

echo.
echo Set the Delphi Project Vars
echo.
SET PROJECT_SRC=C:\MyProjectSource
SET PLATFORM=Win32
SET CONFIG=Debug

echo.
echo Build Delphi Project with MSBuild 
echo.
echo + /p = Parameters for the Delphi Project Build
echo.
echo + /t = Targets to be executed, e.g. Clean and Build 
echo.
"%MSBUILD_EXE%" "%PROJECT_SRC%\myProject\myProject1.dproj" /p:Config=%CONFIG%;Platform=%PLATFORM% /t:Clean;Build

IF NOT ERRORLEVEL 0 GOTO ERROR

GOTO END

:ERROR
echo.
echo There were errors!
echo.
pause
EXIT

:END
pause

答案 1 :(得分:0)

您可以按照以下步骤纠正要使用MSBuild构建的安装团队:

首先,您应该在teamcity上定义用于声明rsvars.bat设置的环境变量的参数,然后在Project中访问参数并创建一个新配置,选择环境变量类型,设置相同的名称并rsvars.bat文件又称为BDS,BDSCOMMONDIR等所有值。

之后,在msbuild步骤中,将目标选项编辑为“ build”。

您可以看到此信息记录在http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Building_a_Project_Using_an_MSBuild_Command

在这里您可以看到我的参数配置 Params Configuration Sample

这是MSBuild Project配置 MSBuild Step Configuration Sample