[gdal-dev] Build question: GDAL with libwebp....

Andrew C Aitchison andrew at aitchison.me.uk
Tue Feb 13 10:45:03 PST 2024


On Tue, 13 Feb 2024, Carl Godkin via gdal-dev wrote:

> Hi,
>
> Sorry if this is an elementary cmake question but I am curious if there is
> a cleaner solution than I came up with.
>
> I'm trying to build GDAL 3.8.3 with WEBP support.
>
> I built libwebp 1.3.2 (the latest) without any problems, also using cmake.
>
> However, when building GDAL, the link on the shared library fails since
> WEBP seems to require TWO libraries (in the libwebp package), libwebp and
> libsharpyuv.
>
> My question is how can I persuade cmake to accept both libraries for
> WEBP_LIBRARY?
>
> I thought quotes would help.  What I think I ought to be able to do is
> something like
>
>   -DWEBP_LIBRARY="/usr/local/devlibs/libwebp-1.3.2/lib64/libwebp.a
> /usr/local/devlibs/libwebp-1.3.2/lib64/libsharpyuv.a" \
>
> or else
>
>   "-DWEBP_LIBRARY=/usr/local/devlibs/libwebp-1.3.2/lib64/libwebp.a
> /usr/local/devlibs/libwebp-1.3.2/lib64/libsharpyuv.a" \
>
> but both options produce link lines that include the double quotes!  This
> is an issue on Windows and Linux for me.

CMAKE is rather more verbose than that.

Compare
    gdal/frmts/webp/CMakeLists.txt
with
    gdal/frmts/png/CMakeLists.txt
for how the png driver uses libpng and zlib

You probably don't need the gdal_add_vendored_lib commands or the 
GDAL_USE_..._INTERNAL tests, since gdal is not bundling libwebp.

> I have a couple of workarounds that I won't bore you with, but I was
> wondering what the best practice is here (other than hand-editing the cmake
> output of course).
>
> I think that libwebp added the "sharpyuv" stuff at version 1.3.0 so perhaps
> using an older version would also work, but that doesn't seem sustainable.
>
> Thanks for suggestions,
>
> carl
>

-- 
Andrew C. Aitchison                      Kendal, UK
                    andrew at aitchison.me.uk


More information about the gdal-dev mailing list