cmake_minimum_required(VERSION 3.25.1)
-set(CMAKE_C_COMPILER gcc)
-message(STATUS "CMAKE_C_COMPILER: ${CMAKE_C_COMPILER}")
+set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "build type [Debug|Release]")
-set(CMAKE_BUILD_TYPE Release CACHE STRING "build type [Debug|Release]")
+project(sane-kds-s2000w-net)
+set(PROJECT_VERSION_MAJOR 1)
+set(PROJECT_VERSION_MINOR 1)
+set(PROJECT_VERSION_PATCH 32)
+set(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH})
+message(STATUS "PROJECT_VERSION ${PROJECT_VERSION}")
-project(kds-s2000w-net)
-
-if(CMAKE_BUILD_TYPE STREQUAL Release)
- set(CMAKE_C_FLAGS "-std=c99 -fPIC -s -Wall -Wextra -Wno-unused-parameter -Werror -pedantic"
+if(${CMAKE_BUILD_TYPE} STREQUAL Release)
+ set(CMAKE_C_FLAGS "-std=c99 -s -fPIC -Wall -Wextra -Wno-unused-parameter -Werror -pedantic"
CACHE STRING "release compiler flags" FORCE)
else()
- SET(CMAKE_C_FLAGS "-std=c99 -fPIC -Wall -Wextra -Wno-unused-parameter -pedantic -g"
+ SET(CMAKE_C_FLAGS "-std=c99 -g -fPIC -Wall -Wextra -Wno-unused-parameter -pedantic"
CACHE STRING "debug compiler flags" FORCE)
endif()
+option(RUN_TESTS "Enable tests" OFF)
+message(STATUS "RUN_TESTS: ${RUN_TESTS}")
+
unset(CONFIG_TEST_FILE)
if(RUN_TESTS)
set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "debug" FORCE)
message(STATUS "CMAKE_C_FLAGS: ${CMAKE_C_FLAGS}")
add_subdirectory(src)
-
-option(RUN_TESTS "Enable tests" OFF)
-message(STATUS "RUN_TESTS: ${RUN_TESTS}")
if(RUN_TESTS)
add_subdirectory(tests)
endif()
\ No newline at end of file
-cmake_minimum_required(VERSION 3.25.1)
-
-project(sane-kds-s2000w-net)
-
-set(PROJECT_VERSION_MAJOR 1)
-set(PROJECT_VERSION_MINOR 1)
-set(PROJECT_VERSION_PATCH 32)
-set(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH})
find_package(Git)
if(GIT_FOUND AND EXISTS ${CMAKE_SOURCE_DIR}/.git)
execute_process(COMMAND ${GIT_EXECUTABLE} branch --show-current
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE PROJECT_VERSION_TWEAK
OUTPUT_STRIP_TRAILING_WHITESPACE)
- if(NOT ${CMAKE_BUILD_TYPE} STREQUAL Release)
+ if(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
set(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}.${PROJECT_VERSION_TWEAK})
+ message(STATUS "Debug PROJECT_VERSION: ${PROJECT_VERSION}")
endif()
endif()
-message(STATUS "PROJECT_VERSION: ${PROJECT_VERSION}")
option(IMAGEMAGICK "without ImageMagick library" OFF)
message(STATUS "IMAGEMAGICK: ${IMAGEMAGICK}")
-cmake_minimum_required(VERSION 3.25.1)
-
find_package(CMOCKA REQUIRED)
-find_program(CPPCHECK cppcheck REQUIRED)
-find_program(LCOV lcov REQUIRED)
-
message(STATUS "find cmocka: ${CMOCKA_LIBRARY}")
-message(STATUS "find cppcheck: ${CPPCHECK}")
+find_program(LCOV lcov REQUIRED)
message(STATUS "find lcov: ${LCOV}")
+find_program(CPPCHECK cppcheck REQUIRED)
+message(STATUS "find cppcheck: ${CPPCHECK}")
execute_process(COMMAND bash -c "${CPPCHECK} --version | sed -z 's/Cppcheck \\(.*\\)\\n$/\\1/'"
OUTPUT_VARIABLE CPPCHECK_VERSION)
-
message(STATUS "CPPCHECK_VERSION: ${CPPCHECK_VERSION}")
file(COPY ${CMAKE_SOURCE_DIR}/src/kds_s2000w_net.conf
DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
-
add_executable(tests
tests.c
kds_s2000w_client_mock.c
target_link_libraries(tests
${CMOCKA_LIBRARY}
sane-kds_s2000w_net-static)
-
add_custom_target(runningtests
ALL ./tests
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
DEPENDS tests)
-
add_custom_command(TARGET runningtests
POST_BUILD
COMMAND gcov ${CMAKE_BINARY_DIR}/src/CMakeFiles/sane-kds_s2000w_net-static.dir/*.c.o