[gdal-dev] Improving details of the project build system and/or documentation
Even Rouault
even.rouault at spatialys.com
Sun May 28 13:14:15 PDT 2023
Hi Sean,
>
> Using the CMake files as a source of truth helps. But they don't
> describe everything. For example, they don't explain that GDAL needs
> libhdf5 to be built with special features. That one stumped me for a
> while. I was seeing a build message like "HDF5 not detected (found
> version 1.12.1)". I finally found the clue in the vcpkg repo.
==> https://gdal.org/development/building_from_source.html#hdf5: "The
HDF5 CXX library is needed for the KEA
<https://gdal.org/drivers/raster/kea.html#raster-kea> driver."
That said, it isn't obvious to realize that detection of HDF5 fails
because of that. That's a bit of a downside with CMake FindXXXX modules
whose output isn't always very helpful.
Actually, I've changed the logic in
https://github.com/OSGeo/gdal/pull/7851 to only check for HDF5 CXX if we
have found libkea before. That reduces the requirements to what is
really needed.
>
> Also, the CMake files don't explain that the GDAL MBTiles driver
> depends on the OGR MVT driver.
Also fixed per https://github.com/OSGeo/gdal/pull/7851. It is easy to
miss capturing such dependencies to a driver that is built-in by default
Even
>
>
> On Mon, May 22, 2023 at 8:53 AM Even Rouault
> <even.rouault at spatialys.com> wrote:
>
> Hi Sean,
>
> I presume you got this because you defined
> OGR_BUILD_OPTIONAL_DRIVERS=OFF which then cause
> OGR_ENABLE_DRIVER_AVC to be set to OFF.
>
> We already a quite overwhelming amount of documentation in
> https://gdal.org/development/building_from_source.html about all
> the existing variables, and I'm not sure adding an exhaustive list
> of all the inter driver dependencies will be user-digestable and
> could rot easily.
>
> That said in https://github.com/OSGeo/gdal/pull/7806 I've tried to
> improve the current error message with a hint for the reason for
> the error and the (likely) reason for it to happen.
>
> I've also added pointers in the doc page to the CMakeLists.txt
> files where the dependencies are expressed. Hopefully people who
> are in the business of making custom GDAL builds can make sense of
> that.
>
> Even
>
> Le 20/05/2023 à 01:26, Sean Gillies a écrit :
>> Hi all,
>>
>> I really appreciate the documentation at
>> https://gdal.org/development/building_from_source.html. But there
>> are gaps. For example, today I ran into
>>
>> CMake Error at cmake/helpers/GdalDriverHelper.cmake:331 (message):
>> GDAL_ENABLE_DRIVER_AIGRID cannot be enabled because condition
>> OGR_ENABLE_DRIVER_AVC is not met. To ignore this error (but the
>> driver
>> will not be built), set the GDAL_IGNORE_FAILED_CONDITIONS variable
>>
>> This dependence isn't documented. It's a bit frustrating to work
>> through missing directives one at a time when adding new drivers
>> to my build.
>>
>> Is it possible for a driver's dependencies to be enabled when I
>> enable a driver?
>>
>> If not, can we consider using GDAL maintenance funding and
>> resources on documenting the heck out of this system?
>
>
>
> --
> Sean Gillies
>
> _______________________________________________
> 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20230528/6fd2cd68/attachment-0001.htm>
More information about the gdal-dev
mailing list