How can I get MSBuild to do a full build of a Delphi project equivalent to dcc32 -b?
I\'ve got two projects I\'m trying to build, the first one uses some conditional
I guess the question Delphi MSBuild Build Configuraions From Command Line contains the answer. Try
msbuild /target:Build
I believe it's /t:rebuild, the msbuild output lists "Deleting file: ..." for all the dcu's, then builds the project.
I use a batch file to call msbuild to build delphi projects, for Delphi 2007 and Delphi 2009 (which just has a different path for %BDS%
):
set DCC_Quiet=true
set BDS=%ProgramFiles%\CodeGear\RAD Studio\5.0
set MSBuildBinPath=%WinDir%\Microsoft.NET\Framework\v2.0.50727
call %MSBuildBinPath%\msbuild /nologo /t:rebuild /p:config=Release %1 %2 %3 %4 %5
[Note, from this question, for Release "Build Configuration", Delphi 2009 is /p:config=Release
, and Delphi 2007 is /p:Configuration=Release
]
With my RAD Studio 2010 Professional, /t:rebuild
is not defined. I figured
MSBuild.exe /t:Build /p:config=Release;DCC_BuildAllUnits=true
does the job
As I remember in D7 there was a similar problem when GUI vs dcc32 produced different builds. Take a look at location and content of your dcc32.cfg file(s). They actually can contain as many conditionals as you need. One conditional per-line
Another option is to delete the DCU's of the compiled units after your first build is complete and before you start your next one.