Como posso fazer com que o msbuild faça uma construção completa de um projeto Delphi equivalente a DCC32 -B?

StackOverflow https://stackoverflow.com/questions/1773546

  •  21-09-2019
  •  | 
  •  

Pergunta

Como posso fazer com que o msbuild faça uma construção completa de um projeto Delphi equivalente a DCC32 -B?

Eu tenho dois projetos que estou tentando construir, o primeiro usa algumas defines condicionais, que estão sendo passadas via msbuild para o DCC32. No entanto, algumas unidades comuns parecem estar presas com o primeiro conjunto de condicionais, portanto o segundo projeto é construído de maneira inadequada.

Foi útil?

Solução

Eu acredito que é /t: reconstruir, a saída MSBuild lista "Excluindo o arquivo: ..." para todos os DCUs e depois constrói o projeto.

Eu uso um arquivo em lote para ligar para o msbuild para construir projetos Delphi, para Delphi 2007 e Delphi 2009 (que apenas tem um caminho diferente para %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

Observe, de essa questão, para lançamento "Build Configuration", Delphi 2009 é /p:config=Release, e Delphi 2007 é /p:Configuration=Release]

Outras dicas

Eu acho a pergunta Delphi msbuild construir configurações da linha de comando contém a resposta. Tentar

msbuild /target:Build

Como me lembro em D7, houve um problema semelhante quando a GUI vs DCC32 produziu diferentes construções. Dê uma olhada no local e no conteúdo do (s) arquivo (s) DCC32.CFG. Na verdade, eles podem conter tantos condicionais necessários. Um por linha condicional

Outra opção é excluir os DCUs das unidades compiladas após a conclusão da sua primeira compilação e antes de iniciar o próximo.

Com meu Rad Studio 2010 Professional, /t:rebuild não está definido. imaginei

MSBuild.exe /t:Build /p:config=Release;DCC_BuildAllUnits=true

faz o trabalho

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top