Search code examples
delphimsbuilddcc32

How can I get MSBuild to do a full build of a Delphi project equivalent to dcc32 -b?


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 defines, which are getting passed via msbuild to the dcc32. However, some common units appear to be stuck with the first set of conditionals, so the second project is built improperly.


Solution

  • 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]