Re: Compiling on Windows without unneccessary includes ?

Bob Friesenhahn <[email protected]> Tue, 31 Mar 2020 08:10:15 -0500 (CDT)
Newsgroups gmane.comp.video.graphicsmagick.help
Message-ID <[email protected]>
On Mon, 30 Mar 2020, Bob Friesenhahn wrote:

> On Mon, 30 Mar 2020, Bob Friesenhahn wrote:
>>> 
>>> /I jpeg/ /I lcms/include at the command line?
>>> 
>>> It seems to me more natural ... so why not replacing the places with it?
>> 
>> The reason for this is that it matches recommended include paths for the 
>> rest of the world and also matches the header file inclusion used by those 
>> projects, and projects using those projects.
>
> To clarify, even if the GraphicsMagick headers were to follow your 
> suggestion, other libraries such as libtiff would still be following the 
> standard/recommended conventions.

As another point of clarification, other than for Visual Studio 
builds, it is most common for third-party packages to support an 
'install' build target which copies header files and build products 
into a common area (e.g. under /usr/local).  After this is done header 
files for all third-party packages may be included using just one 
directory in the include path and one directory in the linker search 
path.

Since Visual Studio builds of packages like libtiff, lcms, etc., do 
not support a notion of being installed, the third-party software is 
being built and used in its uninstalled configuration with minimal 
modifications.

Even if we were to implement a way to 'install' header files into a 
common directory, there would be problems unless we were to also 
'install' build products like libraries because the header files and 
other source files are mixed together in the original package 
directories.  Packages such as webp and FreeType have very complex 
uninstalled footprints.  Unfortunately, some of the third-party 
packages mix test code/programs with other source code so it is 
difficult to tell one from another.

Perhaps a Visual Studio expert has a solution for these problems?

Bob
-- 
Bob Friesenhahn
[email protected], http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/
Public Key,     http://www.simplesystems.org/users/bfriesen/public-key.txt