GetMem,
There is an situation on mORMot Packages (since we published, but I haven't time until now) that is inconvenient.
If I add two packages (or more) like `momort_base`, `mormot_rest`, and `mormot_sqlite3` I got messages like this:
Warning: other unit files search path (aka unit path) of "mormot_sqlite3 1.18" contains "<PATH>\lib", which belongs to package "mormot_base"
Warning: other unit files search path (aka unit path) of "mormot_rest 1.18" contains "<PATH>\lib\SQLite3", which belongs to package "mormot_sqlite3"
Warning: other unit files search path (aka unit path) of "mormot_base 1.18" contains "<PATH>\lib", which belongs to package "mormot_sqlite3"
Note: Duplicate unit "mORMotWrappers" in "mormot_base 1.18", orphaned ppu "<PATH>\lib\Packages\lib\i386-win32\mORMotWrappers.ppu"
Note: Duplicate unit "mORMotWrappers" in "mormot_rest 1.18", ppu="<PATH>\lib\Packages\lib\i386-win32\mORMotWrappers.ppu", source="<PATH>\lib\SQLite3\mORMotWrappers.pas"
The simpler way to fix that is having different source directories for each package — like Zeos does, for example.
Another option is having just one or two packages, as all sources stay (almost) together, however this issue could happen, anyway... but less.
Finally, I can think in one package with just basic units added, because some units is used just with another packages — again Zeos + SynDBZeos — and if the user doesn't have such libs, he/she couldn't compile. But, without those units added, it is possible to compile *and* having others (SynDBZeos) in PATH, just in case.
I will ask Arnaud about these options. But what do you think is the best?