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
and...@aitchison.me.uk
_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/gdal-dev