Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Compiler Einstellungen für mehrere Projekte (https://www.delphipraxis.net/206045-compiler-einstellungen-fuer-mehrere-projekte.html)

HenrikLoe 12. Nov 2020 15:08

Compiler Einstellungen für mehrere Projekte
 
Hallo zusammen,

gibt es eine Möglichkeit über mehrere Projekte gleichzeitig die Compilereinstellungen zu ändern.

Aktuell ändern wir je Zielplattform (Debug, Release, 32Bit und 64Bit) und je Projekt einzeln die Compilereinstellungen über die Projektoptionen in der IDE. Bei vielen Projekten ist es sehr aufwendig eine Compilereinstellung bei allen Projekten zu ändern. Gibt es dafür einen Workaround, der die bisherige Arbeitsweise erleichtert?

himitsu 12. Nov 2020 15:28

AW: Compiler Einstellungen für mehrere Projekte
 
> was jetzt machen :
Wenn es nur um das Umschalten/Auswählen von BuildConfig und Zielplatform geht (Debug,Release,32Bit,64Bit),
dann BuildGruppen oder Ansicht/Konfigurations-Manager, bzw. die zwei Buttons/Dropdowns oben im Projektmanager


> einstellen was wo/wann gemacht werden soll (Ausgabepfade, Optionen, ...) :
Ich merge das aktuell über GitDiff, bzw. eine Schleife im FinalBuilder, von einem/mehreren Basisprojekten in die restlichen knapp 100 DPROJs.
Und schau grade eben, ob/wie ich das zum Großteil in OptionSets (optset) verschiebe.

http://docwiki.embarcadero.com/RADSt...tions_Overview
https://medium.com/@Zawuza/option-se...i-d60dab6e7e38



Ich darf alle DPROJs komplett neu erstellen,
weil Delphi nicht "richtig" in der Lage ist die Alten von XE zu 10.4 zu migrieren.




[add]
Vielleicht hilft auch https://www.uweraabe.de/Blog/2018/05...ject-magician/ etwas.

Uwe Raabe 12. Nov 2020 21:48

AW: Compiler Einstellungen für mehrere Projekte
 
Zitat:

Zitat von HenrikLoe (Beitrag 1477219)
gibt es eine Möglichkeit über mehrere Projekte gleichzeitig die Compilereinstellungen zu ändern.

Du kannst eine Optionsgruppe mit den Einstellungen erstellen und diese in die jeweiligen Projekte aufnehmen. Dann brauchst du die Einstellungen nur in der Optionsgruppe zu ändern.

himitsu 13. Nov 2020 11:14

AW: Compiler Einstellungen für mehrere Projekte
 
Im Grunde klang es erstmal schön, als ich vorgestern anfing zu schauen ob/was hier möglich ist, aber leider ist es unbenutzbar nur teilweise nutzbar.

Als es mal erfunden wurde, da gab es nur die BuildConfigs (Release/Debug/...)
aber inzwischen gibt es zusätzlich noch die Platformen (Win32/Win64/Android/iOS/...) dort mit reingemischt,
welche man total vergessen hatte, als man nun so schön neu angepriesen hat.
https://community.idera.com/develope...io-option-sets

Wenn man auch an die Zielplatformen ein OptSet hängen könnte, dann wäre es zwar ein Anfang,
aber dennoch fehlt immernoch ein Teil der Fälle, womit diese Erweiterung schlussendlich dennoch nutzlos wäre.

Einzige Lösung, die mit einfällt, wäre, wenn man im OptSet auch ein/mehrere Build+Platform-Konfigurationen hinterlegen könnte.
Und diese eventuell noch über ein optionales Mapping der BuildConfig-Namen zuweisen könnte.
(es gibt ja nicht nur die standardmäßigen Debug/Release und selbst das Base hieß auch schonmal Basis)

Also entweder mehrere Option-Sets in einer Datei,
aber diese Datei müsste dann mehrmals teilweise importiert werden.
> Jeweils der passende Tail an an solchen Stellen, wo aktuell die einzelnen OptSets importiert werden.

Oder weiterhin OptSets mit je nur einer Config, die aber nicht nur an die Build-Configs gehängt werden,
sondern an eine Kombination aus BuildConfig+Platform.





Zuerst sah es gut aus und da Delphi in den DPROJ keine ordentliche Reihenfolgen beibehält, was beim Mergen einige Problemchen bereitet, dachte ich es wäre eine gute Alternative, wenn gemeinsame Optionen ausgelagert werden können.
Aktuell nur Win32, somit könnte ich es hier nutzen (wenn es nur eine Platform gibt), aber da ich die aktuellen Änderungen an Delphi-Projekten und FinalBuilder versuche auch für Zukünftiges vorzubereiten (Win64/Android/...),
fällt das hier dann leider doch ins Wasser. :cry:




Auch mit BuildGruppen hab ich noch ein "zukünftiges" Problem:
* Aktuell sind die meisten Projekte DesignTime und Runtime.
* Wenn das Programm auf 64 Bit umgestellt würde, müssten diese Packages als 32-Bit und 64 bit kompiliert werden.
* * im FinalBuilder kein Problem
* * in IDE/Debugger dagegen schon
* * bei EXE und DLL wäre es egal, da sie dann nur als 64 Bit für's Programm benötigt würden

Selbst wenn ich hier alles strikt trenne, also DesignOnly und RuntimeOnly, gäbe es immernoch gemeinsam genutzte Packages, welche doppelt compiliert werden müssten.
Außer manuell über's AfterBuildScript das MSBuild mit der anderen Config anzustoßen, fiel mir jetzt nichts ein, damit das zuverlässig zusammen kompiliert wird, wobei hier in der IDE, bei den Packages, auch immer nur 32Bit aktiv sein muß, damit geladene DesignPackages sich kompilieren lassen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz