From 008f42a37d3496e235fb8b0bb2505e6c5fc84508 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Sat, 25 Jan 2025 20:09:03 +0100 Subject: [PATCH] add option without image magick --- src/CMakeLists.txt | 54 +++++++++++++------ ....c => kds_s2000w_image_converter_magick.c} | 0 src/kds_s2000w_image_converter_netpbm.c | 16 ++++++ 3 files changed, 54 insertions(+), 16 deletions(-) rename src/{kds_s2000w_image_converter.c => kds_s2000w_image_converter_magick.c} (100%) create mode 100644 src/kds_s2000w_image_converter_netpbm.c diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 3924421..7b5c2fc 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -2,6 +2,9 @@ CMAKE_MINIMUM_REQUIRED(VERSION 3.25.1) PROJECT("sane-kds-s2000w-net" VERSION "1.0.28") +OPTION(WITHOUT_IMAGEMAGICK "without ImageMagick library" OFF) +MESSAGE(STATUS "WITHOUT_IMAGEMAGICK: " ${WITHOUT_IMAGEMAGICK}) + FIND_PACKAGE(Git) IF(GIT_FOUND) EXECUTE_PROCESS(COMMAND ${GIT_EXECUTABLE} branch --show-current @@ -32,16 +35,18 @@ MESSAGE(STATUS "find curl: " ${CURL_LIBRARY}) FIND_PACKAGE(JSON-C REQUIRED) MESSAGE(STATUS "find json-c: " ${JSON\-C_DIR}) -FIND_PACKAGE(ImageMagick COMPONENTS MagickCore REQUIRED) -MESSAGE(STATUS "find ImageMagick: " ${ImageMagick_LIBRARIES}) -MESSAGE(STATUS "ImageMagick_VERSION_STRING: " ${ImageMagick_VERSION_STRING}) -STRING(SUBSTRING ${ImageMagick_VERSION_STRING} 0 1 IMAGE_MAGICK_MAJOR) -MESSAGE(STATUS "define IMAGE_MAGICK_MAJOR: " ${IMAGE_MAGICK_MAJOR}) -ADD_COMPILE_DEFINITIONS(IMAGE_MAGICK_MAJOR=${IMAGE_MAGICK_MAJOR}) -IF(${IMAGE_MAGICK_MAJOR} EQUAL 7) - LIST(APPEND ImageMagick_INCLUDE_DIRS "/usr/include/x86_64-linux-gnu/ImageMagick-7") +IF(NOT WITHOUT_IMAGEMAGICK) + FIND_PACKAGE(ImageMagick COMPONENTS MagickCore REQUIRED) + MESSAGE(STATUS "find ImageMagick: " ${ImageMagick_LIBRARIES}) + MESSAGE(STATUS "ImageMagick_VERSION_STRING: " ${ImageMagick_VERSION_STRING}) + STRING(SUBSTRING ${ImageMagick_VERSION_STRING} 0 1 IMAGE_MAGICK_MAJOR) + MESSAGE(STATUS "define IMAGE_MAGICK_MAJOR: " ${IMAGE_MAGICK_MAJOR}) + ADD_COMPILE_DEFINITIONS(IMAGE_MAGICK_MAJOR=${IMAGE_MAGICK_MAJOR}) + IF(${IMAGE_MAGICK_MAJOR} EQUAL 7) + LIST(APPEND ImageMagick_INCLUDE_DIRS "/usr/include/x86_64-linux-gnu/ImageMagick-7") + ENDIF() + MESSAGE(STATUS "ImageMagick_INCLUDE_DIRS: " ${ImageMagick_INCLUDE_DIRS}) ENDIF() -MESSAGE(STATUS "ImageMagick_INCLUDE_DIRS: " ${ImageMagick_INCLUDE_DIRS}) IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) SET(CMAKE_INSTALL_PREFIX "/" CACHE PATH "install prefix" FORCE) @@ -64,25 +69,36 @@ SET(SOURCES "kds_s2000w_handler.c" "kds_s2000w_handler_opts.c" "kds_s2000w_client.c" - "kds_s2000w_image_converter.c" "kds_s2000w_debug.c" "kds_s2000w_config.c" "kds_s2000w_heartbeat.c") +IF(NOT WITHOUT_IMAGEMAGICK) + LIST(APPEND SOURCES "kds_s2000w_image_converter_magick.c") +ELSE() + LIST(APPEND SOURCES "kds_s2000w_image_converter_netpbm.c") +ENDIF() + ADD_LIBRARY("sane-kds_s2000w_net" SHARED ${SOURCES}) SET_TARGET_PROPERTIES("sane-kds_s2000w_net" PROPERTIES VERSION 1) TARGET_INCLUDE_DIRECTORIES("sane-kds_s2000w_net" PRIVATE - ${CMAKE_CURRENT_BINARY_DIR} - ${ImageMagick_INCLUDE_DIRS}) + ${CMAKE_CURRENT_BINARY_DIR}) TARGET_LINK_LIBRARIES("sane-kds_s2000w_net" ${MATH} ${PTHREAD} ${CONFUSE} ${CURL_LIBRARY} - ${ImageMagick_LIBRARIES} json-c) +IF(NOT WITHOUT_IMAGEMAGICK) + TARGET_INCLUDE_DIRECTORIES("sane-kds_s2000w_net" + PRIVATE + ${ImageMagick_INCLUDE_DIRS}) + TARGET_LINK_LIBRARIES("sane-kds_s2000w_net" + ${ImageMagick_LIBRARIES}) +ENDIF() + ADD_LIBRARY("sane-kds_s2000w_net-static" STATIC ${SOURCES} @@ -90,16 +106,22 @@ ADD_LIBRARY("sane-kds_s2000w_net-static" SET_TARGET_PROPERTIES("sane-kds_s2000w_net-static" PROPERTIES OUTPUT_NAME "sane-kds_s2000w_net") TARGET_INCLUDE_DIRECTORIES("sane-kds_s2000w_net-static" PRIVATE - ${CMAKE_CURRENT_BINARY_DIR} - ${ImageMagick_INCLUDE_DIRS}) + ${CMAKE_CURRENT_BINARY_DIR}) TARGET_LINK_LIBRARIES("sane-kds_s2000w_net-static" ${MATH} ${PTHREAD} ${CONFUSE} ${CURL_LIBRARY} - ${ImageMagick_LIBRARIES} json-c) +IF(NOT WITHOUT_IMAGEMAGICK) + TARGET_INCLUDE_DIRECTORIES("sane-kds_s2000w_net-static" + PRIVATE + ${ImageMagick_INCLUDE_DIRS}) + TARGET_LINK_LIBRARIES("sane-kds_s2000w_net-static" + ${ImageMagick_LIBRARIES}) +ENDIF() + INSTALL(TARGETS "sane-kds_s2000w_net" "sane-kds_s2000w_net-static" DESTINATION ${CMAKE_LIBRARY_PATH}/sane) install(FILES "kds_s2000w_net.conf" diff --git a/src/kds_s2000w_image_converter.c b/src/kds_s2000w_image_converter_magick.c similarity index 100% rename from src/kds_s2000w_image_converter.c rename to src/kds_s2000w_image_converter_magick.c diff --git a/src/kds_s2000w_image_converter_netpbm.c b/src/kds_s2000w_image_converter_netpbm.c new file mode 100644 index 0000000..9ce1bbd --- /dev/null +++ b/src/kds_s2000w_image_converter_netpbm.c @@ -0,0 +1,16 @@ +#include "kds_s2000w_image_converter.h" + +void kds_s2000w_image_converter_metadata_from_jpg(blobdata* image, image_metadata* mdata) +{ + return; +} + +void kds_s2000w_image_converter_jpg_to_pnm(blobdata* in, blobdata* out, int depth) +{ + return; +} + +void kds_s2000w_image_converter_tiff_to_pnm(blobdata* in, blobdata* out) +{ + return; +} -- 2.39.5