add cmake options to perfer system libs to libwebp
Some checks failed
ContinuousDelivery / linux-ubuntu (push) Has been cancelled
ContinuousDelivery / android (map[ndk_abi:arm64-v8a vcpkg_toolkit:arm64-android-23]) (push) Has been cancelled
ContinuousDelivery / android (map[ndk_abi:armeabi-v7a vcpkg_toolkit:arm-neon-android-23]) (push) Has been cancelled
ContinuousDelivery / android (map[ndk_abi:x86_64 vcpkg_toolkit:x64-android-23]) (push) Has been cancelled
ContinuousDelivery / windows (push) Has been cancelled
ContinuousDelivery / windows-asan (push) Has been cancelled
ContinuousDelivery / dumpsyms (push) Has been cancelled
ContinuousDelivery / release (push) Has been cancelled
ContinuousIntegration / linux (push) Has been cancelled
ContinuousIntegration / android (map[ndk_abi:arm64-v8a vcpkg_toolkit:arm64-android-23]) (push) Has been cancelled
ContinuousIntegration / android (map[ndk_abi:armeabi-v7a vcpkg_toolkit:arm-neon-android-23]) (push) Has been cancelled
ContinuousIntegration / android (map[ndk_abi:x86_64 vcpkg_toolkit:x64-android-23]) (push) Has been cancelled
ContinuousIntegration / macos (push) Has been cancelled
ContinuousIntegration / windows (push) Has been cancelled

This commit is contained in:
Green Sky
2025-04-06 20:15:56 +02:00
parent ace5ea9bf0
commit 2b992ade88
6 changed files with 45 additions and 12 deletions

View File

@ -1,8 +1,36 @@
cmake_minimum_required(VERSION 3.14...3.24 FATAL_ERROR)
cmake_minimum_required(VERSION 3.16...3.24 FATAL_ERROR)
include(FetchContent)
if (NOT TARGET libwebp)
option(TOMATO_DEP_LIBWEBP_USE_SYSTEM "Prefer system provided libwebp" OFF)
if (TOMATO_DEP_LIBWEBP_USE_SYSTEM)
if (NOT TARGET WebP::libwebpmux)
find_package(WebP CONFIG GLOBAL QUIET COMPONENTS webp webpdemux libwebpmux)
endif()
#if (NOT TARGET libwebp)
# find_package(WebP GLOBAL)
#endif()
if (TARGET WebP::webp)
message(STATUS "found WebP::webp")
endif()
if (TARGET WebP::webpdemux)
message(STATUS "found WebP::webpdemux")
endif()
if (TARGET WebP::libwebpmux)
message(STATUS "found WebP::libwebpmux")
endif()
if (TARGET WebP::libwebpmux)
message(STATUS "found system libwebp")
else()
message(STATUS "system libwebp not found")
endif()
endif()
if (NOT TARGET WebP::libwebpmux)
set(WEBP_LINK_STATIC ON CACHE BOOL "" FORCE)
set(WEBP_BUILD_ANIM_UTILS OFF CACHE BOOL "" FORCE)
set(WEBP_BUILD_CWEBP OFF CACHE BOOL "" FORCE)
@ -19,11 +47,13 @@ if (NOT TARGET libwebp)
FetchContent_Declare(libwebp
GIT_REPOSITORY https://github.com/webmproject/libwebp
GIT_TAG v1.4.0
GIT_TAG v1.5.0
FIND_PACKAGE_ARGS
)
FetchContent_MakeAvailable(libwebp)
add_library(WebP::webp ALIAS webp)
add_library(WebP::webpdemux ALIAS webpdemux)
add_library(WebP::libwebpmux ALIAS libwebpmux)
endif()
#add_subdirectory(./libwebp EXCLUDE_FROM_ALL)