From: Bastian Dehn Date: Fri, 7 Nov 2025 15:20:08 +0000 (+0100) Subject: change cmake function lower case X-Git-Tag: v1.1.21^2~31 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=0fe4657cc0b365b07b83b08d2ee1ca7477e46c19;p=sane-kds-s2000w-net.git change cmake function lower case --- diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 629282b..dacdbd4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,169 +1,170 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 3.25.1) +cmake_minimum_required(VERSION 3.25.1) -PROJECT("sane-kds-s2000w-net") +project(sane-kds-s2000w-net) -SET(PROJECT_VERSION_MAJOR 1) -SET(PROJECT_VERSION_MINOR 1) -SET(PROJECT_VERSION_PATCH 20) -SET(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}) -FIND_PACKAGE(Git) -IF(GIT_FOUND) - EXECUTE_PROCESS(COMMAND ${GIT_EXECUTABLE} branch --show-current +set(PROJECT_VERSION_MAJOR 1) +set(PROJECT_VERSION_MINOR 1) +set(PROJECT_VERSION_PATCH 20) +set(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}) +find_package(Git) +if(GIT_FOUND) + execute_process(COMMAND ${GIT_EXECUTABLE} branch --show-current WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE CURRENT_BRANCH OUTPUT_STRIP_TRAILING_WHITESPACE) - EXECUTE_PROCESS(COMMAND ${GIT_EXECUTABLE} rev-list --count master..${CURRENT_BRANCH} + execute_process(COMMAND ${GIT_EXECUTABLE} rev-list --count master..${CURRENT_BRANCH} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE PROJECT_VERSION_TWEAK OUTPUT_STRIP_TRAILING_WHITESPACE) - IF(NOT "${CMAKE_BUILD_TYPE}" STREQUAL "Release") - SET(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}.${PROJECT_VERSION_TWEAK}) - ENDIF() -ENDIF() -MESSAGE(STATUS "PROJECT_VERSION: ${PROJECT_VERSION}") - -OPTION(IMAGEMAGICK "without ImageMagick library" OFF) -MESSAGE(STATUS "IMAGEMAGICK: ${IMAGEMAGICK}") - -FIND_LIBRARY(SANE NAMES sane REQUIRED ONLY_CMAKE_FIND_ROOT_PATH) -MESSAGE(STATUS "find sane: ${SANE}") -FIND_LIBRARY(MATH NAMES m REQUIRED) -MESSAGE(STATUS "find math: ${MATH}") -FIND_LIBRARY(PTHREAD NAMES pthread REQUIRED) -MESSAGE(STATUS "find pthread: ${PTHREAD}") -FIND_LIBRARY(CONFUSE NAMES confuse REQUIRED) -MESSAGE(STATUS "find confuse: ${CONFUSE}") -FIND_PACKAGE(CURL REQUIRED) -MESSAGE(STATUS "find curl: ${CURL_LIBRARY}") -FIND_PACKAGE(JSON-C REQUIRED) -MESSAGE(STATUS "find json-c: ${JSON\-C_DIR}") - -IF(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}") -ELSE() - FIND_LIBRARY(netpbm NAMES netpbm REQUIRED) - MESSAGE(STATUS "find netpbm: ${netpbm}") - FIND_PACKAGE(JPEG REQUIRED) - MESSAGE(STATUS "find jpeg: ${JPEG_LIBRARIES}") - FIND_PACKAGE(TIFF REQUIRED) - MESSAGE(STATUS "find tiff: ${TIFF_LIBRARIES}") -ENDIF() - -IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) - SET(CMAKE_INSTALL_PREFIX "/" CACHE PATH "install prefix" FORCE) -ENDIF() -MESSAGE(STATUS "CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}") -SET(CMAKE_LIBRARY_PATH "usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}" CACHE PATH "library path") -MESSAGE(STATUS "CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH}") -SET(CONFIG_INSTALL_PATH "etc/sane.d" CACHE PATH "config path") -MESSAGE(STATUS "CONFIG_INSTALL_PATH ${CONFIG_INSTALL_PATH}") -SET(CONFIG_FILE ${CMAKE_INSTALL_PREFIX}/${CONFIG_INSTALL_PATH}/kds_s2000w_net.conf) -MESSAGE(STATUS "CONFIG_FILE ${CONFIG_FILE}") - -CONFIGURE_FILE(config.h.in config.h) -CONFIGURE_FILE(debian/conffiles.in conffiles) - -SET(SOURCES - "config.h" - "kds_s2000w_net.c" - "kds_s2000w_option_descriptors.c" - "kds_s2000w_handler.c" - "kds_s2000w_handler_opts.c" - "kds_s2000w_client.c" - "kds_s2000w_debug.c" - "kds_s2000w_config.c" - "kds_s2000w_heartbeat.c" - "kds_s2000w_image_type_check.c" - "kds_s2000w_pixel_converter.c") - -IF(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" + if(NOT ${CMAKE_BUILD_TYPE} STREQUAL Release) + set(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}.${PROJECT_VERSION_TWEAK}) + endif() +endif() +message(STATUS "PROJECT_VERSION: ${PROJECT_VERSION}") + +option(IMAGEMAGICK "without ImageMagick library" OFF) +message(STATUS "IMAGEMAGICK: ${IMAGEMAGICK}") + +find_library(SANE NAMES sane REQUIRED ONLY_CMAKE_FIND_ROOT_PATH) +message(STATUS "find sane: ${SANE}") +find_library(MATH NAMES m REQUIRED) +message(STATUS "find math: ${MATH}") +find_library(PTHREAD NAMES pthread REQUIRED) +message(STATUS "find pthread: ${PTHREAD}") +find_library(CONFUSE NAMES confuse REQUIRED) +message(STATUS "find confuse: ${CONFUSE}") +find_package(CURL REQUIRED) +message(STATUS "find curl: ${CURL_LIBRARY}") +find_package(JSON-C REQUIRED) +message(STATUS "find json-c: ${JSON\-C_DIR}") + +if(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}") +else() + find_library(netpbm NAMES netpbm REQUIRED) + message(STATUS "find netpbm: ${netpbm}") + find_package(JPEG REQUIRED) + message(STATUS "find jpeg: ${JPEG_LIBRARIES}") + find_package(TIFF REQUIRED) + message(STATUS "find tiff: ${TIFF_LIBRARIES}") +endif() + +if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX / CACHE PATH "install prefix" FORCE) +endif() +message(STATUS "CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}") +set(CMAKE_LIBRARY_PATH usr/lib/${CMAKE_LIBRARY_ARCHITECTURE} CACHE PATH "library path") +message(STATUS "CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH}") +set(CONFIG_INSTALL_PATH etc/sane.d CACHE PATH "config path") +message(STATUS "CONFIG_INSTALL_PATH ${CONFIG_INSTALL_PATH}") +set(CONFIG_FILE ${CMAKE_INSTALL_PREFIX}/${CONFIG_INSTALL_PATH}/kds_s2000w_net.conf) +message(STATUS "CONFIG_FILE ${CONFIG_FILE}") + +configure_file(config.h.in config.h) +configure_file(debian/conffiles.in conffiles) + +set(SOURCES + config.h + kds_s2000w_net.c + kds_s2000w_option_descriptors.c + kds_s2000w_handler.c + kds_s2000w_handler_opts.c + kds_s2000w_client.c + kds_s2000w_debug.c + kds_s2000w_config.c + kds_s2000w_heartbeat.c + kds_s2000w_image_type_check.c + kds_s2000w_pixel_converter.c) + +if(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}) -TARGET_LINK_LIBRARIES("sane-kds_s2000w_net" +target_link_libraries(sane-kds_s2000w_net ${MATH} ${PTHREAD} ${CONFUSE} ${CURL_LIBRARY} json-c) -IF(IMAGEMAGICK) - TARGET_INCLUDE_DIRECTORIES("sane-kds_s2000w_net" +if(IMAGEMAGICK) + target_include_directories(sane-kds_s2000w_net PRIVATE ${ImageMagick_INCLUDE_DIRS}) - TARGET_LINK_LIBRARIES("sane-kds_s2000w_net" + target_link_libraries(sane-kds_s2000w_net ${ImageMagick_LIBRARIES}) -ELSE() - TARGET_LINK_LIBRARIES("sane-kds_s2000w_net" +else() + target_link_libraries(sane-kds_s2000w_net ${netpbm} ${JPEG_LIBRARIES} ${TIFF_LIBRARIES}) -ENDIF() +endif() -ADD_LIBRARY("sane-kds_s2000w_net-static" +add_library(sane-kds_s2000w_net-static STATIC ${SOURCES} ${CMAKE_CURRENT_BINARY_DIR}/config.h) -SET_TARGET_PROPERTIES("sane-kds_s2000w_net-static" PROPERTIES OUTPUT_NAME "sane-kds_s2000w_net") -TARGET_INCLUDE_DIRECTORIES("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}) -TARGET_LINK_LIBRARIES("sane-kds_s2000w_net-static" +target_link_libraries(sane-kds_s2000w_net-static ${MATH} ${PTHREAD} ${CONFUSE} ${CURL_LIBRARY} json-c) -IF(IMAGEMAGICK) - TARGET_INCLUDE_DIRECTORIES("sane-kds_s2000w_net-static" +if(IMAGEMAGICK) + target_include_directories(sane-kds_s2000w_net-static PRIVATE ${ImageMagick_INCLUDE_DIRS}) - TARGET_LINK_LIBRARIES("sane-kds_s2000w_net-static" + target_link_libraries(sane-kds_s2000w_net-static ${ImageMagick_LIBRARIES}) -ELSE() - TARGET_LINK_LIBRARIES("sane-kds_s2000w_net-static" +else() + target_link_libraries(sane-kds_s2000w_net-static ${netpbm} ${JPEG_LIBRARIES} ${TIFF_LIBRARIES}) -ENDIF() +endif() -INSTALL(TARGETS "sane-kds_s2000w_net" "sane-kds_s2000w_net-static" +install(TARGETS sane-kds_s2000w_net sane-kds_s2000w_net-static DESTINATION ${CMAKE_LIBRARY_PATH}/sane) -install(FILES "kds_s2000w_net.conf" +install(FILES kds_s2000w_net.conf DESTINATION ${CONFIG_INSTALL_PATH}) -SET(CPACK_GENERATOR "DEB") -SET(CPACK_PACKAGE_VERSION ${PROJECT_VERSION}) -SET(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) -SET(CPACK_DEBIAN_PACKAGE_NAME ${PROJECT_NAME}) -SET(CPACK_DEBIAN_ARCHITECTURE ${CMAKE_HOST_SYSTEM_PROCESSOR}) -SET(CPACK_DEBIAN_FILE_NAME ${PROJECT_NAME}_${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}-1${EXTRA_VERSION}_${CMAKE_HOST_SYSTEM_PROCESSOR}.deb) -SET(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) -SET(CPACK_DEBIAN_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION}) -SET(CPACK_DEBIAN_PACKAGE_RELEASE "1") -SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "Bastian Dehn ") +set(CPACK_DEBIAN_PACKAGE_PRIORITY optional) +set(CPACK_DEBIAN_PACKAGE_SECTION graphics) +set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "sane network backend for kodak alaris s2000w series") set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA ${CMAKE_CURRENT_BINARY_DIR}/conffiles; ${CMAKE_CURRENT_SOURCE_DIR}/debian/postinst; ${CMAKE_CURRENT_SOURCE_DIR}/debian/postrm) -INCLUDE(CPack) +include(CPack)