From 2a9de5b9d30b0e2874791d3e3b7adcc084f6bb58 Mon Sep 17 00:00:00 2001 From: Alan Browning Date: Fri, 1 Jun 2018 12:36:13 -0700 Subject: [PATCH] Add build rules for anim_diff & anim_dump utils. Change-Id: I2697a6dc3c419a19909262003a6d6a263d3c2747 --- CMakeLists.txt | 32 ++++++++++++++++++++++++++++++-- 1 file 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(