On 29.02.2016 20:03, Sebastien Alaiwan wrote:
$ find projectA
./projectA/internal/math/algo.d
./projectA/internal/math/lcp.d
./projectA/internal/math/optimize.d
./projectA/gui/main.d

$ find projectB
./projectB/app/render/gfx.d
./projectB/app/render/algo.d
./projectB/app/physics/math/algo.d
./projectB/app/physics/math/lcp.d
./projectB/app/physics/math/optimize.d
./projectB/main.d

The directory "math" is shared between projects. It actually is an
external/submodule. So it has a standalone existence as a library, and
might one day be used by projectC.
(In the context of this issue, I'm using separate compilation).
[...]
Clearly, putting everyone back into the same "file namespace" by adding
every subdirectory of my project as import paths through the command
line is not going to scale.

How is not going to scale? You have to add an import path for every location where packages are to be found. How many such locations are you going to have that this is unreasonable?

With your example, you'd have -Iinternal in project A, and -Iapp/physics in project B. The module declaration would of course be `module math.optimize;`.

Reply via email to