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

后端 未结 5 711
不知归路
不知归路 2020-12-30 11:43

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

相关标签:
5条回答
  • 2020-12-30 11:55

    I guess the question Delphi MSBuild Build Configuraions From Command Line contains the answer. Try

    msbuild /target:Build
    
    0 讨论(0)
  • 2020-12-30 11:56

    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]

    0 讨论(0)
  • 2020-12-30 11:59

    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

    0 讨论(0)
  • 2020-12-30 12:06

    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

    0 讨论(0)
  • 2020-12-30 12:12

    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.

    0 讨论(0)
提交回复
热议问题