summarylogtreecommitdiffstats
path: root/shared-libwebp.patch
blob: bdeb0d032c5b761a04459e62bc7bfd5f190b71bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
From ca9e20a87be6dcc8d9b97841535b2320d2eb2f91 Mon Sep 17 00:00:00 2001
From: Drauthius <albert@diserholt.com>
Date: Sat, 26 Sep 2020 10:40:13 +0200
Subject: [PATCH] Shared webp library

Making optional linking with shared system webp library with
-DUSE_SHARED_WEBP option.
---
 CMakeLists.txt             | 12 +++++++++---
 third_party/CMakeLists.txt |  2 +-
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index af077f6..fed17ff 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -58,6 +58,7 @@ option(USE_SHARED_TINYXML "Use your installed copy of tinyxml" off)
 option(USE_SHARED_PIXMAN  "Use your installed copy of pixman" off)
 option(USE_SHARED_FREETYPE "Use shared FreeType library" off)
 option(USE_SHARED_HARFBUZZ "Use shared HarfBuzz library" off)
+option(USE_SHARED_WEBP    "Use your installed copy of webp" off)
 option(ENABLE_ASEPRITE_EXE "Compile main Aseprite executable" on)
 option(ENABLE_MEMLEAK      "Enable memory-leaks detector (only for developers)" off)
 option(ENABLE_NEWS         "Enable the news in Home tab" on)
@@ -328,14 +351,17 @@ add_subdirectory(laf)
 # libwebp
 if(ENABLE_WEBP)
   # Use libwebp from Skia
-  if(LAF_BACKEND STREQUAL "skia")
+  if(USE_SHARED_WEBP)
+    find_library(WEBP_LIBRARY NAMES webp)
+    find_library(WEBPDEMUX_LIBRARY NAMES webpdemux)
+    find_library(WEBPMUX_LIBRARY NAMES webpmux)
+    set(WEBP_LIBRARIES ${WEBP_LIBRARY} ${WEBPDEMUX_LIBRARY} ${WEBPMUX_LIBRARY})
+    find_path(WEBP_INCLUDE_DIRS NAMES decode.h PATH_SUFFIXES webp)
+  else()
     find_library(WEBP_LIBRARIES webp
       NAMES libwebp # required for Windows
       PATHS "${SKIA_LIBRARY_DIR}" NO_DEFAULT_PATH)
     set(WEBP_INCLUDE_DIR "${SKIA_DIR}/third_party/externals/libwebp/src")
-  else()
-    set(WEBP_LIBRARIES webp webpdemux libwebpmux)
-    set(WEBP_INCLUDE_DIR ${LIBWEBP_DIR}/src)
   endif()
   include_directories(${WEBP_INCLUDE_DIR})
 endif()
diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt
index 4839d4097c..e8c3e83cbc 100644
--- a/third_party/CMakeLists.txt
+++ b/third_party/CMakeLists.txt
@@ -32,7 +32,7 @@ if(NOT USE_SHARED_GIFLIB)
   add_subdirectory(giflib)
 endif()
 
-if(ENABLE_WEBP AND NOT LAF_BACKEND STREQUAL "skia")
+if(ENABLE_WEBP AND NOT LAF_BACKEND STREQUAL "skia" AND NOT USE_SHARED_WEBP)
   set(WEBP_BUILD_EXTRAS OFF CACHE BOOL "Build extras.")
   add_subdirectory(libwebp)
 endif()