Ich habe bis auf ganz wenige Ausnahmen (z.B. CodeSite, weil es in der Regel nur lokal verwendet wird) gar keine Pfade auf Fremdbibliotheken in den globalen Bibliotheks-Pfaden. Insbesondere nicht auf dem Build-Server. Dort sind diese Bibliotheken auch nicht in der
IDE installiert.
Für das Projekt gibt es bei mir im Wesentlichen folgende Ordnerstruktur:
<root>\source
<root>\lib
<root>\
dcu
<root>\bin
source und
lib sind in der Versionsverwaltung,
dcu und
bin sind durch das ignore ausgeschlossen.
Alle Projekte (
dpr, dpk, dproj...) liegen in
source, die Units in der Regel in sinnvollen Unterverzeichnissen davon. Das hat den Vorteil, dass ich Option Sets mit den relativen Suchpfaden für alle Projekte verwenden kann.
lib ist der Sammelordner für Bibliotheken, die jeweils als submodules darunter liegen.
Für Bibliotheken, die nicht als Source in den Projekten eingebunden sind, gibt es eine Batchdatei zur Erzeugung der
DCU, DCP und
BPL-Dateien. Die sorgt auch dafür, dass die
DFM und RES Dateien in den
DCU-Ordner kopiert werden. Das ist dann ein eigener Ordner unterhalb
lib, der dann auch im Suchpfad des Projekts auftaucht. Ich verwende bewusst nicht den
dcu-Output Ordner, da ich den häufig einfach mal lösche.
Suchpfade auf Bibliotheks-Sourcen werden durch passend benannte Option Sets eingebunden. Nicht alle Projekte verwenden alle Bibliotheken.
Unterhalb von
dcu gibt es für jedes Projekt einen Unterordner mit der üblichen Platform/Config-Struktur. Der entsprechende Eintrag in den Projektoptionen dazu lautet
..\$(SanitizedProjectName)\$(Platform)\$(Config)
und ist wieder für alle Projekte gleich.