[Insight-developers] PROPOSAL: Flattening headers directory structure at Install time
Mathieu Malaterre
mathieu.malaterre at gmail.com
Thu Apr 17 11:37:17 EDT 2008
On Thu, Apr 17, 2008 at 5:30 PM, Luis Ibanez <luis.ibanez at kitware.com> wrote:
>
> We have found a couple of issues with the method
> that we currently use for installing the ITK headers.
>
> The current method preserves the tree structure of
> the source three, namely:
>
>
> Common
> BasicFilters
> Algorithms
> etc....
>
>
> The consequence is that projects that use ITK must
> have all these directories in their include paths.
> This results in something like 10 different directories
> being added to the include paths.
>
> Since there are no name conflicts in the header files,
> we could copy all of them in a single directory.
>
> This will make a lot simpler for users to refer to
> ITK since they will only need to add one include
> directory to their path, and only one directory
> for the libraries.
>
> ITK coding style doesn't use the subdirectories
> explicitly. That is, we never do
>
> (A) #include "Common/itkImage.h"
>
> instead we do:
>
> (B) #include "itkImage.h"
>
>
> Which means that there shouldn't be any impact
> on ITK code itself.
>
> The potential problem will be for uses who may
> have decided to use the notation (A) instead of
> the recommended notation (B).
>
>
> This is a significant improvement for projects
> that not only used ITK but also link to other
> three or four libraries (e.g. VTK, QT, ...)
> and may reach limits of command line lengths.
>
>
> We could target ITK 3.8 for making this change
> on the installation process.
>
>
>
> Any thoughts ?
Yes: stop supporting broken systems...
More seriously this is completely handled transparently by CMake(*).
Anyway you might avoid this problem, but I am pretty sure that having
~2048 files in a single directory is *also* an issue on those broken
systems.
2 cents,
--
Mathieu
(*) oh I wish I had target_include_directories ;)
More information about the Insight-developers
mailing list