Why is the patch marked inappropriate? Please send upstream first, and only after upstream has expressed their approval/disaporoval/request for changes we can take some form of it in oe-core. Maybe they would simply want to turn these into hard dependencies instead of adding even more options.
Until then, NAK. Alex On Tue 9. Jan 2024 at 18.10, Markus Volk <[email protected]> wrote: > Besides the improvements that cmake offers compared to autotools, > the advantage would be that cmake config files get created. > This is useful so that other projects can find webp using cmake. > > Remove EXTRA_OECONF settings because all of them are set like this > by default. > > CMakeLists.txt doesn't provide an option for selecting neon but from > what I have tested it gets selected properly. > > Add a patch that hides more dependencies behind options to avoid > floating dependencies. > > Signed-off-by: Markus Volk <[email protected]> > --- > .../webp/libwebp/0001-cmake-add-options.patch | 120 ++++++++++++++++++ > meta/recipes-multimedia/webp/libwebp_1.3.2.bb | 40 ++---- > 2 files changed, 133 insertions(+), 27 deletions(-) > create mode 100644 > meta/recipes-multimedia/webp/libwebp/0001-cmake-add-options.patch > > diff --git > a/meta/recipes-multimedia/webp/libwebp/0001-cmake-add-options.patch > b/meta/recipes-multimedia/webp/libwebp/0001-cmake-add-options.patch > new file mode 100644 > index 0000000000..0a3e781097 > --- /dev/null > +++ b/meta/recipes-multimedia/webp/libwebp/0001-cmake-add-options.patch > @@ -0,0 +1,120 @@ > +From d126cdbe38cda7a4ab512738b2755942da33e43c Mon Sep 17 00:00:00 2001 > +From: Markus Volk <[email protected]> > +Date: Tue, 9 Jan 2024 16:31:08 +0100 > +Subject: [PATCH] cmake: add more options > + > +By doing this gif,jpeg,png,tiff,opengl and sdl can be disabled to avoid > floating dependencies. > + > +Upstream-Status: Inappropriate > + > +Signed-off-by: Markus Volk <[email protected]> > +--- > + CMakeLists.txt | 28 ++++++++++++++++++---------- > + cmake/deps.cmake | 24 +++++++++++++++--------- > + 2 files changed, 33 insertions(+), 19 deletions(-) > + > +diff --git a/CMakeLists.txt b/CMakeLists.txt > +index ad5e14c3..c3b24f99 100644 > +--- a/CMakeLists.txt > ++++ b/CMakeLists.txt > +@@ -35,6 +35,12 @@ endif() > + option(WEBP_ENABLE_SIMD "Enable any SIMD optimization." > + ${WEBP_ENABLE_SIMD_DEFAULT}) > + option(WEBP_BUILD_ANIM_UTILS "Build animation utilities." ON) > ++option(WEBP_BUILD_GIF "Build gif support." OFF) > ++option(WEBP_BUILD_TIFF "Build tiff support." OFF) > ++option(WEBP_BUILD_PNG "Build png support." OFF) > ++option(WEBP_BUILD_JPEG "Build jpeg support." OFF) > ++option(WEBP_BUILD_OPENGL "Build opengl support." OFF) > ++option(WEBP_BUILD_SDL "Build sdl support." OFF) > + option(WEBP_BUILD_CWEBP "Build the cwebp command line tool." ON) > + option(WEBP_BUILD_DWEBP "Build the dwebp command line tool." ON) > + option(WEBP_BUILD_GIF2WEBP "Build the gif2webp conversion tool." ON) > +@@ -562,7 +568,7 @@ if(WEBP_BUILD_IMG2WEBP) > + install(TARGETS img2webp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) > + endif() > + > +-if(WEBP_BUILD_VWEBP) > ++if(WEBP_BUILD_VWEBP AND WEBP_BUILD_OPENGL) > + # vwebp > + find_package(GLUT) > + if(GLUT_FOUND) > +@@ -638,15 +644,17 @@ if(WEBP_BUILD_EXTRAS) > + > ${CMAKE_CURRENT_BINARY_DIR}) > + > + # vwebp_sdl > +- find_package(SDL) > +- if(WEBP_BUILD_VWEBP AND SDL_FOUND) > +- add_executable(vwebp_sdl ${VWEBP_SDL_SRCS}) > +- target_link_libraries(vwebp_sdl ${SDL_LIBRARY} imageioutil webp) > +- target_include_directories( > +- vwebp_sdl PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} > ${CMAKE_CURRENT_BINARY_DIR} > +- ${CMAKE_CURRENT_BINARY_DIR}/src > ${SDL_INCLUDE_DIR}) > +- set(WEBP_HAVE_SDL 1) > +- target_compile_definitions(vwebp_sdl PUBLIC WEBP_HAVE_SDL) > ++ if(WEBP_BUILD_SDL) > ++ find_package(SDL) > ++ if(WEBP_BUILD_VWEBP AND SDL_FOUND) > ++ add_executable(vwebp_sdl ${VWEBP_SDL_SRCS}) > ++ target_link_libraries(vwebp_sdl ${SDL_LIBRARY} imageioutil webp) > ++ target_include_directories( > ++ vwebp_sdl PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} > ${CMAKE_CURRENT_BINARY_DIR} > ++ ${CMAKE_CURRENT_BINARY_DIR}/src > ${SDL_INCLUDE_DIR}) > ++ set(WEBP_HAVE_SDL 1) > ++ target_compile_definitions(vwebp_sdl PUBLIC WEBP_HAVE_SDL) > ++ endif() > + endif() > + endif() > + > +diff --git a/cmake/deps.cmake b/cmake/deps.cmake > +index 0760ba92..cc978256 100644 > +--- a/cmake/deps.cmake > ++++ b/cmake/deps.cmake > +@@ -52,8 +52,10 @@ endif() > + set(LT_OBJDIR ".libs/") > + > + # Only useful for vwebp, so useless for now. > +-find_package(OpenGL) > +-set(WEBP_HAVE_GL ${OPENGL_FOUND}) > ++if(WEBP_BUILD_OPENGL) > ++ find_package(OpenGL) > ++ set(WEBP_HAVE_GL ${OPENGL_FOUND}) > ++endif() > + > + # Check if we need to link to the C math library. We do not look for it > as it is > + # not found when cross-compiling, while it is here. > +@@ -81,8 +83,10 @@ if(WEBP_FIND_IMG_LIBS) > + message(STATUS "TIFF is disabled when statically linking.") > + continue() > + endif() > +- find_package(${I_LIB}) > +- set(WEBP_HAVE_${I_LIB} ${${I_LIB}_FOUND}) > ++ if(WEBP_BUILD_${I_LIB}) > ++ find_package(${I_LIB}) > ++ set(WEBP_HAVE_${I_LIB} ${${I_LIB}_FOUND}) > ++ endif() > + if(${I_LIB}_FOUND) > + list(APPEND WEBP_DEP_IMG_LIBRARIES ${${I_LIB}_LIBRARIES}) > + list(APPEND WEBP_DEP_IMG_INCLUDE_DIRS ${${I_LIB}_INCLUDE_DIR} > +@@ -94,11 +98,13 @@ if(WEBP_FIND_IMG_LIBS) > + endif() > + > + # GIF detection, gifdec isn't part of the imageio lib. > +- include(CMakePushCheckState) > +- set(WEBP_DEP_GIF_LIBRARIES) > +- set(WEBP_DEP_GIF_INCLUDE_DIRS) > +- find_package(GIF) > +- set(WEBP_HAVE_GIF ${GIF_FOUND}) > ++ if(WEBP_BUILD_GIF) > ++ include(CMakePushCheckState) > ++ set(WEBP_DEP_GIF_LIBRARIES) > ++ set(WEBP_DEP_GIF_INCLUDE_DIRS) > ++ find_package(GIF) > ++ set(WEBP_HAVE_GIF ${GIF_FOUND}) > ++ endif() > + if(GIF_FOUND) > + # GIF find_package only locates the header and library, it doesn't > fail > + # compile tests when detecting the version, but falls back to 3 (as > of at > +-- > +2.43.0 > + > diff --git a/meta/recipes-multimedia/webp/libwebp_1.3.2.bb > b/meta/recipes-multimedia/webp/libwebp_1.3.2.bb > index 63b0fd9a6c..13fe337660 100644 > --- a/meta/recipes-multimedia/webp/libwebp_1.3.2.bb > +++ b/meta/recipes-multimedia/webp/libwebp_1.3.2.bb > @@ -13,45 +13,31 @@ LICENSE = "BSD-3-Clause" > LIC_FILES_CHKSUM = "file://COPYING;md5=6e8dee932c26f2dab503abf70c96d8bb \ > file://PATENTS;md5=c6926d0cb07d296f886ab6e0cc5a85b7" > > -SRC_URI = "http://downloads.webmproject.org/releases/webp/${BP}.tar.gz" > +SRC_URI = " \ > + http://downloads.webmproject.org/releases/webp/${BP}.tar.gz \ > + file://0001-cmake-add-options.patch \ > +" > SRC_URI[sha256sum] = > "2a499607df669e40258e53d0ade8035ba4ec0175244869d1025d460562aa09b4" > > UPSTREAM_CHECK_URI = " > http://downloads.webmproject.org/releases/webp/index.html" > > -EXTRA_OECONF = " \ > - --disable-wic \ > - --enable-libwebpmux \ > - --enable-libwebpdemux \ > - --enable-threading \ > -" > - > -# Do not trust configure to determine if neon is available. > -# > -EXTRA_OECONF_ARM = " \ > - > ${@bb.utils.contains("TUNE_FEATURES","neon","--enable-neon","--disable-neon",d)} > \ > -" > -EXTRA_OECONF:append:arm = " ${EXTRA_OECONF_ARM}" > -EXTRA_OECONF:append:armeb = " ${EXTRA_OECONF_ARM}" > +EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON" > > -inherit autotools lib_package > - > -PACKAGECONFIG ??= "" > - > -# libwebpdecoder is a subset of libwebp, don't build it unless requested > -PACKAGECONFIG[decoder] = > "--enable-libwebpdecoder,--disable-libwebpdecoder" > +inherit cmake lib_package > > +PACKAGECONFIG ?= "" > # Apply for examples programs: cwebp and dwebp > -PACKAGECONFIG[gif] = "--enable-gif,--disable-gif,giflib" > -PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg" > -PACKAGECONFIG[png] = "--enable-png,--disable-png,,libpng" > -PACKAGECONFIG[tiff] = "--enable-tiff,--disable-tiff,tiff" > - > +PACKAGECONFIG[gif] = "-DWEBP_BUILD_GIF=ON,-DWEBP_BUILD_GIF=OFF,giflib" > +PACKAGECONFIG[jpeg] = "-DWEBP_BUILD_JPEG=ON,-DWEBP_BUILD_JPEG=OFF,jpeg" > +PACKAGECONFIG[png] = "-DWEBP_BUILD_PNG=ON,-DWEBP_BUILD_PNG=OFF,libpng" > +PACKAGECONFIG[tiff] = "-DWEBP_BUILD_TIFF=ON,-DWEBP_BUILD_TIFF=OFF,tiff" > # Apply only for example program vwebp > -PACKAGECONFIG[gl] = "--enable-gl,--disable-gl,mesa-glut" > +PACKAGECONFIG[opengl] = > "-DWEBP_BUILD_OPENGL=ON,-DWEBP_BUILD_OPENGL=OFF,mesa-glut" > > PACKAGES =+ "${PN}-gif2webp" > > DESCRIPTION:${PN}-gif2webp = "Simple tool to convert animated GIFs to > WebP" > FILES:${PN}-gif2webp = "${bindir}/gif2webp" > > +FILES:${PN} += "${datadir}" > BBCLASSEXTEND += "native nativesdk" > -- > 2.43.0 > > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#193473): https://lists.openembedded.org/g/openembedded-core/message/193473 Mute This Topic: https://lists.openembedded.org/mt/103623686/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
