2010-06-17 3 views
7

ich die Linie unten bin mit einem Delphi 2010 groupproj haben MSBuild bauen:Wie kann ich einen Parameter über MSBuild an den Compiler übergeben?

MSBuild C:\src\myprojgroup.groupproj /target:Build /p:config=Release 

ich herausfinden kann, wie die Zeile oben zu ändern, so dass ich

dieses Argument übergeben kann
-EC:\mypath 

an den Compiler (bcc32.exe).

Ich habe ziemlich viel Zeit damit verbracht, dies im Internet zu finden./property: name = value schien mir das zu sein was ich brauche, aber bisher nicht.

Ist dies überhaupt möglich, oder muss ich jetzt über MSBUILD Konfigurationsdateien lernen ...

Antwort

4

Ändern Sie Ihre Build-Konfiguration in Delphi oder manuell selbst in der .DPROJ-Datei. Wenn Sie die Release-Konfiguration selbst an einem dieser Orte ändern, ist alles in Ordnung.

Alternativ können Sie die Datei .dproj ansehen und sehen, welche Einstellung die gewünschte Einstellung hat (z. B. "IncludePath" oder "OutputDir"). Sie können dann den Msbuild-Schalter/property verwenden. Zum Beispiel:

msbuild /property:WarningLevel-2;OutputDir=bin\Debug myproj.dproj 

Sie diese Befehlszeilenoptionen und Beispiele unter Verwendung der folgenden in einem Befehlsfenster Prompt sehen:

msbuild /? | more 

Eine schnelle Überprüfung eines .dproj Datei von D2007 zeigt an, du bist wahrscheinlich auf der Suche nach entweder den DCC_IncludePath oder DCC_UnitSearchPath Eigenschaften.

+0

Genau das, was ich gesucht habe, Ken. – RobertFrank

7

Tom -

das Projekt zu öffnen in der IDE Wahrscheinlich wäre der einfachste Weg, dies zu tun , legen Sie die Einstellungen in der IDE fest, die Sie möchten, und speichern Sie dann.

Noch besser wäre es, eine spezifische Build-Konfiguration für diese Einstellungen einzurichten und diese zu verwenden.

Die IDE verwendet MSBuild selbst, daher werden alle Einstellungen, die Sie in der IDE vornehmen, in der * .DPROJ-Datei (oder GROUPPROJ, in Ihrem Fall) gespeichert, und wenn Sie die Befehlszeile ausführen, sind genau dieselben Einstellungen verwendet wie in der IDE festgelegt. Wenn Sie für diese spezifische Gruppe von Optionen eine spezifische Build-Konfiguration verwenden, können Sie diese Konfiguration einfach in der Befehlszeile aufrufen, und Sie erhalten, was Sie wollen.

In anderen, kürzeren Worten: Lassen Sie die IDE die Arbeit für Sie erledigen.

+0

Das funktioniert nicht immer, wenn automatisierte Builds ausgeführt werden, die etwas anderes als die IDE ausführen müssen. Wir verwenden FinalBuilder, um mit diesen Situationen umzugehen. –

+0

Siehe http://stackoverflow.com/questions/2373991/what-are-the-msbuild-project-level-properties-for-delphi für weitere Eigenschaften, die Sie festlegen können –

+0

Robert - das ist, was verschiedene Build-Konfigurationen sind. ;-) Sie können all Ihre Build Configuration-Verwaltung in der IDE ausführen und dann FinalBuilder (ein hervorragendes Tool) für die verschiedenen Builds basierend auf Konfigurationen erstellen. –

Verwandte Themen