[gdal-dev] Build question: GDAL with libwebp....
Kai Pastor, DG0YT
dg0yt at darc.de
Wed Feb 14 21:06:33 PST 2024
Am 15.02.24 um 00:42 schrieb Carl Godkin:
> Hi Kai,
>
> > To pass lists into cmake, you usually need ';' as item separator.
>
> Thanks for the suggestion. I am sure I am missing something but
> inserting a semi-colon on the Linux command line appears to require it
> be escaped.
>
> When I pass this:
> -DWEBP_INCLUDE_DIR:PATH=/usr/local/devlibs/libwebp-1.3.2/include \
> -DWEBP_LIBRARY=/usr/local/devlibs/libwebp-1.3.2/lib64/libwebp.a\;/usr/local/devlibs/libwebp-1.3.2/lib64/libsharpyuv.a \
> the link line comes out with the semi-colon (and also quoted):
>
> "/usr/local/devlibs/libwebp-1.3.2/lib64/libwebp.a;/usr/local/devlibs/libwebp-1.3.2/lib64/libsharpyuv.a"
>
>
> Or were you suggesting a different syntax?
Did you try to quote for the linux command line, instead of escaping:
"-DWEBP_LIBRARY=/usr/local/devlibs/libwebp-1.3.2/lib64/libwebp.a;/usr/local/devlibs/libwebp-1.3.2/lib64/libsharpyuv.a"
(YMMV. "LIBRARY" usually isn't for lists at all.)
> I do not really understand the second part of your reply but I'm not
> using vcpkg; I'm trying to use cmake at the command line (and trying
> to build on both Windows and Linux).
>
> Maybe most people using libwebp just let cmake find it on their system
> somehow?
The second part is CMake code in a separate script which is injected
into the configuration process by using the CMAKE_PROJECT_INCLUDE
variable at the command line.
It really doesn't do more than finding webp's cmake config and making it
available in a way that GDAL can consume. I would be happy if GDAL would
just use the webp CMake config.
The pattern can be adapted to other packages. It also works for Kealib.
>
> My workaround, in case someone else is interested, is to do this
> -DWEBP_INCLUDE_DIR:PATH=/usr/local/devlibs/libwebp-1.3.2/include \
> -DWEBP_LIBRARY=/usr/local/devlibs/libwebp-1.3.2/lib64/libwebp.a \
> -DCMAKE_CXX_STANDARD_LIBRARIES=/usr/local/devlibs/libwebp-1.3.2/lib64/libsharpyuv.a \
> Now libsharpyuv is included in every link line which works but isn't
> quite right. (I have also hand-edited the generated link line but I
> was looking for a scriptable solution.)
Working on the vcpkg port is my approach to this scriptable solution.
Kai.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20240215/1ed36a65/attachment-0001.htm>
More information about the gdal-dev
mailing list