Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

AW: Compiler Einstellungen für mehrere Projekte

  Alt 13. Nov 2020, 12:14
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.




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.
$2B or not $2B

Geändert von himitsu (13. Nov 2020 um 12:20 Uhr)
  Mit Zitat antworten Zitat