-cmake_minimum_required(VERSION 3.25.1)
+CMAKE_MINIMUM_REQUIRED(VERSION 3.25.1)
-set(CMAKE_C_COMPILER gcc CACHE STRING "compiler")
-if (NOT RUN_TESTS)
- set(CMAKE_C_FLAGS "-Wall -Werror" CACHE STRING "compiler flags")
-else()
- set(CMAKE_C_FLAGS "-fPIC \
+SET(CMAKE_C_COMPILER gcc CACHE STRING "compiler")
+IF (NOT RUN_TESTS)
+ SET(CMAKE_C_FLAGS "-Wall -Werror" CACHE STRING "compiler flags" FORCE)
+ELSE()
+ SET(CMAKE_C_FLAGS "-fPIC \
-fprofile-arcs \
-ftest-coverage \
-Wall \
-Xlinker \
--wrap=kds_s2000w_client_open_session \
-Xlinker \
---wrap=load_config" CACHE STRING "test coverage compiler flags")
-endif()
+--wrap=load_config" CACHE STRING "test coverage compiler flags" FORCE)
+ENDIF()
-message(STATUS "CMAKE_C_FLAGS " ${CMAKE_C_FLAGS})
+MESSAGE(STATUS "CMAKE_C_FLAGS " ${CMAKE_C_FLAGS})
-project("kds_s2000w_net" VERSION "0.0.1")
+PROJECT("kds_s2000w_net" VERSION "0.0.1")
-add_subdirectory(src)
+ADD_SUBDIRECTORY(src)
-option(RUN_TESTS "Enable tests" OFF)
+OPTION(RUN_TESTS "Enable tests" OFF)
-if(RUN_TESTS)
- add_subdirectory(tests)
-endif()
\ No newline at end of file
+IF(RUN_TESTS)
+ ADD_SUBDIRECTORY(tests)
+ENDIF()
\ No newline at end of file
-cmake_minimum_required(VERSION 3.25.1)
+CMAKE_MINIMUM_REQUIRED(VERSION 3.25.1)
-project("sane-kds-s2000w-net" VERSION "1.0.0")
+PROJECT("sane-kds-s2000w-net" VERSION "1.0.0")
-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(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})
-find_package(ImageMagick COMPONENTS MagickCore REQUIRED)
-message(STATUS "find ImageMagick: " ${ImageMagick_LIBRARIES})
+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(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})
+FIND_PACKAGE(ImageMagick COMPONENTS MagickCore REQUIRED)
+MESSAGE(STATUS "find ImageMagick: " ${ImageMagick_LIBRARIES})
-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})
+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(config.h.in config.h)
-add_library("sane-kds_s2000w_net"
+ADD_LIBRARY("sane-kds_s2000w_net"
SHARED
"config.h"
"kds_s2000w_net.c"
"kds_s2000w_image_converter.c"
"kds_s2000w_debug.c"
"kds_s2000w_config.c")
-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"
+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"
${MATH}
${CONFUSE}
${CURL_LIBRARY}
${ImageMagick_LIBRARIES}
json-c)
-install(TARGETS "sane-kds_s2000w_net"
+INSTALL(TARGETS "sane-kds_s2000w_net"
DESTINATION ${CMAKE_LIBRARY_PATH}/sane)
-if(NOT EXISTS ${CONFIG_FILE})
+IF(NOT EXISTS ${CONFIG_FILE})
install(FILES "kds_s2000w_net.conf"
DESTINATION ${CONFIG_INSTALL_PATH})
-endif()
+ENDIF()
-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}-1_${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 <hhaalo@arcor.de")
-set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
-set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
+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}-1_${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 <hhaalo@arcor.de")
+SET(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
+SET(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
SET(CPACK_DEBIAN_PACKAGE_SECTION "libs")
-set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "sane network backend for kodak alaris s2000w series")
+SET(CPACK_DEBIAN_PACKAGE_DESCRIPTION "sane network backend for kodak alaris s2000w series")
-include(CPack)
\ No newline at end of file
+INCLUDE(CPack)
\ No newline at end of file
-cmake_minimum_required(VERSION 3.25.1)
+CMAKE_MINIMUM_REQUIRED(VERSION 3.25.1)
-find_package(CMOCKA REQUIRED)
+FIND_PACKAGE(CMOCKA REQUIRED)
-message(STATUS "find ${CMOCKA_LIBRARY}")
+MESSAGE(STATUS "find ${CMOCKA_LIBRARY}")
-add_executable("kds_s2000w_net_read_tests_run"
+ADD_EXECUTABLE("kds_s2000w_net_read_tests_run"
"kds_s2000w_net_read_tests_run.c"
"kds_s2000w_net_read_tests.c")
-add_dependencies("kds_s2000w_net_read_tests_run" sane-kds_s2000w_net)
-target_link_libraries("kds_s2000w_net_read_tests_run"
+ADD_DEPENDENCIES("kds_s2000w_net_read_tests_run" sane-kds_s2000w_net)
+TARGET_LINK_LIBRARIES("kds_s2000w_net_read_tests_run"
${CMOCKA_LIBRARY}
sane-kds_s2000w_net)
-add_executable("kds_s2000w_net_tests_run"
+ADD_EXECUTABLE("kds_s2000w_net_tests_run"
"kds_s2000w_net_tests_run.c"
"kds_s2000w_net_tests.c")
-add_dependencies("kds_s2000w_net_tests_run" sane-kds_s2000w_net)
-target_link_libraries("kds_s2000w_net_tests_run"
+ADD_DEPENDENCIES("kds_s2000w_net_tests_run" sane-kds_s2000w_net)
+TARGET_LINK_LIBRARIES("kds_s2000w_net_tests_run"
${CMOCKA_LIBRARY}
sane-kds_s2000w_net)
-add_executable("kds_s2000w_read_config_tests_run"
+ ADD_EXECUTABLE("kds_s2000w_read_config_tests_run"
"kds_s2000w_read_config_tests_run.c"
"kds_s2000w_read_config_tests.c")
-add_dependencies("kds_s2000w_read_config_tests_run" sane-kds_s2000w_net)
-target_link_libraries("kds_s2000w_read_config_tests_run"
+ADD_DEPENDENCIES("kds_s2000w_read_config_tests_run" sane-kds_s2000w_net)
+TARGET_LINK_LIBRARIES("kds_s2000w_read_config_tests_run"
${CMOCKA_LIBRARY}
sane-kds_s2000w_net)
-add_custom_target("runningtests" ALL "./kds_s2000w_net_read_tests_run"
+ADD_CUSTOM_TARGET("runningtests" ALL "./kds_s2000w_net_read_tests_run"
COMMAND "./kds_s2000w_net_tests_run"
COMMAND "./kds_s2000w_read_config_tests_run"
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
"kds_s2000w_net_tests_run"
"kds_s2000w_net_read_tests_run")
-add_custom_target("generate_gcov_coverage"
+ADD_CUSTOM_TARGET("generate_gcov_coverage"
ALL gcov ${CMAKE_BINARY_DIR}/src/CMakeFiles/sane-kds_s2000w_net.dir/*.c.o
DEPENDS "runningtests")
-add_custom_target("generate_lcov_coverage"
+ADD_CUSTOM_TARGET("generate_lcov_coverage"
ALL lcov --capture --directory ${CMAKE_BINARY_DIR}/src/CMakeFiles/sane-kds_s2000w_net.dir --output-file ${CMAKE_BINARY_DIR}/coverage.info
DEPENDS "generate_gcov_coverage")
-add_custom_target("generate_html_coverage"
+ADD_CUSTOM_TARGET("generate_html_coverage"
ALL genhtml ${CMAKE_BINARY_DIR}/coverage.info --output-directory ${CMAKE_BINARY_DIR}/coverage
DEPENDS "generate_lcov_coverage")
\ No newline at end of file