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