7

I am trying to get Hudson to work with my Delphi project. I am using the following batch file to build my project (as suggested in this blog post):

call "C:\Program Files\Embarcadero\RAD Studio\8.0\bin\rsvars.bat"
msbuild /p:Win32LibraryPath="$(BDS)\lib;$(BDS)\lib\win32\release;$(BDS)\lib\win32\debug;$(BDSUSERDIR)\Imports;$(BDS)\Imports;$(BDSCOMMONDIR)\Dcp;$(BDS)\include;" /t:build /p:config=Debug /verbosity:detailed "MyProject\src\MyProject.dproj"
if errorlevel 1 exit 1

I always end up with the error

Embarcadero Delphi for Win32 compiler version 22.0
Copyright (c) 1983,2010 Embarcadero Technologies, Inc.
Fatal: E2202 Required package 'rtl' not found

I don't understand this as rtl.dcp is in "$(BDS)\lib\win32\release" which is on the library path. I am using runtime packages by the way.

Any hints what I can do to solve this?

Edit It seems that the paths do not end up in the command line, which looks something like (after removing project-specific paths):

C:\Program Files\Embarcadero\RAD Studio\8.0\bin\dcc32.exe -$O- -$W+ --inline:off -$A4 -$R+ -$Q+ --doc --no-config -B -LUrtl;vcl;ReportingR;ComponentsR -Q -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE -DDEBUG;CONSTRAINT_CHECKING;_VER6;EUREKALOG_VER6;EurekaLog -V -VN -GD --drc -W-SYMBOL_DEPRECATED -W-SYMBOL_PLATFORM -W-UNIT_PLATFORM -W-UNIT_DEPRECATED   Myproject.dpr   
jpfollenius
  • 16,456
  • 10
  • 90
  • 156

2 Answers2

8

I found the answer in a comment to the original blog post. It turns out that in Delphi XE they changed the name of the Win32LibraryPath property to DelphiWin32LibraryPath. Changing the batch script accordingly fixes the issue.

jpfollenius
  • 16,456
  • 10
  • 90
  • 156
  • For me, it was ensuring that on the `Continua CI` build server, `MSBuild` had the `DelphiLibraryPath` property to get Delphi XE to build. XE2 and up worked fine. I'll write up a blog post after I got some other things to work. – Jeroen Wiert Pluimers Sep 04 '14 at 23:24
  • Delphi 2007, 2010: `Win32LibraryPath`, Delphi XE and up: `DelphiLibraryPath`. Delphi 2007: `Win32LibraryPath=%BDSRoot%\Lib\%Configuration%;%BDSRoot%\Lib`; Delphi 2010: `Win32LibraryPath=%BDSRoot%\Lib\%Configuration%;%BDSRoot%\Lib`, Delphi XE+: `DelphiLibraryPath=%BDSRoot%\Lib\%Platform%\%Configuration%` – Jeroen Wiert Pluimers Dec 15 '14 at 21:15
1

The first path $(BDS)\Lib for XE,XE2 and XE 10.2 should be change for $(BDSLIB)\$(PLATFORM)\release