AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Compiler Einstellungen für mehrere Projekte
Thema durchsuchen
Ansicht
Themen-Optionen

Compiler Einstellungen für mehrere Projekte

Ein Thema von HenrikLoe · begonnen am 12. Nov 2020 · letzter Beitrag vom 13. Nov 2020
Antwort Antwort
HenrikLoe

Registriert seit: 27. Apr 2020
7 Beiträge
 
#1

Compiler Einstellungen für mehrere Projekte

  Alt 12. Nov 2020, 16:08
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?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Compiler Einstellungen für mehrere Projekte

  Alt 12. Nov 2020, 16:28
> 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.
$2B or not $2B

Geändert von himitsu (12. Nov 2020 um 17:34 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#3

AW: Compiler Einstellungen für mehrere Projekte

  Alt 12. Nov 2020, 22:48
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.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
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
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:49 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