summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorAlan Browning <browning@google.com>2018-06-01 12:36:13 -0700
committerJames Zern <jzern@google.com>2018-06-01 19:23:47 -0700
commit2a9de5b9d30b0e2874791d3e3b7adcc084f6bb58 (patch)
tree246a9f2a1ff2d38349a64f108478835e739aae90 /CMakeLists.txt
parent71ed73cf86132394ea25ae9c7ed431e0d71043f5 (diff)
downloadlibwebp-2a9de5b9d30b0e2874791d3e3b7adcc084f6bb58.tar.gz
Add build rules for anim_diff & anim_dump utils.
Change-Id: I2697a6dc3c419a19909262003a6d6a263d3c2747
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt32
1 files changed, 30 insertions, 2 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 89e0c31b..f85980cc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,6 +4,7 @@ project(WebP C)
# Options for coder / decoder executables.
option(WEBP_ENABLE_SIMD "Enable any SIMD optimization." ON)
+option(WEBP_BUILD_ANIM_UTILS "Build animation utilities." ON)
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)
@@ -231,8 +232,9 @@ foreach(I_FILE RANGE ${WEBP_SIMD_FILES_TO_INCLUDE_RANGE})
endforeach()
# Build the executables if asked for.
-if(WEBP_BUILD_CWEBP OR WEBP_BUILD_DWEBP OR WEBP_BUILD_GIF2WEBP OR
- WEBP_BUILD_IMG2WEBP OR WEBP_BUILD_VWEBP OR WEBP_BUILD_WEBP_JS)
+if(WEBP_BUILD_ANIM_UTILS OR WEBP_BUILD_CWEBP OR WEBP_BUILD_DWEBP OR
+ WEBP_BUILD_GIF2WEBP OR WEBP_BUILD_IMG2WEBP OR WEBP_BUILD_VWEBP OR
+ WEBP_BUILD_WEBP_JS)
# Example utility library.
parse_Makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/examples "EXAMPLEUTIL_SRCS"
"example_util_[^ ]*")
@@ -388,6 +390,32 @@ if(WEBP_BUILD_WEBP_JS)
target_compile_definitions(webpdspdecode PUBLIC EMSCRIPTEN)
endif()
+if(WEBP_BUILD_ANIM_UTILS AND NOT GIF_FOUND)
+ unset(WEBP_BUILD_ANIM_UTILS CACHE)
+endif()
+
+if(WEBP_BUILD_ANIM_UTILS)
+ # anim_diff
+ include_directories(${WEBP_DEP_IMG_INCLUDE_DIRS}
+ ${WEBP_DEP_GIF_INCLUDE_DIRS})
+ parse_Makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/examples "ANIM_DIFF_SRCS"
+ "anim_diff")
+ add_executable(anim_diff ${ANIM_DIFF_SRCS})
+ target_link_libraries(anim_diff exampleutil imagedec imageenc imageioutil
+ webp webpmux webpdemux ${WEBP_DEP_GIF_LIBRARIES})
+ target_include_directories(anim_diff PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src)
+
+ # anim_dump
+ include_directories(${WEBP_DEP_IMG_INCLUDE_DIRS}
+ ${WEBP_DEP_GIF_INCLUDE_DIRS})
+ parse_Makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/examples "ANIM_DUMP_SRCS"
+ "anim_dump")
+ add_executable(anim_dump ${ANIM_DUMP_SRCS})
+ target_link_libraries(anim_dump exampleutil imagedec imageenc imageioutil
+ webp webpmux webpdemux ${WEBP_DEP_GIF_LIBRARIES})
+ target_include_directories(anim_dump PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src)
+endif()
+
# Install the different headers and libraries.
include(GNUInstallDirs)
install(