[gdal-dev] cmake status update - 99% good news!

Even Rouault even.rouault at spatialys.com
Fri Feb 11 04:15:44 PST 2022


Kai,

there's a point I had in mind regarding your mention of static builds 
but forgot to mention. I consider GDAL static builds as inferior in term 
of capabilities compared to dynamic builds because:

- they don't allow to have GDAL drivers built as plugins : due to the 
design of GDAL drivers, plugins need to link against libgdal. You don't 
want each plugin to have its copy of libgdal. At runtime I'm not sure 
how that would behave regarding the multiple instances of the same GDAL 
symbols.

- and I don't believe you can build Python bindings against as static 
libgdal because we have several Python modules (gdal, ogr, osr, 
gdal_array) with each linking to libgdal. So if you ever managed to make 
them build, at runtime you'd get again several copies of the GDAL symbols

Without mentioning the size of the GDAL binaries with each of them 
embedding libgdal.

So even if I understand there are use cases for GDAL static builds 
(thanks for all the work you do on that side with your pull requests !), 
having them as the default in a distribution seems problematic to me.

Even

Le 25/01/2022 à 08:23, Kai Pastor, DG0YT a écrit :
> I made an initial attempt on gdal with cmake for vcpkg: 
> https://github.com/microsoft/vcpkg/pull/22392
>
> Now vcpkg's default is static linkage on Linux and macOS. AFAICT 
> static linkage is not covered very well. Fixing this needs a lot of 
> work either on the find modules, or on getting dependencies to provide 
> exported config. In some cases (e.g. GEOS), config files already 
> exist, but they are neither used nor a drop-in replacement (target 
> names differ).
>
> On the export side, all custom find modules must be made available to 
> the exported configuration if not burning the depended-on libraries 
> into the exported cmake config. Generating a complete gdal.pc needs 
> work, too. CMake doesn't provide any help ATM. (But note 
> https://gitlab.kitware.com/cmake/cmake/-/issues/22621.)
>
> This is not meant as an argument against shortening the release 
> schedule for cmake. I just want to underline that the CMake build 
> system will continue to need significant changes, including 
> user-facing changes.
>
> Kai Pastor
>
> _______________________________________________
> gdal-dev mailing list
> gdal-dev at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/gdal-dev

-- 
http://www.spatialys.com
My software is free, but my time generally not.



More information about the gdal-dev mailing list